监控指标以及prometheus规则-不断完善中

(1)node exporter 标准性能指标

1)监控项
cpu使用率: (100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) 100))
内存使用率:(100 - (((node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes)/node_memory_MemTotal_bytes)
100))
磁盘使用率:(1- (node_filesystem_free_bytes{fstype=~"ext3|ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext3|ext4|xfs"}) ) * 100

2)prometheus规则

groups:
- name: alert-rule
    rules:
    - alert: NodeFilesystemUsage-high
        expr: (1-  (node_filesystem_free_bytes{fstype=~"ext3|ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext3|ext4|xfs"}) ) * 100 > 80
        for: 2m
        labels:
            severity: warning
        annotations:
            summary: "{{$labels.instance}}: High Node Filesystem usage detected"
            description: "{{$labels.instance}}: Node Filesystem usage is above 80% ,(current value is: {{ $value }})"
    - alert: NodeMemoryUsage
        expr: (100 - (((node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes)/node_memory_MemTotal_bytes) * 100))  > 80
        for: 2m
        labels:
            severity: warning
        annotations:
            summary: "{{$labels.instance}}: High Node Memory usage detected"
            description: "{{$labels.instance}}: Node Memory usage is above 80% ,(current value is: {{ $value }})"
    - alert: NodeCPUUsage
        expr: (100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100))  > 80
        for: 2m
        labels:
            severity: warning
        annotations:
            summary: "{{$labels.instance}}: Node High CPU usage detected"
            description: "{{$labels.instance}}: Node CPU usage is above 80% ,(current value is: {{ $value }})"

(2)mysql 监控性能指标

1)mysql性能指标

mysql is down :mysql_up

每秒查询次数指标:rate(mysql_global_status_slow_queries[5m])

连接数指标:rate(mysql_global_status_threads_connected[5m]) > 200
    或可用连接mysql_global_variables_max_connections - mysql_global_status_threads_connected <200

慢查询:rate(mysql_global_status_slow_queries[5m])

mysql主从复制 sql线程: mysql_slave_status_slave_sql_running
 mysql主从延迟:rate(mysql_slave_status_seconds_behind_master[5m])

2)prometheus规则

groups:
- name: MySQLStatsAlert
    rules:
    - alert: MySQL is down
        expr: mysql_up == 0
        for: 1m
        labels:
            severity: critical
        annotations:
            summary: "Instance {{ $labels.instance }} MySQL is down"
            description: "MySQL database is down. This requires immediate action!"
    - alert: Mysql_High_QPS
        expr: rate(mysql_global_status_questions[5m]) > 500
        for: 2m
        labels:
            severity: warning
        annotations:
            summary: "{{$labels.instance}}: Mysql_High_QPS detected"
            description: "{{$labels.instance}}: Mysql opreation is more than 500 per second ,(current value is: {{ $value }})"
    - alert: Mysql_Too_Many_Connections
        expr: rate(mysql_global_status_threads_connected[5m]) > 200
        for: 2m
        labels:
            severity: warning
        annotations:
            summary: "{{$labels.instance}}: Mysql Too Many Connections detected"
            description: "{{$labels.instance}}: Mysql Connections is more than 100 per second ,(current value is: {{ $value }})"
    - alert: Mysql_Too_Many_slow_queries
        expr: rate(mysql_global_status_slow_queries[5m]) > 3
        for: 2m
        labels:
            severity: warning
        annotations:
            summary: "{{$labels.instance}}: Mysql_Too_Many_slow_queries detected"
            description: "{{$labels.instance}}: Mysql slow_queries is more than 3 per second ,(current value is: {{ $value }})"
    - alert: SQL thread stopped
        expr: mysql_slave_status_slave_sql_running == 0
        for: 1m
        labels:
            severity: critical
        annotations:
            summary: "Instance {{ $labels.instance }} SQL thread stopped"
            description: "SQL thread has stopped. This is usually because it cannot apply a SQL statement received from the master."
    - alert: Slave lagging behind Master
        expr: rate(mysql_slave_status_seconds_behind_master[5m]) >30
        for: 1m
        labels:
            severity: warning
        annotations:
            summary: "Instance {{ $labels.instance }} Slave lagging behind Master"
            description: "Slave is lagging behind Master. Please check if Slave threads are running and if there are some performance issues!"

(3)pod性能指标
1)容器性能指标

pod的cpu使用率:container_memory_usage_bytes{container_name!=""} / container_spec_memory_limit_bytes{container_name!=""}  *100 != +Inf
pod的内存使用率: sum by (pod_name)( rate(container_cpu_usage_seconds_total{image!=""}[1m] ) ) * 100

2)prometheus规则

groups:
- name: noah_pod.rules
  rules:
  - alert: PodMemUsage
    expr: container_memory_usage_bytes{container_name!=""} / container_spec_memory_limit_bytes{container_name!=""}  *100 != +Inf > 80
    for: 2m
    labels:
      severity: warning
    annotations:
      summary: "{{$labels.name}}: Pod High Mem usage detected"
      description: "{{$labels.name}}: Pod Mem is above 80% ,(current value is: {{ $value }})"
  - alert: PodCpuUsage
    expr: sum by (pod_name)( rate(container_cpu_usage_seconds_total{image!=""}[1m] ) ) * 100 > 80
    for: 2m
    labels:
      severity: warning
    annotations:
      summary: "{{$labels.name}}: Pod High CPU usage detected"
      description: "{{$labels.name}}: Pod CPU is above 80% ,(current value is: {{ $value }})"

