Redis Exporter 是一个 Prometheus 的 exporter,专门用于监控 Redis 实例。通过部署 Redis Exporter,您可以将 Redis 的监控指标暴露给 Prometheus,然后在 Grafana 中进行可视化展示。
# 下载最新版 Redis Exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.50.0/redis_exporter-v1.50.0.linux-amd64.tar.gz
# 解压
tar xvf redis_exporter-v1.50.0.linux-amd64.tar.gz
# 移动到合适位置
sudo mv redis_exporter-v1.50.0.linux-amd64/redis_exporter /usr/local/bin/
docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr redis://<REDIS_HOST>:<REDIS_PORT>
创建 systemd 服务文件:
sudo nano /etc/systemd/system/redis_exporter.service
添加以下内容(根据您的 Redis 配置调整):
[Unit]
Description=Redis Exporter
After=network.target
[Service]
User=redis
Group=redis
Type=simple
ExecStart=/usr/local/bin/redis_exporter \
--redis.addr redis://localhost:6379 \
--redis.password "your-redis-password" \
--web.listen-address ":9121"
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable redis_exporter
sudo systemctl start redis_exporter
检查服务状态:
sudo systemctl status redis_exporter
测试指标收集:
curl http://localhost:9121/metrics
在 Prometheus 的配置文件中添加 Redis Exporter 作为目标:
scrape_configs:
- job_name: 'redis'
static_configs:
- targets: ['<REDIS_EXPORTER_IP>:9121']
重启 Prometheus 使配置生效。
导入 Redis 仪表板:
配置数据源为您的 Prometheus 服务
在 Redis Exporter 启动参数中添加:
--web.config.file=/path/to/web-config.yml
web-config.yml 内容示例:
basic_auth_users:
admin: "$2y$05$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--web.config.file=/path/to/tls-config.yml
tls-config.yml 内容示例:
tls_server_config:
cert_file: /path/to/cert.pem
key_file: /path/to/key.pem
--redis.addr=redis://host1:6379,redis://host2:6379
--redis.addr=redis://cluster-node1:6379 \
--redis.cluster.enabled=true
--include-metrics="metric1,metric2" \
--exclude-metrics="metric3,metric4"
redis_up
: Redis 实例是否可达 (1=可用, 0=不可用)redis_connected_clients
: 已连接的客户端数量redis_memory_used_bytes
: Redis 使用的内存量redis_commands_processed_total
: 处理的命令总数redis_keyspace_hits_total
: 键空间命中次数redis_keyspace_misses_total
: 键空间未命中次数redis_cpu_sys_seconds_total
: Redis 系统 CPU 使用时间无法连接到 Redis
Prometheus 无法抓取指标
systemctl status redis_exporter
)性能问题
--include-metrics
)redis_slowlog_last_execution_duration_seconds
)通过以上配置,您将能够全面监控 Redis Droplet 的性能和健康状况,及时发现并解决潜在问题。