prometheus 持久查詢
有三種方法可以使我們的持久查詢(不用每次都要輸入查詢規則):
- 記錄規則 - 從查詢中創建新的指標。
- 警報規則 - 從查詢生成警報。
- 可視化 - 使用像Grafana這樣的儀表盤來可視化查詢。
記錄規則
1、記錄規則是一種計算新時間序列的方法,特別是從輸入的時間序列中聚合的時間序列。我們可以這樣做:
- 跨多個時間序列生成聚合。
- 預計算昂貴的查詢,即消耗大量時間或計算能力的查詢。
- 生成一個時間序列,我們可以用它來生成警報
2、配置記錄規則
記錄規則存儲在Prometheus服務器上,存儲在Prometheus服務器加載的文件中。規則是自動計算的,頻率由prometheus.yml 全局塊中的evaluation_interval參數控制。
cd /usr/local/prometheus/conf mkdir -p rules cd rules touch node_rules.yml 修改 prometheus.yml 文件 rule_files: - "rules/node_rules.yml"

3、添加記錄規則
命名規則建議:
- level:metric:operations
例如: instance: node_cpu:avg_rate5m
node_rules.yml文件內容
groups:
- name: node_rules
interval: 10s
rules:
- record: instance:node_cpu:avg_rate5m
expr: 100 - avg (irate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[5m])) by (instance) * 100
labels:
metric_type: shhnwangjian
多條
groups:
- name: node_rules
interval: 10s
rules:
- record: instance:node_cpu:avg_rate5m
expr: 100 - avg (irate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[5m])) by (instance) * 100
labels:
metric_type: shhnwangjian
- record: instance:node_memory_usage:percentage
expr: (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes)) / node_memory_MemTotal_bytes * 100
- record: instance:root:node_filesystem_usage:percentage
expr: (node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}) / node_filesystem_size_bytes{mountpoint="/"} * 100
修改配置文件后重加載
ps -ef|grep prom |grep -v grep|awk '{print $2}'|xargs kill -HUP
