prometheus监控redis,redis-cluster
Prometheus监控redis使用的是redis_exporter, 作者GitHub: https://github.com/oliver006/redis_exporter
需要说明的是: redis_exporter 对于redis集群的监控表现不是太好, 作者建议为每个redis 实例启动一个 redis_exporter, 如果一个服务器节点启动了多个redis进程, 就需要启动多个 redis_exporter
如果采用一个redis_exporter 采集多个 redis node 会导致其中一个 redis node 连不上.
1. redis_exporter安装配置
# 下载redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.3.4/redis_exporter-v1.3.4.linux-amd64.tar.gz
# 解压
tar xzf redis_exporter-v1.3.4.linux-amd64.tar.gz
# 删除下载的文件
rm -f redis_exporter-v1.3.4.linux-amd64.tar.gz
# 安装redis_exporter
mv redis_exporter-v1.3.4.linux-amd64 /usr/local/
ln -sv /usr/local/redis_exporter-v1.3.4.linux-amd64 /usr/local/redis_exporter
2. redis_exporter启动
# 直接启动。
## 无密码
./redis_exporter redis//192.168.11.110:6379 &
## 有密码
redis_exporter -redis.addr 192.168.11.111: -redis.password
启动参数说明:
- -redis.addr:指明 Redis 节点的地址,默认为 redis://localhost:6379(如果有多个redis实例, redis_exporter作者建议启动多个redis_exporter进程来进行监控数据获取)
- -redis.password:验证 Redis 时使用的密码;
- -redis.file:包含一个或多个redis 节点的文件路径,每行一个节点,此选项与 -redis.addr 互斥。
- -web.listen-address:监听的地址和端口,默认为 0.0.0.0:9121
3. 配置redis_exporter为系统服务方式启动
# 添加redis_exporter启动用户
groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
# 创建redis_exporter系统服务配置文件及权限调整
touch /usr/lib/systemd/system/redis_exporter.service
chown prometheus:prometheus /usr/lib/systemd/system/redis_exporter.service
chown -R prometheus:prometheus /usr/local/redis_exporter*
vim /usr/lib/systemd/system/redis_exporter.service # 将如下内容写入到redis_exporter.service文件中
[Unit]
Description=redis_exporter
Documentation=https://github.com/oliver006/redis_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.11.110:6 -redis.password 0NZcyqRqLUteci7D
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后执行如下命令:
# 重载配置
systemctl daemon-reload
# 设置开机启动
systemctl enable redis_exporter
启动redis_exporter
systemctl start redis_exporter
# 查看redis_exporter启动状态
systemctl status redis_exporter
ss -tnl|grep
netstat -tlnp |grep redis_exporte
tcp6 ::: :::* LISTEN /redis_exporte
至此, redis服务器端的redis_exporter已安装配置完成, 接下来配置Prometheus server, 将redis_exporter采集到的数据获取过来, 然后配置到Grafana中展示
4. 配置Prometheus server
4.1 加入redis_exporter配置
vim /usr/local/prometheus/prometheus.yml
将如下内容加入到Prometheus配置文件中
- job_name: 'PRO_REDIS_CULSTER'
static_configs:
- targets:
- redis://192.168.11.110:6379
metrics_path: /scrape
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.11.110:
## config for scraping the exporter itself
- job_name: 'redis_exporter'
static_configs:
- targets:
- 192.168.11.110:
或者添加如下配置到Prometheus配置文件中
- job_name: 'redis'
scrape_interval: 10s
static_configs:
- targets:
- ['192.168.11.110:9121']
4.2 重新加载Prometheus server配置
curl -X POST http://10.86.78.175:9090/-/reload
5. 配置Grafana展示
redis_exporter 在 Grafana 上为我们提供好了 Dashboard 模板:https://grafana.com/dashboards/763
根据文章https://www.cnblogs.com/miaocbin/p/12009974.html中描述的方法, 导入redis看板.

prometheus监控redis,redis-cluster的更多相关文章
- Prometheus监控 Redis & Redis Cluster 说明
说明 在前面的Prometheus + Grafana 部署说明之「安装」文章里,大致介绍说明了Prometheus和Grafana的一些安装使用,现在开始如何始部署Prometheus+Grafan ...
- openresty(完整版)Lua拦截请求与响应信息日志收集及基于cjson和redis动态路径以及Prometheus监控(转)
直接上文件 nginx.conf #运行用户和组,缺省为nobody,若改为别的用户和组,则需要先创建用户和组 #user wls81 wls; #开启进程数,一般与CPU核数等同 worker_pr ...
- Prometheus 监控 Redis 集群的正确姿势
Prometheus 监控Redis的正确姿势(redis集群) Prometheus 监控 Redis cluster,其实套路都是一样的,使用 exporter. exporter 负责采集指标, ...
- 安装prometheus+grafana监控mysql redis kubernetes等
1.prometheus安装 wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5 ...
- [转帖]安装prometheus+grafana监控mysql redis kubernetes等
安装prometheus+grafana监控mysql redis kubernetes等 https://www.cnblogs.com/sfnz/p/6566951.html plug 的模式进行 ...
- Grafana+Prometheus系统监控之Redis
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守B ...
- 二 prometheus 监控 Redis
Prometheus 监控Redis需要用到redis_exporter客户端, Prometheus -> redis_exporter这个模式, 类似监控Mysql 一个思路. 1 ) 设置 ...
- prometheus监控redis
下载redis_exporter插件 代理插件不一定非要安装在redis端 wget https://github.com/oliver006/redis_exporter/releases/down ...
- Zabbix监控Tomcat,Redis
一 Tomcat监控 1.1.1 Tomcat 端配置 JMX 编辑catalina.sh文件,配置如下: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.m ...
随机推荐
- mysql explain中key_len的作用
mysql explain中key_len的作用key_len越小 索引效果越好 name的字段类型是varchar(20),字符编码是utf8,一个字符占用3个字节,那么key_len应该是 20* ...
- python实践项目二:列表转字符串
将列表各元素转换为字符串并以规定形式返回. 假定有下面这样的列表:spam = ['apples', 'bananas', 'tofu', 'cats'],将其转换成字符串:'apples, bana ...
- Kubernetes(k8s)目录
Kubernetes(k8s)目录 Kubernetes集群安装(亲测有效)
- C#中的System.Web.HttpUtility.UrlEncode转码问题
最近需要与JAVA程序对接口,其中遇到的URL转码问题: Java中URL编码所用的 URLEncoder.encode 产生的字符是大写且英文'(',')'是分别转成'%28'和 '%29' 而C# ...
- JDBC ORM(Object Relationship Database Mapping)
ORM=Object Relationship Database Mapping 对象和关系数据库的映射 简单说,一个对象,对应数据库里的一条记录 示例:根据id返回一个Hero对象 提供方法get( ...
- Spyder中报错: Check failed: PyBfloat16_Type.tp_base != nullptr
报错问题: 问题1:tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullp ...
- Python基础 — 八种数据类型
Python 3.x 的八种数据类型 八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字 ...
- WUSTOJ 1317: cms的苦恼(Java)快速幂
题目链接:
- pyrhon 第一个小购物车例子
product_list=[[],[],[],[]] shopping_list=[] salary = input("请输入你的工资:") if salary.isdigit() ...
- shiro与spring集成
简介 Apache Shiro 是 Java 的一个安全(权限)框架.主要提供了认证.授权.加密和会话管理等功能. Authentication:身份认证/登录,验证用户是不是拥有相应的身份:Auth ...