天天看點

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

Prometheus普羅米修斯監控系統

  • 一、普羅米修斯監控概述
    • 1.1 什麼是普羅米修斯監控
  • 二、時間序列資料
    • 2.1 什麼是序列資料
    • 2.2 時間序列資料特點
    • 2.3 普羅米修斯特征
  • 三、普羅米修斯原理架構圖
  • 四、普羅米修斯監控系統的部署
    • 4.1 環境準備工作
    • 4.2 普羅米修斯的部署
    • 4.3 普羅米修斯的 web 頁面操作
    • 4.4 監控遠端 Linux 主機
    • 4.5 遠端監控 MySQL 資料庫
  • 五、Grafana可視化圖形工具
    • 5.1 什麼是Grafana
    • 5.2 使用Grafana連接配接Prometheus
    • 5.3 Grafana圖形顯示MySQL監控資料
  • 六、 Grafana+onealert報警
    • 6.1 新增賬號并擷取key
    • 6.2 配置通知政策
    • 6.3 将配置的Webhook Notification Channel添加到Grafana Alert中
    • 6.4 CPU告警測試
  • 七、總結報警不成功的可能原因

一、普羅米修斯監控概述

1.1 什麼是普羅米修斯監控

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

Prometheus(由go語言(golang)開發)是一開源的監控&報警&時間序列資料庫的組合。 适合監控docker容器。因為kubernetes(俗稱k8s)的流行帶動了 prometheus的發展。

官方網站:https://prometheus.io/

二、時間序列資料

2.1 什麼是序列資料

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

時間序列資料(TimeSeries Data):按照時間順序記錄系統,裝置狀态變化的資料被稱為時序資料。

應用的場景很多,如:

  • 無人駕駛車輛運作中要記錄的經度,緯度,速度,方向,旁邊物體的距離等等。每時每刻都要将資料記錄下來做分析。
  • 某一個地區的各車輛的行駛軌迹資料
  • 傳統證券行業實時交易資料
  • 實時運維監控資料等

2.2 時間序列資料特點

● 性能好

關系型資料庫對于大規模資料的處理性能糟糕。NOSQL 可以比較好的處理大規模資料,讓依然比不上時間序列資料庫。

● 存儲成本低

高效的壓縮算法,節省存儲空間,有效降低I0

Prometheus有着非常高效的時間序列資料存儲方法,每個采樣資料僅僅占用3.5byte左右空間,上百萬條時間序列, 30秒間隔,保留60天,大概花了200多G (來自官方資料)

2.3 普羅米修斯特征

  • 多元度資料模型
  • 靈活的查詢語言
  • 不依賴分布式存儲,單個伺服器節點是自主的
  • 以HTTP方式,通過pull模型拉去時間序列資料
  • 也可以通過中間網關支援push模型
  • 通過服務發現或者靜态配置,來發現目标服務對象
  • 支援多種多樣的圖表和界面展示

三、普羅米修斯原理架構圖

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

____Prometheus 直接或通過中介推送網關從檢測的作業中抓取名額,用于短期作業。它将所有抓取的樣本存儲在本地,并對這些資料運作規則,以從現有資料聚合和記錄新的時間序列或生成警報。Grafana或其他 API 使用者可用于可視化收集的資料。

四、普羅米修斯監控系統的部署

4.1 環境準備工作

伺服器準備

伺服器類型 系統和IP位址 備注
Prometheus伺服器 CentOS7.4(64 位) 192.168.80.10 Prometheus
grafana伺服器 CentOS7.4(64 位) 192.168.80.20 mariadb、node_exporter
被監控伺服器 CentOS7.4(64 位) 192.168.80.30 Grafana

所有伺服器關閉防火牆和SElinux

systemctl stop firewalld
setenforce 0
           

修改/etc/hosts

192.168.80.10 prometheus
192.168.80.20 grafana
192.168.80.30 client
           

4.2 普羅米修斯的部署

1.設定時間同步

① 所有伺服器安裝

ntpdate

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 進行時間同步

ntpdate cn.ntp.org.cn
date
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

2.安裝普羅米修斯

下載下傳位址:https://prometheus.io/download/ 。我這邊之前下載下傳過,直接傳入就可以了。

① 傳入安裝包并解壓

cd /opt/
rz -E				##傳入安裝包
tar zxvf prometheus-2.29.1.linux-amd64.tar.gz
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 移動并修改名

mv prometheus-2.29.1.linux-amd64 /usr/local/promethues
cd /usr/local/promethues/
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 背景啟動普羅米修斯

cd /usr/local/promethues/
./prometheus --config.file="/usr/local/promethues/prometheus.yml" &

netstat -napt | grep prometheus			#檢視服務是否啟動 端口為9090
或
lsof -i:9090
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

④ 浏覽器中進行通路測試

http://192.168.80.10:9090
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑤ 檢視 Status 中的 Targets 項。可以看到預設監控的 localhost 也就是本機。

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑥ 監控接口:通過http://伺服器IP:9090/metrics可以檢視監控的資料

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

4.3 普羅米修斯的 web 頁面操作

① 檢視cpu的運作狀态(首頁搜尋欄中輸入process_cpu_seconds_total)

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 點選 Graph 選項

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

4.4 監控遠端 Linux 主機

① 在遠端linux主機(被監控端agent1)上安裝 node_exporter 元件,我這邊直接上傳。

官網下載下傳位址為:https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

cd /opt/
tar zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv node_exporter-1.2.2.linux-amd64/ node_exporter
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 啟動 node_exporter 程式

cd node_exporter/
nohup /usr/local/node_exporter/node_exporter &		#永久運作并在背景運作
netstat -natp | grep :9100							#檢視端口占用情況  
           

擴充: nohup指令:如果把啟動node_exporter的終端給關閉,那麼程序也會随之關閉。nohup指令會幫你解決這個問題。

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 使用http協定+9100端口收集Linux主機資訊

通過浏覽器通路:http://192.168.80.30:9100/metrics 就可以看到 node_exporter 在被監控端手機的監控資訊

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

④ 在 Prometheus 伺服器的配置檔案中添加被監控機器的配置段

vim /usr/local/promethues/prometheus.yml

##添加以下配置項
  - job_name: "agent1"
    static_configs:
      - targets: ["192.168.80.30:9100"]
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑤ 重新啟動prometheus監控系統

pkill prometheus
lsof -i:9090
cd /usr/local/promethues/
./prometheus --config.file="/usr/local/promethues/prometheus.yml" &
lsof -i:9090
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑥ 重新回到普羅米修斯web端檢視 Status 中的 Targets 項,可以看到被監控端 node_exporter 了,并且狀态為 up。

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

4.5 遠端監控 MySQL 資料庫

① 在被監控端伺服器上安裝 mysqld_exporter 元件,我這邊直接上傳。

官方下載下傳位址為:https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz

cd /opt/
tar zxvf mysqld_exporter-0.13.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv mysqld_exporter-0.13.0.linux-amd64/ mysqld_exporter
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 節省時間安裝 mariadb 資料庫

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 開啟并設定為開機自啟,然後登入 mysql

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

④ 建立 mysql 賬号幫重新整理權限用于收集資料

grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by 'abc123';
賬号為:mysql_monitor
密碼為:abc123

flush privileges;
exit
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑤ 在mysql_exporter 元件中建立配置檔案,配置 mysql 資訊

vim /usr/local/mysqld_exporter/.my.cnf

[client]
user=mysql_monitor
password=abc123
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑥ 啟動 mysql_exporter 元件

cd mysqld_exporter/
./mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑦ 回到 prometheus 伺服器的配置檔案裡添加被監控的 mariadb 的配置段

vim /usr/local/promethues/prometheus.yml
## 添加下面三行
  - job_name: 'agent1_mariadb'
    static_configs:
      - targets: ['192.168.80.30:9104']
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑧ 改完配置檔案後,重新開機服務

pkill prometheus
lsof -i:9090
./prometheus --config.file="/usr/local/promethues/prometheus.yml" &
lsof -i:9090
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑨ 回到web管理界面 --》點Status --》點Targets --》可以看到監控mariadb了

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑩ 檢視 mysql 線程連接配接

搜尋欄中輸入:mysql_global_status_threads_connected 進行檢視

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

五、Grafana可視化圖形工具

5.1 什麼是Grafana

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

Grafana是一個開源的度量分析和可視化工具,可以通過将采集的資料分析,查詢,然後進行可視化的展示,并能實作報警。

5.2 使用Grafana連接配接Prometheus

① 在grafana伺服器上安裝 grafana,我這邊之前下載下傳過,直接上傳

官方下載下傳位址:https://grafana.com/grafana/download

cd /opt/
rz -E
rpm -ivh grafana-5.3.4-1.x86_64.rpm 
systemctl start grafana-server
systemctl enable grafana-server
lsof -i:3000
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 通過浏覽器通路 http:// grafana伺服器IP:3000就到了登入界面,使用預設的admin使用者,admin密碼就可以登陸了

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 重新修改密碼為:abc123

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

④ 把 prometheus 伺服器收集的資料做為一個資料源添加到 grafana,讓 grafana 可以得到 prometheus 的資料

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
部分選項解釋
Auth項:公網傳輸資料加密與驗證用的,我們這邊暫時不需要設定
Advanced HTTP Settings項:15秒擷取一次資料,GET方式
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑤ 為添加好的資料源做圖形顯示(檢視被監控端1分鐘、5分鐘和15分鐘的負載情況)

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑥ 比對條件顯示(根據IP或普羅米修斯裡面設定的job)

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

5.3 Grafana圖形顯示MySQL監控資料

① 在 grafana 上修改配置檔案,并下載下傳安裝mysql監控的 dashboard(包含相關json檔案,這些json檔案可以看作是開發人員開發的一個監控模闆),我這邊直接上傳。

官方下載下傳網址: https://github.com/percona/grafana-dashboards

vim /etc/grafana/grafana.ini

[dashboards.json] 
enabled = true 
path = /var/lib/grafana/dashboards


git clone https://github.com/percona/grafana-dashboards.git
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 下載下傳json模闆并上傳到 grafana 伺服器後解壓縮

參考網址: https://github.com/percona/grafana-dashboards

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 複制到/var/lib/grafana目錄下并改名,然後重新開機服務

cp -r grafana-dashboards-1.17.4/ /usr/lib/grafana/
systemctl restart grafana-server.service 
           
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

④ 把下載下傳壓縮包在本地解壓

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑤ 在grafana圖形界面導入相關json檔案

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑥ 點import導入後,報prometheus資料源找不到,因為這些json檔案裡預設要找的就是叫Prometheus的資料源,但我們前面建立的資料源卻是叫 prometheus_data ,修改之前資料源的名稱即可。

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑦ 修改完資料源名稱後再次檢視

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑧ 資料展示完成(過段時間再看,加載完成就會資料顯示了)

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

六、 Grafana+onealert報警

prometheus報警需要使用alertmanager這個元件,而且報警規則需要手動編寫(對運維來說不友好)。是以我這裡選用grafana+onealert報警。

注意: 實作報警前把所有機器時間同步再檢查一遍.

再次所有伺服器同步時間

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

6.1 新增賬號并擷取key

② 先在onealert裡添加grafana應用,需要先申請onealert賬号。

官方網站:https://caweb.aiops.com/#/

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 在建立應用中找到 grafana 應用 ,填好名字後儲存擷取應用key

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

然後可以看到配置步驟

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

6.2 配置通知政策

① 在 Grafana 中建立 Notification channel,選擇類型為 Webhook;

a. 将第一步中生成的Webhook URL填入Webhook settings Url;

URL格式:
http://api.aiops.com/alert/api/event/grafana/v1/4065f3ce446841ca859d41c675286833/
           

b. Http Method選擇POST;

c. Send Test&Save;

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因
一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

6.3 将配置的Webhook Notification Channel添加到Grafana Alert中

① 選擇我們之前建立的cpu監控,點選Edit進行編輯

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

② 填寫name 和 IS above

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

③ 現在發送的對象和發送的資訊

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

④ 儲存并自定義個名字

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

6.4 CPU告警測試

⑤ 現在可以去設定一個報警來測試了(這裡以我們前面加的cpu負載監控來做測試)

在被監控端的agent執行測試指令

cat /dev/urandom | md5sum

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑥ 等待一會,可以看到grafana監控頁面CPU負載超過0.5了

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

⑦ 這個時候會收到郵件提示

一篇文章搞定Prometheus普羅米修斯監控系統的部署一、普羅米修斯監控概述二、時間序列資料三、普羅米修斯原理架構圖四、普羅米修斯監控系統的部署五、Grafana可視化圖形工具六、 Grafana+onealert報警七、總結報警不成功的可能原因

七、總結報警不成功的可能原因

  1. 各伺服器之間時間不同步,這樣時序資料會出問題,也會造成報警出問題
  2. 必須寫通知内容,留白内容是不會發報警的
  3. 修改完報警配置後,記得要點右上角的儲存
  4. 儲存配置後,需要由OK狀态變為alerting狀态才會報警(也就是說,你配置儲存後,就已經是alerting狀态是不會報警的)
  5. grafana與onealert通信有問題

繼續閱讀