promethus監控Redis


一、概述

Prometheus exporter for Redis metrics.

github地址:

https://github.com/oliver006/redis_exporter

 

線上服務器,自建了6台Redis實例,需要進行監控。

 

二、安裝redis_exporter

下載最新版本:

https://github.com/oliver006/redis_exporter/releases/download/v1.3.5/redis_exporter-v1.3.5.linux-amd64.tar.gz

 

登錄到redis服務器,解壓安裝

tar zxvf redis_exporter-v1.3.5.linux-amd64.tar.gz -C /data
mv /data/redis_exporter-v1.3.5.linux-amd64 /data/redis_exporter

 

redis_exporter 用法

解壓后只有一個二進制程序就叫 redis_exporter 通過 -h 可以獲取到幫助信息,下面列出一些常用的選項:

-redis.addr:指明一個或多個 Redis 節點的地址,多個節點使用逗號分隔,默認為 redis://localhost:6379
-redis.password:驗證 Redis 時使用的密碼;
-redis.file:包含一個或多個redis 節點的文件路徑,每行一個節點,此選項與 -redis.addr 互斥。
-web.listen-address:監聽的地址和端口,默認為 0.0.0.0:9121

 

運行 redis_exporter 服務

## 無密碼
nohup ./redis_exporter redis//192.168.111.11:6379 &
## 有密碼
nohup ./redis_exporter  -redis.addr 192.168.111.11:6379  -redis.password 123456 &

 

三、配置 prometheus.yml

單機版

添加監控目標

vim /data/prometheus/prometheus.yml

最后一行添加

  - job_name: 'redis_exporter'
    static_configs:
    - targets: ['192.168.10.147:9121']
      labels:
        instance: 生產實例1
    - targets: ['192.168.10.148:9121']
      labels:
        instance: 生產實例2
    - targets: ['192.168.10.149:9121']
      labels:
        instance: 生產實例3
    - targets: ['192.168.10.150:9121']
      labels:
        instance: 生產實例4
    - targets: ['192.168.10.151:9121']
      labels:
        instance: 生產實例5
    - targets: ['192.168.10.152:9121']
      labels:
        instance: 生產實例6

 

集群版

運行 redis_exporter 服務,只需要連接其中一個節點即可。

## 無密碼
nohup ./redis_exporter redis//192.168.111.11:7000 &
## 有密碼 nohup ./redis_exporter -redis.addr 192.168.111.11:7000 -redis.password 123456 &

 最后一行添加

  - job_name: 'redis_cluster'
    static_configs:
      - targets:
        - redis://192.168.111.11:7000
        - redis://192.168.111.11:7001
        - redis://192.168.111.11:7002
        - redis://192.168.111.11:7003
        - redis://192.168.111.11:7004
        - redis://192.168.111.11:7005
    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.111.11:9121

 

重啟prometheus即可。

 

 

四、配置 Grafana 的模板

redis_exporter 在 Grafana 上為我們提供好了 Dashboard 模板:https://grafana.com/dashboards/763

下載后在 Grafana 中導入 json 模板就可以看到官方這樣的示例截圖啦:

 

注意:Memory Usage這個圖表,一直是N/A。是因為redis_memory_max_bytes 獲取的值為0

導致 redis_memory_used_bytes / redis_memory_max_bytes 結果不正常。

 

解決辦法:將redis_memory_max_bytes 改為服務器的真實內存大小。

所以我更改計算公式

redis_memory_used_bytes{instance=~"$instance"}  / 8193428

 

本文參考鏈接:

http://www.eryajf.net/2497.html

https://www.cnblogs.com/fsckzy/p/12053604.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM