ps-1 promesql监控alertmanager告警

#统计 nginx Vhost 平均状态码占比
sum(nginx_server_requests{code="2xx",host="onepower.sit.industry-cmcc.com"})/sum(nginx_server_requests{code="total",host="onepower.sit.industry-cmcc.com"})*100

https://blog.51cto.com/u_15127511/2657874
####Mysqld_exporter 监控项解释:https://blog.csdn.net/qq_38925100/article/details/115187969

https://www.cnblogs.com/hujinzhong/p/15001755.html    promesql学习文档    https://www.prometheus.wang/promql/prometheus-query-language.html

remote_timeout详解: https://www.cnblogs.com/gavin11/p/12668294.html

#统计平均 CPU
avg(100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance) *100))
#统计平均 内存
avg(100-(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes)/node_memory_MemTotal_bytes*100)
#--------------------------------------------------------------
# CPU使用情况
# 2) cpu使用率:------重点
(1 - sum(rate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[1m])) by (instance) / sum(rate(node_cpu_seconds_total{job="node_exporter"}[1m])) by (instance) ) 

1) cpu负载情况
node_load1{job="node_exporter"}
node_load5{job="node_exporter"}
node_load15{job="node_exporter"}

3) cpu 空闲模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
4) cpu user模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="user"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
5) cpu system模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="system"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
6) nice 模式占比
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="nice"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
7) iowait 模式占比
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="iowait"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
8) cpu 核数
count(node_cpu_seconds_total{job="node_exporter",mode='system'}) by (instance)

#--------------------------------------------------------------
# 内存使用情况
# 2) 内存使用率------重点
(1- (node_memory_Buffers_bytes{job="node_exporter"} + node_memory_Cached_bytes{job="node_exporter"} + node_memory_MemFree_bytes{job="node_exporter"}) / node_memory_MemTotal_bytes{job="node_exporter"})*100

1) 空闲内存占比
node_memory_MemFree_bytes{job="node_exporter",instance=~"$host"}/ node_memory_MemTotal_bytes{job="node_exporter",instance=~"$host"}
 
3) 缓冲内存
node_memory_Buffers_bytes{job="node_exporter"}
 
4) 缓存内存
node_memory_Cached_bytes{job="node_exporter"}
 
5) 空闲内存
node_memory_MemFree_bytes{job="node_exporter"}
 
6) 交换内存
node_memory_SwapFree_bytes{job="node_exporter"}
 
7) 已用内存
node_memory_MemTotal_bytes{job="node_exporter"}-(node_memory_Buffers_bytes{job="node_exporter"} + node_memory_Cached_bytes{job="node_exporter"} + node_memory_MemFree_bytes{job="node_exporter"})

#--------------------------------------------------------------
# DISK使用情况
# 1)"/"磁盘使用率(文件系统类型为 ext.?或 xfs的)--------------重点
(node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"} - node_filesystem_free_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}) / node_filesystem_size_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}

(node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/data"} - node_filesystem_free_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/data"}) / node_filesystem_size_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/data"}
 
2)"/"磁盘大小
node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}
 
3)"/"磁盘剩余空间
node_filesystem_free_bytes{fstype="ext4", job="node_exporter",mountpoint="/"}
 
4)磁盘每秒读取(1h内)
sum by (instance) (rate(node_disk_reads_completed_total{job="node_exporter"}[1h]))
 
5)磁盘每秒写入(1h内)
sum by (instance)(rate(node_disk_writes_completed_total{job="node_exporter"}[1h]))
 
6)磁盘每秒读写总数(1h内)
sum by (instance) (rate(node_disk_reads_completed_total{job="node_exporter"}[1h]))+sum by (instance)(rate(node_disk_writes_completed_total{job="node_exporter"}[1h]))
 
指标注释:
node_disk_writes_completed_total   #成功写操作的总次数
node_disk_reads_completed_total    #成功读操作的总次数
node_filesystem_size_bytes         #文件系统大小
node_filesystem_free_bytes         #文件系统空闲空间

#--------------------------------------------------------------
# 网络速率
1)上传速率:
rate(node_network_transmit_bytes_total{job="node_exporter"}[5m])
2)下载速率:
rate(node_network_receive_bytes_total{job="node_exporter"}[5m])
3)TCP连接数:
sum(time() - node_boot_time_seconds{job="node_exporter"})by(instance)
  - job_name: "pushgateway"
    scrape_interval: 30s
    honor_labels: true #加上此配置exporter节点上传数据中的一些标签将不会被pushgateway节点的相同标签覆盖
    static_configs:
      - targets: ['localhost:9091']
        labels:
          instance: pushgateway
#远程推送任务

参考文档:
告警:https://blog.51cto.com/u_12965094/2687946
https://www.kancloud.cn/pshizhsysu/prometheus/1803806
https://www.cnblogs.com/jsonhc/p/13702974.html


Alertmanager 是 Prometheus 生态系统中的一个组件,负责处理来自 Prometheus 的告警,并根据配置进行告警的抑制、分组和路由。以下是 Alertmanager 全量配置的详解,包括主要配置项及其作用。

1. 基本配置

global:
  resolve_timeout: 5m  # 解析超时时间
  # 其他全局配置项

2. 告警接收器配置

route:
  group_by: ['alertname']  # 按照哪些标签进行分组
  group_wait: 30s          # 首次告警等待时间
  group_interval: 5m       # 分组告警的间隔时间
  repeat_interval: 3h      # 重复告警的间隔时间
  routes:
    - match:
        severity: critical
      receiver: 'pagerduty'  # 指定接收器

3. 接收器配置

receivers:
  - name: 'pagerduty'
    pagerduty_configs:
      - service_key: 'your_service_key'  # PagerDuty 服务密钥
        severity: 'critical'               # 告警严重性

4. 抑制配置

inhibit_rules:
  - source_match:
      severity: warning
    target_match:
      severity: critical
    equal: ['alertname', 'cluster']  # 抑制条件

5. 其他配置

templates:
  - './alertmanager/template/*.tmpl'  # 模板路径

6. 启动配置

在启动 Alertmanager 时,可以通过命令行参数指定配置文件:

./alertmanager --config.file=alertmanager.yml

总结

Alertmanager 的配置文件主要由全局配置、路由配置、接收器配置、抑制规则和模板组成。通过合理配置这些项,可以有效管理和处理告警,确保及时响应和处理。

如果需要更详细的配置示例或特定功能的实现,请告知!

posted @ 2022-01-11 10:16  冰冷的火  阅读(120)  评论(0)    收藏  举报