grafanaprometheus 快速配置报警规则及报警接收
系列文章目录
1、使用helm快速安装 grafana&prometheus
2、利用grafana&prometheus 快速配置 k8s & 主机监控
3、grafana&prometheus 快速配置报警规则及报警接收
文章目录
- 系列文章目录
- 前言
- 报警设置选型
- 配置prometheus报警rule
- 导出对应服务配置
- 新增服务配置
- 新增报警管理器(alertmanager)配置,让产生的告警发送到邮箱
- 参考资料
前言
前两回讲了如何做大屏dashborad监控,本节课给大家讲解快速将 metrics 指标 配置到告警中(超过阈值报警)。
学习完本节课,你将会快速配置你的监控项目。
报警设置选型
前文讲过 grafana&prometheus 的安装及配置,其实这两个服务内部都会有报警配置项的。
配置界面分别如下:
prometheus支持通过配置文件自定义分组配置,比较灵活。
Grafana中的报警配置是基于图表创建时的聚合参数构建的,如果有报警需要是与页面显示相关的推荐使用Grafana的报警。
但是一般模板系统的报警规则,这里推荐使用prometheus进行设置。
配置prometheus报警rule
我们已经通过helm安装完了prometheus,我现在想看下prometheus的安装配置是什么样子的。这里需要helm pull一下,我们需要看看配置规则到底设置到哪里了。
helm pull apphub/prometheus-operator
tar xvf prometheus-10.4.0.tgz
cd prometheus
vim README.md
这个README.md里面有更加细致的 values.yaml参数,现在贴到下面:
Parameter | Description | Default |
---|---|---|
alertmanager.configFromSecret
|
The name of a secret in the same kubernetes namespace which contains the Alertmanager config, setting this value will prevent the default alertmanager ConfigMap from being generated |
""
|
alertmanager.configFileName
|
The configuration file name to be loaded to alertmanager. Must match the key within configuration loaded from ConfigMap/Secret. |
alertmanager.yml
|
alertmanager.configFileName 报警管理器,核心配置是维护到ConfigMap中的。
导出对应服务配置
kubectl get configMap my-prometheus-server -o yaml > prometheus-server-config.yaml
核心内容如下:
apiVersion: v1
data:alerts: |{}
....prometheus.yml: |global:evaluation_interval: 1mscrape_interval: 1mscrape_timeout: 10srule_files:- /etc/config/recording_rules.yml- /etc/config/alerting_rules.yml- /etc/config/rules- /etc/config/alertsscrape_configs:- job_name: prometheus
...
在rule_files中新增对应配置参数即可。
新增服务配置
我们以k8s服务监控举例,有很多成型的报警规则我们可以直接使用:
参考网址:https://awesome-prometheus-alerts.grep.to/rules#kubernetes
规则都是现成的我们直接用即可。
下面开始编辑我们的配置文件:
核心内容如下:
vim prometheus-server-config.yaml
apiVersion: v1
data:alerts: |{}kube_state_metrics.yml: |groups:- name: kube_state_metricsrules:...#增加从上面拷贝的内容即可注意缩进,比如下面#- alert: KubernetesNodeReady# expr: kube_node_status_condition{condition="Ready",status="true"} == 0# for: 10m# labels:# severity: critical# annotations:# summary: Kubernetes Node ready (instance {{ $labels.instance }})# description: "Node {{ $labels.node }} has been unready for a long time\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
....prometheus.yml: |global:evaluation_interval: 1mscrape_interval: 1mscrape_timeout: 10srule_files:- kube_state_metrics.yml- /etc/config/recording_rules.yml- /etc/config/alerting_rules.yml- /etc/config/rules- /etc/config/alertsscrape_configs:- job_name: prometheus
...
然后执行配置写入
kubectl apply -f my-prometheus-server.yaml
查看配置效果:
新增报警管理器(alertmanager)配置,让产生的告警发送到邮箱
上面配置完毕的规则后,恰好我的集群里有几个服务没有启动,所以果然出发了alarms消息,效果如图:
如果将这个报警消息通知到用户邮箱里呢?
这里就需要设置另外一个配置了。
查看当前的配置字典:
$ kubectl get configMap
NAME DATA AGE
kube-root-ca.crt 1 20d
my-prometheus-alertmanager 1 10h
my-prometheus-server 6 10h
mygrafana 1 10h
mygrafana-test 1 10h
my-prometheus-alertmanager就是我们想要的配置,同理导出然后修改即可,下面我们快速过了。
#导出配置文件
kubectl get configMap my-prometheus-alertmanager -o yaml > my-prometheus-alertmanager.yaml
如果想走邮件发送的话,调整文件如下,其他类型自行百度。
apiVersion: v1
data:alertmanager.yml: |-global:smtp_smarthost: 'smtp.163.com:25'smtp_from: 'xxxx@163.com'smtp_auth_username: 'xxxx'smtp_auth_password: 'xxxx#Q'resolve_timeout: 5msmtp_require_tls: falseroute:group_by: ['alertname']group_interval: 5srepeat_interval: 5sreceiver: 'mail'receivers:- name: 'mail'email_configs:- to: 'xxxx@163.com'
kind: ConfigMap
...
更新配置文件
kubectl apply -f my-prometheus-alertmanager.yaml
静等几分钟,打开邮箱看看是不是已经收到邮件了?
参考资料
https://www.cnblogs.com/sanduzxcvbnm/p/14759693.html
https://awesome-prometheus-alerts.grep.to/rules#kubernetes
https://blog.csdn.net/qq_40843231/article/details/121698566
grafanaprometheus 快速配置报警规则及报警接收相关推荐
- 报警系统QuickAlarm之报警规则的设定与加载
前面一篇是报警执行器的定义与加载已经完成,但与之对应的报警规则有是如何定义和加载的呢? 此外,既然命名为规则,那么就需要有对应的解析器,以根据报警规则和报警类型等相关输入条件,来选择对应的报警执行器, ...
- prometheus 报警规则
prometheus 报警规则 Prometheus 报警我们一遍都会配合Alertmanager来使用. 从Prometheus server端接收到alerts后,会基于PromQL的告警规则 分 ...
- Prometheus 报警规则配置
提供下我整理的node-exporter的记录规则和报警规则. node-exporter-record-rules.yml groups:- name: node-exporter-recordru ...
- 阿里云ecs配置报警规则
1. 云监控控制台 地址: https://cloudmonitor.console.aliyun.com/ 点击主机监控 如果插件状态不是运行中, 可以勾选主机,批量安装或升级插件 2. 添加报警联 ...
- RDS用户如何优化报警规则
问题背景 云监控为RDS用户提供了默认报警功能,每创建1个RDS实例,云监控会自动生成4到5条RDS的云监控报警规则.这样存在以下几个问题: 用户无法选择是否需要自动创建报警规则,也无法选择对哪些指标 ...
- 怎么看服务器报警信息,云监控查看报警规则详情
云监控查看报警规则详情 内容精选 换一换 FunctionGraph函数实现了与云监控服务的对接,用户无需任何配置,即可查询函数监控信息.可以查看租户所有函数及单个函数的监控信息.租户监控信息在总览界 ...
- Zabbix配置网络流量监控报警
一.SNMP简单概述 1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议&qu ...
- 【实操】创建云监控报警规则
大家好,本期为大家介绍如何使用云监控报警服务.报警服务提供监控数据的报警功能,我们通过设置报警规则来定义报警系统如何检查监控数据,并在监控数据满足报警条件时发送报警通知.对我们的重要监控指标设置报警规 ...
- Alertmanager 报警规则
报警规则 现在我们只是把 AlertManager 容器运行起来了,也和 Prometheus 进行了关联,但是现在我们并不知道要做什么报警,因为没有任何地方告诉我们要报警,所以我们还需要配置一些报警 ...
最新文章
- 基于SSM实现健康食品零售网站
- 【转载】闲话操作系统(二)
- 常用深度学习模型介绍(1)
- Surf Gym - 100819S
- html div 自动聚焦,让DIV也能够获取焦点
- FB面经Prepare: Email User
- scanf 输入十六进制_在C语言中使用scanf()输入一个十六进制值
- JavaScript 中的垃圾回收和内存泄露如何处理?| 技术头条
- 浅析HEVC/H.265编码器中的熵编码
- 2017最新版《土地利用现状分类》GBT 21010-2017
- 〖数学算法〗开平方的七种算法
- 2022-04- 聂卫平围棋道场-小汪小喵学围棋
- python用正则写银行系统_python使用正则表达式(Regular Expression)方法超详细
- 直播回顾|论道原生:云原生时代的中间件
- Double 保留至小数点后两位
- 【财富空间】一个人彻底的改变 一定始于内心的改变
- 行测做的慢,如何提升做题速度?怎么提升正确率?
- 举例说明如何使用【聚合数据】的API接口
- NCH Switch Plus for Mac(音频转换器)
- 2022危险化学品生产单位安全生产管理人员考试模拟100题及答案
热门文章
- 学考计算机使用说明,《大学计算机》上机考试系统操作指南
- Java8万人 每年增长25%_看人口增长趋势!1998年到2018年中国历年人口总数、净增人口对比...
- java实现图片随机验证码
- 余江php,余江通报9起违纪案例,其中这个局竟然有8起
- 使用kon-boot的U盘启动盘绕过系统登录密码
- 信号--Signal
- 充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库
- 【概念理解】typedef-Lnode-*Linklist
- SSCOM串口助手对于接收到的中文编码字符串的兼容性测试
- 奈奎斯特与香农定理等系列概念(易混淆)