Redis-exporter部署及集群监控
Redis-exporter
服务端口:9121
部署
安装包:redis_exporter-v1.33.0.linux-amd64.tar.gz
运行条件:go环境
安装go:
yum install -y epel-release
yum install -y golang
下载安装包
https://github.com/oliver006/redis_exporter/releases
解压
解压重命名redis_exporter-v1.33.0.linux-amd64.tar.gz文件夹后,配置redis_exporter.service,就能用。
配置redis_exporter.service
vim /etc/systemd/system/redis_exporter.service
[Unit]
Description=redis_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter-v1.33.0.linux-amd64/redis_exporter -redis.addr {部署predixy代理的ip}:7617 -redis.password XXXXX -web.listen-address {部署redis_exporter服务的ip}:9121
Restart=always
启动
加入prometheus
vim /etc/prometheus/prometheus.yml
- job_name: 'GT_WORK_REDIS_CULSTER'
static_configs:
- targets:
- redis://192.168.10.1:7001
- redis://192.168.10.2:7002
- redis://192.168.10.3:7003
- redis://192.168.10.4:7004
- redis://192.168.10.5:7005
- redis://192.168.10.6:7006
metrics_path: /scrape
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: xxx.xxx.xxx.xxx:9121
配置告警规则
vim /etc/prometheus/rules/redis.yml
groups:
- name: redis
rules:
- alert: RedisDown
annotations:
description: |-
Redis instance is down
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: Redis down (instance {{ $labels.instance }})
expr: redis_up == 0
for: 5m
labels:
severity: critical
- alert: RedisOutOfMemory
annotations:
description: |-
Redis is running out of memory (> 85%)
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: Redis out of memory (instance {{ $labels.instance }})
expr: redis_memory_used_bytes / redis_total_system_memory_bytes * 100 > 85
for: 5m
labels:
severity: warning
- alert: RedisTooManyConnections
annotations:
description: |-
Redis instance has too many connections
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: Redis too many connections (instance {{ $labels.instance }})
expr: redis_connected_clients > 100
for: 5m
labels:
severity: warning
记得重启prometheus
Grafana导入模板
两种方法:
第一种是本地有redis的模板,直接导入
第二种是搜索编号并直接下载
优化模板
思考:该模板只能看单个集群的每一个实例,无法显示出那些是master,那些是slave,因此对现有的模板进行修改。
label_values(redis_up,job)
label_values(redis_instance_info,role)
label_values(redis_instance_info{job=~"$cluster",role=~"$role"},instance)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