参考文档:

http://ylzheng.com/2018/04/02/use-prometheus-monitor-mysql/
https://www.cnblogs.com/zengkefu/p/5658252.html
https://blog.csdn.net/qq_25934401/article/details/82594478
https://blog.csdn.net/qq_39570637/article/details/81711328
https://blog.csdn.net/ichglauben/article/details/82381438

原文地址:https://blog.51cto.com/1000682/2374417

时间: 2024-10-09 23:08:56

监控指标以及prometheus规则-不断完善中的相关文章

Docker学习(12):Docker监控方案之Prometheus

Docker常用的监控方案 Prometheus Prometheus架构 Prometheus是一种很不错的监控方案,它提供了监控数据搜集.存储.处理.可视化和警告一套完整的解决方案,下面是Prometheus的架构 Prometheus Server Prometheus Server负责从Exporter拉取和存储监控数据,并提供一套灵活的查询语言(PromQL)供用户使用 Exporter Exporter负责收集目标对象(host,container...)的性能数据,并通过HTTP接

Kubernetes 监控方案之 Prometheus Operator(十七)

目录 一.Prometheus 介绍 1.1.Prometheus 架构 1.2.Prometheus Operator 架构 二.安装部署 2.1.安装 一.Prometheus 介绍 Prometheus Operator 是 CoreOS 开发的基于 Prometheus 的 Kubernetes 监控方案,也可能是目前功能最全面的开源方案. Prometheus Operator 通过 Grafana 展示监控数据,预定义了一系列的 Dashboard 1.1.Prometheus 架构

Mysql基础代码(不断完善中)

Mysql基础代码,不断完善中~ 1 //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. 2 3 4 /* [命名规则] */ 5 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 6 变量名建议用下划线方式分隔 // $var_name 7 函数名建议用驼峰命名法 // varName 8 定界符建议全大写 // <<<DING, <<<'DING' 9 文件名建议全小写和下划线.数字 // func_n

对整站的a链接进行监控,对匹配规则进行指定页面的跳转

项目中有个需求,就是将非本站的链接跳转到过渡页(提示即将离开本站的那种页面).这个时候想起了腾讯邮箱,不安全链接会有新的页面提示,如下图: 本以为ASP.NET中有全局的方法获取到点击或者跳转的链接,结果也没找到.Request和Response都取不到的,HttpModule,HttpHandle,Global中也一样,毕竟跳转之后是到别人的网站上去了.不晓得IIS上能否监控的到.最后只能在a标签上加Onclick了.由于a标签的onclick要比href先执行,所以把a标签统一加上oncli

php 基础代码大全(不断完善中)

下面是基础的PHP的代码,不断完善中~ 1 //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. 2 3 4 /* [命名规则] */ 5 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 6 变量名建议用下划线方式分隔 // $var_name 7 函数名建议用驼峰命名法 // varName 8 定界符建议全大写 // <<<DING, <<<'DING' 9 文件名建议全小写和下划线.数字 // fun

apache kafka系列之-监控指标

apache kafka中国社区QQ群:162272557 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提示 a.短信方式 b.邮件 2.监控内容 2.1 机器监控 Kafkaserver指标 CPU Load Disk IO Memory 磁盘log.dirs文件夹下数据文件大小,要有定时清除策略 2.2 JVM监控 主要监控JAVA的 GC time(垃圾回收时间).JAVA的垃圾回收机制对性能的影响比較明显 2.3 Kafka系统监控 1.Kafka整体监

性能测试-监控指标数据分析

监控指标数据分析 1.最大并发用户数: 应用系统在当前环境(硬件环境.网络环境.软件环境(参数配置))下能承受的最大并发用户数. 在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数. 如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK.否则,再根据各服务器的资源情况和业务操作响应时间进一步分

mysql主要性能监控指标

1.系统mysql的进程数 ps -ef | grep "mysql" | grep -v "grep" | wc –l 2.Slave_running mysql > show status like 'Slave_running'; 如果系统有一个从复制服务器,这个值指明了从服务器的健康度 3.Threads_connected mysql > show status like 'Threads_connected'; 当前客户端已连接的数量.这个值

JMX对weblogic的监控指标小结

weblogicServier实现了JMX规范,提供了各种各样的MBeans对WebLogic Server的各项配置及性能进行监控的API. 通过weblogic提供的API可以对server(服务),cluster(集群)等进行监控.下面主要罗列对server进行监控的指标. 1.常用一般监控指标 指标名 指标描述 MBean属性 服务状态 此服务器的当前生命周期状态.例如,服务器可以处于 RUNNING 状态,在该状态下,它可以接收和处理请求,也可以处于 ADMIN 状态,在该状态下,它只