1、监控主机指标

这是一篇介绍主机使用Prometheus监控CPU、磁盘、内存、负载等基础数据的文章,目前生产可用,使用的是node_exporter-0.18.1版本,操作系统是centos7.X版本,使用之前请修改job="gt-dwz-node-exporter"的值对应自己在Prometheus配置的job名称。

2、Prometheus配置项

在prometheus.yml配置文件中添加如下配置:

############gt-dwz#################- job_name: "gt-dwz-node-exporter"static_configs:- targets: ['10.1.5.123:9100','10.1.5.124:9100','10.1.5.125:9100','10.1.5.126:9100']labels:service: gt-dwz-monitor
3、PromQL判断rules文件
[root@gtcq-gt-monitor-prometheus-01 rules]# more    gt-dwz-monitor.rules
groups:
- name: dwz-gt-monitorrules:- alert: "node-Agent告警"expr: up{job="gt-dwz-node-exporter"} == 0for: 120slabels:severity: "重要"team: dwz-gt-monitoralert_type: "Agent告警" alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ $labels.instance }} 已停止采集监控数据 30s!"description: "{{ $labels.instance }} job {{ $labels.job }} 暴露监控数据已停止."- alert: "CPU使用率监控"expr: ceil(100 - sum(increase(node_cpu_seconds_total{job="gt-dwz-node-exporter",mode="idle"}[5m]))  by(instance) / sum(increase(node_cpu_seconds_total{job="gt-dwz-node-exporter"}[5m])) by(instance)*100) > 80for: 2mlabels:severity: "重要"team: bdfbalert_type: "CPU告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} CPU使用率过高"description: "IP:{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}的CPU使用大于80% (当前值: {{ $value }})"- alert: "磁盘使用率监控"expr: round((1 - (node_filesystem_avail_bytes{fstype=~"ext3|ext4|xfs|nfs",job="gt-dwz-node-exporter"} / node_filesystem_size_bytes{fstype=~"ext3|ext4|xfs|nfs",job="gt-dwz-node-exporter"
})) * 100)  > 80for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "Disk告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} : {{ $labels.mountpoint }} 分区使用率过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}的{{ $labels.mountpoint }} 分区使用大于80% (当前值: {{ $value }}%)"- alert: "内存使用率监控"expr: ceil( (1 - (node_memory_MemAvailable_bytes{job="gt-dwz-node-exporter"} / (node_memory_MemTotal_bytes{job="gt-dwz-node-exporter"})))* 100 ) > 80for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "MEM告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}内存使用率过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}内存使用大于80% (当前值: {{ $value }})"- alert: "服务器大法宝CPULoad5"expr: node_load5{job="gt-dwz-node-exporter"} > 100for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "负载告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}CPU负载过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} CPU负载load大于100 (当前值: {{ $value }})"- alert: "服务器文件句柄监控"expr: node_filefd_allocated{job="gt-dwz-node-exporter"} > 50000for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "文件句柄告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 文件句柄使用过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 文件句柄使用过高大于50000 (当前值: {{ $value }})"- alert: "服务器TCP连接数监控"expr: node_sockstat_TCP_tw{job="gt-dwz-node-exporter"} > 15000for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "TCP连接数告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 等待关闭的TCP连接数过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 等待关闭的TCP连接数TIME_WAIT过高大于15000 (当前值: {{ $value }})"- alert: "服务器入口流量监控"expr: round((sum by (instance)  (irate(node_network_receive_bytes_total{job="gt-dwz-node-exporter",device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[5m])))/1024/1024) > 50for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "流量告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}监控入口流量过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 监控入口流量过高过高大于50MB (告警值: {{ $value }}MB)"- alert: "服务器出口流量监控"expr: round((sum by (instance)  (irate(node_network_transmit_bytes_total{job="gt-dwz-node-exporter",device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[5m])))/1024/1024) > 50for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "流量告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 监控出口流量过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} 监控出口流量过高过高大于50MB (告警值: {{ $value }}MB)"
[root@gtcq-gt-monitor-prometheus-01 rules]#
4、测试告警

修改磁盘阈值如下:

  - alert: "磁盘使用率监控"expr: round((1 - (node_filesystem_avail_bytes{fstype=~"ext3|ext4|xfs|nfs",job="gt-dwz-node-exporter"} / node_filesystem_size_bytes{fstype=~"ext3|ext4|xfs|nfs",job="gt-dwz-node-exporter"})) * 100)  > 10for: 2mlabels:severity: "重要"team: dwz-gt-monitoralert_type: "Disk告警"alert_host: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}"annotations:summary: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }} : {{ $labels.mountpoint }} 分区使用率过高"description: "{{ reReplaceAll \":(.*)\" \"\" $labels.instance }}的{{ $labels.mountpoint }} 分区使用大于10% (当前值: {{ $value }}%)"


Prometheus-监控主机基础指标配置及告警相关推荐

  1. CentOS7安装可移植Prometheus+grafana--alertmanager配置邮件告警

    背景 前两篇博文我们介绍了Prometheus及其相关的监控组件,本次我们记录一下告警组件:alertmanager 安装配置 获取安装包 官方下载地址:https://prometheus.io/d ...

  2. 实用干货丨如何使用Prometheus配置自定义告警规则

    前 言 Prometheus是一个用于监控和告警的开源系统.一开始由Soundcloud开发,后来在2016年,它迁移到CNCF并且称为Kubernetes之后最流行的项目之一.从整个Linux服务器 ...

  3. Prometheus监控主机的配置

    Prometheus监控主机的配置 exporter介绍 node_exporter 安装部署 Prometheus配置 重启Prometheus服务 查看Prometheus的UI界面 export ...

  4. Prometheus+Grafana监控安装及配置JVM实现企业微信告警

    背景 本人Java开发工程师一枚,主攻后端,需要搭建一套Prometheus+Grafana的监控系统,采用企业微信告警通知.在网上各种查阅资料的同时,发现很多资料都大致相通且不完整,踩坑无数,经过多 ...

  5. Prometheus Operator 配置PrometheusRule告警规则

    PrometheusRule 用于配置 Prometheus 的 Rule 规则文件,包括 recording rules 和 alerting,可以自动被 Prometheus 加载. 配置 Pro ...

  6. Prometheus监控系部署配置过程

    一.前言 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB),基于Go语言开发,是Google BorgMon监控系统的开源版本.Prometheus在201 ...

  7. Prometheus 监控基础

    Prometheus 监控基础 监控系统基础 监控系统发展史 SNMP监控时代 第一代主要是监控网络流量和网络设置为主的时代,在那个时代主要是通过SNMP协议监控交换机.路由器.网关.操作系统等,通过 ...

  8. Prometheus 监控报警系统 AlertManager 之邮件告警

    文章目录 1.Prometheus & AlertManager 介绍 2.环境.软件准备 3.启动并配置 Prometheus 3.1.Docker 启动 Prometheus 3.2.Do ...

  9. 基于prometheus的网络指标监控

    1 网络指标监控 网络设备(交换机.路由器.防火墙)本身并没有太多的监控方式,常规的是使用snmp,通过oid去采集网络设备的指标,例如,流量或者错包,不过近年来也出现了新的采集方式,例如,telem ...

