TenSunS監控REDIS:使用一個redis_exporter監控所有的Redis例項

StarsL發表於2024-11-03

🦄概述

后羿 - TenSunS(原ConsulManager)是一個使用Flask+Vue開發,基於Consul的WEB運維平臺,彌補了Consul官方UI對Services管理的不足;並且基於Consul的服務發現與鍵值儲存:實現了Prometheus自動發現多雲廠商各資源資訊;基於Blackbox對站點監控的視覺化維護;以及對自建與雲上資源的優雅管理與展示。

倉庫地址:https://github.com/starsliao/TenSunS

一、如何在TenSunS中接入redis

1. 接入雲廠商的Redis

  1. 新增雲賬號的情況:目前新增時,支援多選區域,以及選擇增加的資源型別,勾選REDIS即可接入自動同步雲REDIS,記得設定好同步間隔。

圖片

  1. 對已經新增過的賬號,增加同步雲REDIS資源:點選編輯雲資源,選擇好需要編輯的廠商、賬號及區域,再勾選資源型別REDIS,配置上同步間隔即可增加自動同步雲REDIS。

圖片

  1. 接入完成後,可手動點選同步按鈕,完成首次同步;或者等待設定好的同步週期後會自動同步。

圖片

  1. 同步完成後,可在雲資源管理-REDIS管理-雲REDIS列表,檢視同步的雲redis資訊以及自定義例項監控的IP和埠(再次同步不會覆蓋例項自定義的IP埠資訊)。
    圖片

2. 接入自建redis

  1. 進入雲資源管理-REDIS管理-自建REDIS管理,即可新增或批次匯入自建的redis列表。
    圖片

二、部署一個支援多例項的redis_exporter

官方倉庫:https://github.com/oliver006/redis_exporter

新建一個docker-compose.yml,內容如下:

version: "3.2"
services:
  redis-exporter:
    image: oliver006/redis_exporter
    container_name: redis-exporter
    restart: unless-stopped
    command:
      - "-redis.password-file=/redis_passwd.json"
    volumes:
      - /usr/share/zoneinfo/PRC:/etc/localtime
      - /data/redis-exporter/redis_passwd.json:/redis_passwd.json
    expose:
      - 9121
    network_mode: "host"

新建一個redis的例項地址與密碼檔案,/data/redis-exporter/redis_passwd.json

{
  "redis://xxxxxxxxxxx.dcs.huaweicloud.com:6379":"",
  "redis://aaaaaaaa.cn-south-1.dcs.myhuaweicloud.com:6379":"q1azw2sx"
}
  • docker-compose中掛載配置檔案檔案的本地路徑注意根據實際情況修改。
  • 配置檔案的格式為json,每行一個例項的資訊格式為:"redis://例項地址埠":"redis密碼"
  • 例項地址埠請檢視雲REDIS列表自建redis管理例項欄位。
  • 如redis無密碼,保留空雙引號即可""

啟動:docker-compose up -d

三、如何接入到Prometheus

點選選單雲資源管理-REDIS管理-prometheus配置

  • 在右側選擇需要加入監控的雲賬號REDIS組,並且輸入redis_exporter的IP和埠,點選生成配置,即可複製生成的JOB內容到prometheus。
  • 由於Redis_Exporter無法監控到雲資料庫的CPU、部分資源使用率的情況,所以TenSunS開發了Exporter功能,配置到Prometheus即可直接從雲廠商採集到這些指標!選擇需要採集指標的REDIS賬號區域,TenSunS地址和埠,即可生成Prometheus的JOB配置。

圖片

四、參考告警規則

圖片

五、參考Grafana看板

GRAFANA:Redis Exporter Dashboard 中文版

圖片

相關文章