Prometheus 是由 SoundCloud 開發的開源監控報警系統和時序列數據庫(TSDB),自 2012 年起,許多公司及組織已經採用 Prometheus,並且該項目有著非常活躍的開發者和用戶社區,現在已經成為一個獨立的開源項目,並且保持獨立於任何公司,Prometheus 在 2016 加入 CNCF ( Cloud Native Computing Foundation ), 作為在 kubernetes 之後的第二個由基金會主持的項目。github 地址(https://github.com/prometheus)
今天 就將為大家帶來 Prometheus 分享 手把手教大家快速搭建一套告警系統。今晚九點直播,想聽的留言回覆你地址。
分享內容如下:
項目演示
知識介紹
Prometheus 基礎
是什麼架構設計為什麼選擇 PromethuesPrometheus 組件概覽和實戰
ServerNodeExporterPushgatewayAlertmanagerGrafana 集成答疑問題討論
分享嘉賓:禾木老師
1、Ruby on Rails 愛好者
2、多年 Golang 研發經驗
3、3 年 Promethus 二次開發及使用經驗及社區代碼貢獻者
4、《Prometheus: Up & Running: Infrastructure and Application Performance Monitoring》 中文翻譯作者(校驗完畢待發版)
項目演示效果圖
Prometheus 架構
為什麼選擇 Prometheus ?
who not?現代(用 Go 編寫)無依賴,安裝方便,上手容易很多插件或者 exporterGrafana 默認支持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 ,添加面板, 並保存