k8s全方位监控中-常用rules配置
- [root@VM_0_48_centos prometheus]# cat alertmanager-configmap.yaml
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: alertmanager-config
- namespace: kube-system
- labels:
- kubernetes.io/cluster-service: "true"
- addonmanager.kubernetes.io/mode: EnsureExists
- data:
- alertmanager.yml: |
- global:
- resolve_timeout: 5m
- smtp_smarthost: 'smtp.163.com:25'
- smtp_from: 'xjq18125012766@163.com'
- smtp_auth_username: 'xjq18125012766@163.com'
- smtp_auth_password: 'test123'
- smtp_require_tls: false
- route:
- group_by: ['alertname']
- group_wait: 10s
- group_interval: 30s
- repeat_interval: 10s
- receiver: 'mail'
- receivers:
- - name: 'mail'
- email_configs:
- - to: '2654071080@qq.com'
- [root@VM_0_48_centos prometheus]# cat prometheus-rules.yaml
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: prometheus-rules-config
- namespace: kube-system
- labels:
- kubernetes.io/cluster-service: "true"
- addonmanager.kubernetes.io/mode: EnsureExists
- data:
- pods.yml: |
- groups:
- - name: pod.rules
- rules:
- - alert: InstanceDown
- expr: up == 0
- for: 2m
- labels:
- severity: error
- annotations:
- summary: "监控采集器{{ $labels.instance }}停止工作"
- value: "{{ $value }}"
- - alert: PodSvcDown
- expr: probe_success == 0
- for: 1m
- labels:
- severity: error
- annotations:
- summary: "容器代理服务{{ $labels.instance }}停止工作"
- value: "{{ $value }}"
- - alert: MysqlCon
- expr: MysqlCon_metric > 40
- for: 1m
- labels:
- severity: warning
- annotations:
- summary: "mysql连接数过高"
- value: "{{ $value }}"
- - alert: PodCpuUsage
- expr: sum by(pod_name, namespace) (rate(container_cpu_usage_seconds_total{image!=""}[1m])) * 100 > 80
- for: 5m
- labels:
- severity: warning
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod_name }} CPU使用率超过80%"
- value: "{{ $value }}"
- - alert: PodMemoryUsage
- expr: sum(container_memory_rss{image!=""}) by(pod_name, namespace) / sum(container_spec_memory_limit_bytes{image!=""}) by(pod_name, namespace) * 100 != +inf > 80
- for: 5m
- labels:
- severity: warning
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod_name }} 内存使用率超过80%"
- value: "{{ $value }}"
- - alert: PodFailed
- expr: sum (kube_pod_status_phase{phase="Failed"}) by (pod,namespace) > 0
- for: 1m
- labels:
- severity: error
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod }} pod status is Failed"
- value: "{{ $value }}"
- - alert: PodPending
- expr: sum (kube_pod_status_phase{phase="Pending"}) by (pod,namespace) > 0
- for: 1m
- labels:
- severity: error
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod }} status is Pending"
- value: "{{ $value }}"
- - alert: PodNetworkReceive
- expr: sum (rate (container_network_receive_bytes_total{image!="",name=~"^k8s_.*"}[5m]) /1000) by (pod_name,namespace) > 30000
- for: 5m
- labels:
- severity: warning
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod_name }} 接受到的网络入流量大于30MB/s"
- value: "{{ $value }}K/s"
- - alert: PodNetworkTransmit
- expr: sum (rate (container_network_transmit_bytes_total{image!="",name=~"^k8s_.*"}[5m]) /1000) by (pod_name,namespace) > 30000
- for: 5m
- labels:
- severity: warning
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod_name }} 传输的网络出流量大于30MB/s"
- value: "{{ $value }}K/s"
- - alert: PodRestart
- expr: sum (changes (kube_pod_container_status_restarts_total[1m])) by (pod,namespace) > 0
- for: 5s
- labels:
- severity: warning
- annotations:
- summary: "容器ns: {{ $labels.namespace }} | pod: {{ $labels.pod }} pod is restart"
- value: "{{ $value }}"
- nodes.yml: |
- groups:
- - name: node.rules
- rules:
- - alert: NodeFilesystemUsage
- expr: 100 - (node_filesystem_free_bytes{device="rootfs"} / node_filesystem_size_bytes{device="rootfs"} * 100) > 85
- for: 1m
- labels:
- severity: warning
- annotations:
- summary: "主机 {{ $labels.instance }} : {{ $labels.mountpoint }} 分区使用率超过80%"
- value: "{{ $value }}"
- - alert: NodeMemoryUsage
- expr: 100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 > 80
- for: 5m
- labels:
- severity: warning
- annotations:
- summary: "主机 {{ $labels.instance }} 内存使用率超过80%"
- value: "{{ $value }}"
- - alert: NodeCPUUsage
- expr: 100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100) > 80
- for: 5m
- labels:
- severity: warning
- annotations:
- summary: "主机 {{ $labels.instance }} CPU使用率超过80%"
- value: "{{ $value }}"
2、展示结果
k8s全方位监控中-常用rules配置的更多相关文章
- 前端Vue中常用rules校验规则
前提 在 vue开发中,难免遇到各种表单校验,这里整理了网络上和自己平时高频率用到的一些校验方法.如果错误欢迎指出,后期不断补充更新. 1.是否合法IP地址 export function valid ...
- Apache运维中常用功能配置笔记梳理
Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维 ...
- k8s全方位监控-prometheus-alertmanager部署-配置第一条告警邮件
1.alertmanager告警插件部署 [root@VM_0_48_centos prometheus]# cat alertmanager-pvc.yaml apiVersion: v1 kind ...
- k8s全方位监控-prometheus-配置文件介绍以及基于文件服务发现
1.scrape_configs 参数介绍 # 默认的全局配置 global: scrape_interval: 15s # 采集间隔15s,默认为1min一次 evaluation_interval ...
- k8s全方位监控-prometheus部署
1.k8s 监控资源对象 2. prometheus简单介绍. https://github.com/prometheus •多维数据模型:由度量名称和键值对标识的时间序列数据•PromSQL:一种灵 ...
- k8s全方位监控 -prometheus实现短信告警接口编写(python)
1.prometheus短信告警接口实现(python)源码如下: import subprocess from flask import Flask from flask import reques ...
- maven的pom.xml配置文件中常用的配置标签解析(2018-03-13)
来自:https://www.cnblogs.com/Nick-Hu/p/7288198.html 拿过来记录下 <project xmlns="http://maven.apache ...
- vue-cli3.x中的webpack配置,优化及多页面应用开发
官方文档 vue-cli3以下版本中,关于webpack的一些配置都在config目录文件中,可是vue-cli3以上版本中,没有了config目录,那该怎么配置webpack呢? 3.x初始化项目后 ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...
随机推荐
- makefile 编译多个目标
1.静态库libtools.a源码 libtools.h #ifndef tools_h_ #define tools_h_ int sub(int x,int y); int mul(int x,i ...
- JOISC 2017
Day1 「JOISC 2017 Day 1」开荒者 首先观察部分分发现分档很多,于是考虑一步步思考上来. 首先有一点关键观察(一): 风吹的顺序是无所谓的,令分别往东.西.南.北吹了 \(r, l, ...
- 【转载】Locust实现集合点
直接编写接口事务脚本对后台接口进行测试:有时测试需要让所有并发用户完成初始化后再进行压力测试,这就需要类似于LoadRunner中的集合点的概念,由于框架本身没有直接封装,有如下办法实现: from ...
- 论java中System.arrayCopy()与Arrays.copyOf()的区别
如果我们想拷贝一个数组,我们可能会使用System.arraycopy()或者Arrays.copyof()两种方式.在这里,我们将使用一个比较简单的示例来阐述两者之间的区别. 首先先说System. ...
- Shell循环练习题
Shell循环练习题 目录 Shell循环练习题 1.计算从1到100所有整数的和 2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和 3.求从1到100所有整数的偶数和.奇数和 ...
- 一文说透https中的s是什么?
一.HTTP 与 HTTPS 有哪些区别? 1. HTTP 是超文本传输协议,信息是明文传输,存在安全风险.HTTPS ,是在 TCP 和网络层之间加入了 SSL/TLS 安全协议,也就是安全套接字层 ...
- 在VMware上安装Linux虚拟机
1.新建虚拟机 2.选择典型安装 3.点击稍后安装操作系统 4.选择类型和版本 5.选择一个英文路径 6. 7.调整硬件 8. 9. 10.选择第一项 11.选择中文 12.选择最小安装 13. 14 ...
- 基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台
1.板卡概述 板卡由我公司自主研发,基于6UCPCI架构,处理板包含双片TI DSP TMS320C6678芯片:一片Xilinx公司FPGA XC7K420T-1FFG1156 芯片:六个千兆网口( ...
- opencv笔记--Kmeans
在图像分割中,使用 kmeans 算法可以实现图像区域基本分割.如果一幅图像被分为两类,kmeans 分割效果与 ostu 算法基本一致,具体如下图: kmeans 将图像灰度聚类为 k 类, ...
- 论文解读(DAEGC)《Improved Deep Embedded Clustering with Local Structure Preservation》
Paper Information Title:<Attributed Graph Clustering: A Deep Attentional Embedding Approach>Au ...