一、簡介
prometheus是由谷歌研發的一款開源的監控軟件,目前已經被雲計算本地基金會托管,是繼k8s托管的第二個項目。
二、優勢
易於管理
輕易獲取服務內部狀態
高效靈活的查詢語句
支持本地和遠程存儲
采用http協議,默認pull模式拉取數據,也可以通過中間網關push數據
支持自動發現
可擴展
易集成
三、prometheus運行流程
四、監控的目的
google指出,監控分為白盒監控和黑盒監控之分。
白盒監控:通過監控內部的運行狀態及指標判斷可能會發生的問題,從而做出預判或對其進行優化。
黑盒監控:監控系統或服務,在發生異常時做出相應措施。
監控的目的如下:
1、根據歷史監控數據,對為了做出預測
2、發生異常時,即使報警,或做出相應措施
3、根據監控報警及時定位問題根源
4、通過可視化圖表展示,便於直觀獲取信息
一、Grafana介紹
Grafana是開源的度量分析和可視化工具,,可以通過將采集的數據查詢然后可視化的展示,並實現報警。它主要有以下六大特點:
1、展示方式:快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日志,官方庫中具有豐富的儀表盤插件,比如熱圖、折線圖、圖表等多種展示方式;
2、數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
3、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算並發送通知,在數據達到閾值時通過Slack、PagerDuty等獲得通知;
4、混合展示:在同一圖表中混合使用不同的數據源,可以基於每個查詢指定數據源,甚至自定義數據源;
5、注釋:使用來自不同數據源的豐富事件注釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;
6、過濾器:Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的所有查詢。
二、Prometheus服務端安裝
以下操作皆在監控主機(192.168.10.149)上執行。
2.0 關閉機器防火牆
# systemctl stop firewalld
# systemctl disable firewalld
2.1 安裝 go 環境
由於Prometheus是由go語言開發的,所以在安裝Prometheus之前需要先在監控主機上安裝go環境。這里采用源碼編譯的方式安裝。
安裝包下載以后,上傳至監控主機的 /usr/local 目錄下。
2.1.1 解壓安裝包
# tar -xvf go1.13.1.linux-amd64.tar.gz
2.1.2 配置環境變量
添加/usr/loacl/go/bin目錄到PATH變量中。
添加到/etc/profile 或$HOME/.profile都可以
# vim /etc/profile
// 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
// wq保存退出后source一下
# source /etc/profile
執行go version,如果現實版本號,則Go環境安裝成功。
2.2 安裝Prometheus
安裝包下載地址:https://prometheus.io/download/#prometheus
2.2.1 安裝
將下載后安裝包,上傳至 /usr/local 目錄下
解壓安裝包:
# tar -xvf prometheus-2.4.0.linux-amd64.tar.gz
# mv prometheus-2.4.0.linux-amd64/ prometheus
2.2.2 啟動
Prometheus的配置文件位於 /usr/local/Prometheus/prometheus.yml ,此處采用默認配置。
進入解壓后的文件夾下,啟動Prometheus。
# cd prometheus
# ./prometheus --config.file=/usr/local/prometheus/prometheus.yml &
后台啟動
進入這個目錄 /etc/systemd/system 將這個文件放進去。
2.2.3 驗證
瀏覽器打開http://192.168.xxx.xxx:9090(IP:9090端口)即可打開普羅米修斯自帶的監控頁面
從官網下載 node_exporter-0.18.1.linux-amd64.tar.gz
安裝到被監控主機上
tar xf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64 node_exporte
啟動服務
nohup ./node_exporter &
關於nohup
nohup 是 Linux 的一個常用命令,當你想要在退出賬戶或者關閉終端后進程仍在運行時,就可以使用 nohup 命令。
nohup 就是不掛斷的意思(no hang up)。
查看端口號
ss -ntl | grep 9100
修改server端配置文件
/usr/local/Prometheus
vi prometheus.yml
依次添加agent
訪問server端ip 192.168.xxx.xxx:9090
默認監控圖像
Wbe查看是否成功
每在server端添加一台agent,就會在頁面顯示到,被監控主機。
歡迎進群討論:QQ群294668383(有意向可以添加)