prometheus+grafana+全方位立体监控redis
Prometheus 概述
Prometheus(普羅米修斯)是一套開源的監控&報警&時間序列數據庫的組合,起始是由SoundCloud公司開發的。隨著發展,越來越多公司和組織接受采用Prometheus,社會也十分活躍,他們便將它獨立成開源項目,并且有公司來運作。Google SRE的書內也曾提到跟他們BorgMon監控系統相似的實現是Prometheus。現在最常見的Kubernetes容器管理系統中,通常會搭配Prometheus進行監控。
Prometheus基本原理是通過HTTP協議周期性抓取被監控組件的狀態,這樣做的好處是任意組件只要提供HTTP接口就可以接入監控系統,不需要任何SDK或者其他的集成過程。這樣做非常適合虛擬化環境比如VM或者Docker 。
Prometheus應該是為數不多的適合Docker、Mesos、Kubernetes環境的監控系統之一。輸出被監控組件信息的HTTP接口被叫做exporter 。目前互聯網公司常用的組件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux 系統信息 (包括磁盤、內存、CPU、網絡等等),具體支持的源看:https://github.com/prometheus
Prometheus的主要特點是:
多維數據模型(時序列數據由metric名和一組key/value組成)
在多維度上靈活的查詢語言(PromQl)
不依賴分布式存儲,單主節點工作.
通過基于HTTP的pull方式采集時序數據
可以通過push gateway進行時序列數據推送(pushing)
可以通過服務發現或者靜態配置去獲取要采集的目標服務器
多種可視化圖表及儀表盤支持
Prometheus通過安裝在遠程機器上的exporter來收集監控數據,后面我們將使用到redies_exporter收集系統數據架構:
Grafana介紹
Grafana是一個跨平臺的開源的度量分析和可視化工具,可以通過將采集的數據查詢然后可視化的展示,并及時通知。它主要有以下六大特點:
1、展示方式:快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日志,官方庫中具有豐富的儀表盤插件,比如熱圖、折線圖、圖表等多種展示方式;
2、數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
3、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算并發送通知,在數據達到閾值時通過Slack、PagerDuty等獲得通知;
4、混合展示:在同一圖表中混合使用不同的數據源,可以基于每個查詢指定數據源,甚至自定義數據源;
5、注釋:使用來自不同數據源的豐富事件注釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;
6、過濾器:Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用于使用該數據源的所有查詢
效果
使用Grafana和Prometheus以及redis_exporter對redis節點進行監控。下面圖監控某個redis節點:
安裝
Redis_export下載并解壓
下載地址:https://github.com/oliver006/redis_exporter
redis_exporter-v1.13.1.darwin-amd64.tar.gz
tar -zxvf redis_exporter-v1.13.1.darwin-amd64.tar.gz
使用默認配置
redis_exporter 常用的選項:
-redis.addr:指明一個或多個 Redis 節點的地址,多個節點使用逗號分隔,默認為 redis://localhost:6379
-redis.password:驗證 Redis 時使用的密碼;
-redis.file:包含一個或多個redis 節點的文件路徑,每行一個節點,此選項與 -redis.addr 互斥。
-web.listen-address:監聽的地址和端口,默認為 0.0.0.0:9121
啟動單節點:
./redis_exporter redis//127.0.0.1:6379 &
啟動多節點:
./redis_exporter -redis.addr xx.x.xxx.214:7000 xx.x.xxx:7001 xx.x.xxx.215:7002 xx.x.xxx.216:7003 &
Prometheus下載并解壓
下載地址:https://prometheus.io/download
prometheus-2.22.2.darwin-amd64.tar.gz
tar -zxvf prometheus-2.22.2.darwin-amd64.tar.gz
prometheus.yml加入redis節點
-
job_name: redis
static_configs:
- targets: ['127.0.0.0:9121']labels:instance: redis-mac
./prometheus
prometheus默認端口9090
ip+9090訪問
Grafana下載并解壓
下載地址:https://github.com/grafana/grafana
grafana-6.4.3.linux-amd64.tar.gz
tar -zxvf grafana-6.4.3.linux-amd64.tar.gz
啟動
./bin/grafana-server 默認端口3000 默認用戶名admin 密碼 admin
ip+3000
- 第一步:
添加data sources - 第二步:
選擇Prometheus - 第三步:
- 第四步:
- 第五步:
- 第六步:
- 第七步:
- 第八步:
- 第九步:
導入 查看
- 第十步:
最終結果頁
- 第十一步:
總結
以上是生活随笔為你收集整理的prometheus+grafana+全方位立体监控redis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Duang Duang Duang,Co
- 下一篇: Linux下文件恢复