中文文檔:https://songjiayang.gitbooks.io/prometheus/content/introduction/
端口:9090
監控模式:
pull 主動拉取的形式 --->exporters,通過各種exporters組件
push被動推送的形式 --> pushgateway
metrics:
gauges: 瞬時狀態,隨機變化
例如:衡量一個待處理隊列中任務的個數
磁盤的容量或內存的使用量
counters:計數器
histograms:比例型
統計數據分布情況:最小值,最大值,中間值,中位數
cpu使用率
(1- (sum(increase(node_cpu{mode="idle"}[1m])) /sum(increase(node_cpu{}[1m])))) * 100
prometheus安裝
容器安裝:
docker run -d --name prom \ -p 9090:9090 \ -v /opt/srv/prom/etc/:/etc/prometheus \ -v /opt/srv/prom/promdata:/prometheus \ prom/prometheus --storage.tsdb.retention.time=365d --web.enable-lifecycle --web.external-url=http://xxx:9090 --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus
alermanager安裝
docker run -d --name alert \ -p 9093:9093 \ -v /opt/srv/prom/etc/:/etc/alertmanager \ -v /opt/srv/prom/alertdata:/prometheus \ prom/alertmanager
grafana安裝
docker run -d --name grafana \ -p 80:3000 \ -v /opt/srv/grafana/etc:/etc/grafana \ -v /opt/srv/grafana/data:/var/lib/grafana \ -v /opt/srv/grafana/log:/var/log/grafana \ -v /opt/srv/grafana/plugins:/var/lib/grafana/plugins \ grafana/grafana
動態加載配置
curl -XPOST http://xx:9093/-/reload
curl -XPOST http://xx:9090/-/reload
hot reload 功能是默認關閉的,如需開啟,需要在啟動 Prometheus 的時候,添加 --web.enable-lifecycle
參數。
prometheus常見配置
PromQL
常用的函數
rate() 函數
計算范圍向量中時間序列的每秒平均增長率
專門搭配counter類型使用的函數,取counter這個時間段中的平均每秒中的增量
irate(http_requests_total{job="api-server"}[5m])
irate()
計算范圍向量中時間序列的每秒即時增長率
irate(http_requests_total{job="api-server"}[5m])
increase() 計算范圍向量中時間序列的增加。
取一段時間增量的總量
示例:increase(http_requests_total{job="api-server"}[5m])
聚合運算
sum()
min()
max()
avg()
by()
topk() 支持 gauge, counter類型
count())
altermanager告警
級別:
warning
critical
告警策略: