煉數成金 門戶 大數據 運維 查看內容

使用Prometheus和Grafana構建Redis實時監控平臺

2020-10-9 17:08| 發布者: 煉數成金_小數| 查看: 44304| 評論: 0|來自: java進階架構師

摘要: Redis作為緩存系統,在整個后端體系中是較為重要的一環,需要實時監控運行狀態。現在有各種各樣的工具都可以對Redis進行監控,例如:redis-stat、RedisLive等,在使用過各種各樣的監控工具后,個人感覺redis_exporte ...
Redis作為緩存系統,在整個后端體系中是較為重要的一環,需要實時監控運行狀態。

現在有各種各樣的工具都可以對Redis進行監控,例如:redis-stat、RedisLive等,在使用過各種各樣的監控工具后,個人感覺redis_exporter較為好用,配合Prometheus+Grafana,不僅監控靈活、展現直觀還可以進行自行封裝來獲取各種特別關注的數據指標。

今天就和大家分享redis-exporter+Grafana+Prometheus構建Redis實時監控。


由于在物理機中搭建redis-exporter+Grafana+Prometheus較為繁瑣,下面直接利用Docker來搭建這一套監控體系作為實例。不熟悉Docker也不要緊,這里只是熟悉監控流程。

搭建準備
啟動Redis實例
首先準備兩個Redis作為監控實例,打開Docker Hub官網搜索Redis,會有啟動Redis實例的命令提示,這里按照最簡單的方法啟動兩個Redis(后臺運行的方式按照的redis鏡像啟動兩個名為redis1/redis2的容器實例):

網站地址:https://hub.docker.com/_/redis
➜ ~ docker run -d --name redis1 redis
➜ ~ docker run -d --name redis2 redis

Redis實例準備好了以后我們需要查看并記錄容器所屬的IP地址,以便redis_exporter來監控。
➜ ~ docker inspect redis1|grep IPAddress 172.17.0.5
➜ ~ docker inspect redis2|grep IPAddress 172.17.0.6

Grafana端口映射
準備監控數據展示工具Grafana。
➜ ~ docker run -d --name=grafana -p 3000:3000 grafana
這里由于需要在外部訪問Grafana圖形展示工作,所以做個端口映射,將物理機的3000端口和容器Grafana的3000端口關聯起來。

配置redis_exporter
準備數據采集工具redis_exporter,這里默認監聽端口9121。
➜ ~ docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr=172.17.0.5:6379,172.17.0.6:6379
--redis_addr為redis_exporter指定參數,可以指定多個監控的Redis地址,以逗號分隔,這里填入之前兩個Redis的地址。

準備數據抓取工具Prometheus
這里需要提前準備Prometheus配置文件,抓取redis_exporter收集到的數據,最簡單的配置如下圖所示:
➜ ~ docker run -d --name prome -p 9090:9090 -v /tmp/prometheus.yml:/tmp/prometheus.yml quay.io/prometheus/prometheus --config.file=/tmp/prometheus.yml
這里根據普羅米修斯鏡像創建一個prome的容器,同時將物理機的/tmp/prometheus.yml文件掛載到容器的/tmp下,將這個/tmp/prometheus.yml作為容器prome的啟動配置文件。配置文件內容如下圖:


這里創建了兩個抓取數據的任務:
監控本容器的9090端口即容器prome本身的數據
監控容器redis_exporter的9121端口獲取數據

目前為止我們創建了五個容器,如下圖所示:


使用Grafana做圖表展示
下面開始創建監控數據展示圖,由于創建容器時已經將容器端口于物理機端口映射起來,我們可以直接利用127.0.0.1:port來訪問容器內的服務。

配置Prometheus監控數據源
例如訪問http://127.0.0.1:3000來訪問Grafana圖形展示工具,默認用戶密碼均為admin,登錄進去以后配置grafana數據來源,Choose data source type中點擊選擇Prometheus。

下一步配置數據源名稱prometheus-redis和url地址,這里的數據源是本機里面的容器prome抓取上來的數據,所以url地址填默認選項即可。

現在就可以創建監控數據展示圖了,監控數據的監控是由redis_exporter這個服務決定的,我們訪問http://127.0.0.1:9121/metrics時可以發現很多數據,可以理解為key-value的形式,key是數據查詢維度,value是值。

例如數據維度是redis_up,那么我們可以在訪問http://127.0.0.1:9090執行redis_up這個數據查詢指標抓取數據的值,如下圖所示:


創建監控圖表
接下來我將利用prome抓取的數據在Grafana上創建一個監控Redis運行時間的展示圖形,相關配置如下圖,可以自行學習Grafana和Prometheus相關知識來配置各種各樣的監控圖形及告警相關內容。

下圖中一個簡單的監控Redis啟動時間的圖形就構建完成了。


如果嫌一個個配置監控圖麻煩,也可以利用開源已有的模板來構建Redis監控圖,將https://grafana.com/api/dashboards/763/revisions/1/download監控模板導入即可:


填入url后自動跳轉到監控面板名稱、數據源填寫頁面:


查看監控數據
load以后現成的監控圖就有了,Redis命中率、Redis數據量、Redis內存、Redis命令執行相關的監控應有盡有,可以自行修改監控指標來滿足業務需求。最終監控成品如下圖:


Prometheus+Grafana是一套十分強大的監控工具,這里僅僅是收集了redis_exporter采集的數據監控Redis作為示例,我們還可以添加其他數據采集工具來監控更多的業務,有興趣的小伙伴可以自行研究。

聲明:文章收集于網絡,版權歸原作者所有,為傳播信息而發,如有侵權,請聯系小編刪除,謝謝!

歡迎加入本站公開興趣群
軟件開發技術群
興趣范圍包括:Java,C/C++,Python,PHP,Ruby,shell等各種語言開發經驗交流,各種框架使用,外包項目機會,學習、培訓、跳槽等交流
QQ群:26931708

Hadoop源代碼研究群
興趣范圍包括:Hadoop源代碼解讀,改進,優化,分布式系統場景定制,與Hadoop有關的各種開源項目,總之就是玩轉Hadoop
QQ群:288410967 

鮮花

握手

雷人
1

路過

雞蛋

剛表態過的朋友 (1 人)

相關閱讀

最新評論

熱門頻道

  • 大數據
  • 商業智能
  • 量化投資
  • 科學探索
  • 創業

 

GMT+8, 2020-12-24 05:48 , Processed in 0.181359 second(s), 24 queries .

(*^▽^*)MG黑暗故事游戏规则 澳洲幸运8玩法说明 真钱棋牌游戏排行榜dtv 熊猫麻将下载 福建体育彩票网站11选5 体彩p3试机号关注金码 福建11选5最新走势图 球探比分 足球比分 ky开元棋牌三公 20选5开奖浙江 澳洲幸运10开奖历史记录 广东新11选5快彩乐 理财投资资管产品 大众麻将DS 腾讯麻将好友房 吉林时时彩走势图开奖结果 天津快乐10分规律