Prometheus也可以用redis_exporter
來監控Redis。
項目地址爲:https://github.com/oliver006/redis_exporter
一、環境
服務器IP | 系統 | 組件 |
---|---|---|
192.168.0.181 | CentOS7.6 | Prometheus Server 2.18.1 |
192.168.0.184 | CentOS7.6 | redis_exporter-1.6.1 |
二、安裝node_exporter
在安裝redis的主機上,安裝上node_exporter是必要的。不光是服務,主機的監控也是要的嘛!
具體的node_exporter的安裝這裏就不說了,比較簡單,參考前面的文章即可。
三、安裝redis_exporter
其實redis_exporter
部署在哪臺服務器上都是可以的,因爲之後會在啓動redis_exporter
的時候配置所要監控的redis的連接地址。
我這裏直接將redis_exporter
部署在Redis Server
服務器(192.168.0.184)上。
$ cd /usr/local/src
$ wget https://github.com/oliver006/redis_exporter/releases/download/v1.6.1/redis_exporter-v1.6.1.linux-amd64.tar.gz
$ tar -zxf redis_exporter-v1.6.1.linux-amd64.tar.gz
$ mv redis_exporter-v1.6.1.linux-amd64 /usr/local/redis_exporter
四、redis_exporter 運行參數
可以通過./redis_exporter --help
命令查看各個參數的含義,比較常用的參數如下 :
-redis.addr string:Redis實例的地址,可以使一個或者多個,多個節點使用逗號分隔,默認爲 "redis://localhost:6379"
-redis.password string:Redis實例的密碼
-web.listen-address string:服務監聽的地址,默認爲 0.0.0.0:9121
五、啓動 redis_exporter 服務
創建啓動文件(使用systemd管理)
cat > /usr/lib/systemd/system/redis_exporter.service <<EOF
[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.0.184:6379 -redis.password 123456
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
這裏我也是用prometheus用戶啓動redis_exporter
,所以要創建prometheus用戶並授權。
$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
$ chown -R prometheus:prometheus /usr/local/redis_exporter
啓動redis_exporter:
$ systemctl daemon-reload
$ systemctl start redis_exporter
$ systemctl status redis_exporter
$ systemctl enable redis_exporter
$ ss -tln | grep 9121
六、添加監控目標
需要把redis_exporter
監控目標添加到prometheus server
中。
vim /usr/local/prometheus/prometheus.yml
- job_name: 'redis'
scrape_interval: 10s
static_configs:
- targets: ['192.168.0.184:9121']
labels:
instance: redis-01
- job_name: 'redis-node'
scrape_interval: 10s
static_configs:
- targets: ['192.168.0.184:9100']
labels:
instance: redis-01
重啓Prometheus server
$ systemctl restart prometheus
或者熱加載
$ curl -X POST localhost:9090/-/reload
七、添加Grafana模板
在Grafana的官方網站上我們可以找到比較好用的Redis的Dashboard模板,直接用模板地址導入即可。
模板地址爲:https://grafana.com/grafana/dashboards/6908
導入之後的效果: