Prometheus 是由 SoundCloud 開發的開源監控報警系統和時序列數據庫(TSDB),自 2012 年起,許多公司及組織已經採用 Prometheus,並且該項目有着非常活躍的開發者和用戶社區,現在已經成爲一個獨立的開源項目,並且保持獨立於任何公司,Prometheus 在 2016 加入 CNCF ( Cloud Native Computing Foundation ), 作爲在 kubernetes 之後的第二個由基金會主持的項目。github 地址(https://github.com/prometheus)
今晚九點就將爲大家帶來 Prometheus 分享 手把手教大家快速搭建一套告警系統。
分享內容如下:
項目演示
知識介紹
-
Prometheus 基礎
- 是什麼
- 架構設計
- 爲什麼選擇 Promethues
- Prometheus 組件概覽和實戰
- Server
- NodeExporter
- Pushgateway
- Alertmanager
- Grafana 集成
答疑問題討論
分享嘉賓:禾木老師
1、Ruby on Rails 愛好者
2、多年 Golang 研發經驗
3、3 年 Promethus 二次開發及使用經驗及社區代碼貢獻者
4、《Prometheus: Up & Running: Infrastructure and Application Performance Monitoring》 中文翻譯作者(校驗完畢待發版)
項目演示效果圖
Prometheus 架構
爲什麼選擇 Prometheus ?
- who not?
- 現代(用 Go 編寫)
- 無依賴,安裝方便,上手容易
- 很多插件或者 exporter
- Grafana 默認支持
- K8s 默認支持,非常適合容器和微服務
- 社區活躍,它不僅僅是個工具而是生態
Prometheus 組件概覽和實戰
Prometheus Server
安裝
Prometheus Server 的安裝比較靈活,可以使用二進制安裝包或者 Docker 安裝, 下面以二進制的方式爲例:
解壓縮包並運行 ./prometheus
訪問 http://IP:9090 查看 Prometheus console
Prometheus Node Exporter
安裝,運行
Prometheus Node Exporter 主要用於物理主機的採樣,它同樣可以使用二進制安裝包和 Docker 的安裝, 下面以二進制的方式爲例:
Prometheus 添加 Node Job
修改 prometheus.yml
使用 ./promtool check config 進行配置文件檢測
使用 kill –HUP PID 進行重啓
Prometheus Pushgateway
安裝,運行
Prometheus Pushgateway 主要用於無法單獨提供 Exporter 的數據的收集,它同樣可以使用二進制安裝包和 Docker 的安裝, 下面以二進制的方式爲例:
Pushgateway 添加數據
使用 HTTP 請求添加數據
Prometheus 添加 Pushgateway
修改 prometheus.yml
使用同樣的方法,重啓 Prometheus。
Alertmanager
安裝,運行
Prometheus Alertmanager 主要用於告警信息的管理,使用它可以很方便的對Prometheus 觸發的告警進行分組,降噪,設置不同告警渠道。它同樣可以使用二進制安裝包和 Docker 的安裝, 下面以二進制的方式爲例:
與 Prometheus 集成
修改 prometheus.yml
添加 node_rules.yml 文件
使用 ./promtool 檢查配置文件
重啓 Prometheus
Rules Console
觸發告警
Grafana 集成
安裝,運行
Grafana 是一款非常流行的開源的功能強大的指標展示工具,它和 Prometheus 能夠做到無縫對接,它同樣可以使用二進制安裝包和 Docker 的安裝, 下面以二進制的方式爲例:
1、訪問頁面 http://IP:3000 ,並登錄
2、默認賬號密碼(admin/admin),首次登錄後提示修改密碼
3、配置數據源,並選擇 Prometheus
4、創建 dashboard ,添加面板, 並保存
參考資料:
Prometheus 官網
Prometheus UP and Running
Prometheus 實戰
https://www.robustperception.io/blog
2019.9.19日晚直播,想要聽課和資料的添加Amywechat:17812796384