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