最新文章

  1. MySQL 用户与授权管理详解
  2. keras,在 fit 和 evaluate 中 都有 verbose 这个参数标记是否打印进度条
  3. python计算圆的面积
  4. C++中的STL--结构概览
  5. “视网膜”重装来袭 AI技术为视频业务场景赋能
  6. PHP中静态方法(static)与非静态方法的使用及区别
  7. win8的开始菜单不见了怎么办
  8. 数据科学入门与实战:玩转pandas之七数据透视
  9. Flutter-ThemeData详解
  10. Day 5-7 exec 和元类的创建.
  11. 网站实现GNSS数据批量下载
  12. 在ADSP-BF561上使用x264(4):确认热点
  13. VC学习路线书籍+视频
  14. 带宽与宽带的区别是什么?
  15. 音频频谱 via FFT
  16. 本机php环境搭建教程:windows环境下wampserver的配置教程——超级详细
  17. GEE(8):使用MODIS填补由去云后的Landsat影像计算得到的NDVI数据
  18. H5网站-微信浏览器中打开底部fixed遮住内容区域问题
  19. python time模块_Python time模块和datetime模块
  20. hadoop机架感知原理

热门文章

  1. python tkinter.Text 高级用法 -- 设计功能齐全的文本编辑器
  2. 00018计算机应用基础知识点归纳,自考00018计算机应用基础汇总资料.doc
  3. 邮储银行的规模有多大?凭什么可以成为第6大国有银行?
  4. 通过读取学生txt,进而实现随机选人(包含对应人物照片)并用GUI实现
  5. 管家婆商品库存盘点功能
  6. 魔兽世界正式服哪个服务器稳定,魔兽世界正式服什么职业厉害2021
  7. 【2020年高被引学者】 田奇 华为
  8. 关于Win10的powerdesigner16的缩放问题,字体和图标
  9. 2022高教杯思路 数模思路
  10. 你不一定知道这个用 Python 快速设置 Excel 表格边框的技巧