Prometheus+alertmanager告警配置-2
prometheus 告警
prometheus 通过alertmanager进行告警
实现监控告警的步骤:
- 在prometheus中定义告警规则
rule_files - alertmanager配置告警告警动作,分组,抑制,静默等功能
- alertmanager安装route定义的规则向终端:邮箱,企业微信等发生告警信息
监控服务端主机下载安装alertmanager
alertmanager可以和prometheus主机安装在一起,也可以独立部署在一台主机。这里部署在一台主机
[root@localhost ~]# tar zxf alertmanager-0.19.0.linux-amd64.tar.gz
[root@localhost ~]# mv alertmanager-0.19.0.linux-amd64 /usr/local/alertmanager
alertmanager主配置文件: alertmanager.yml内容标注
global: # 全局配置
resolve_timeout: 5m #解析超时时间
route: # 配置告警发送,接受规则
group_by: ['alertname'] # 根据标签分组
group_wait: 10s # 发送告警等待时间,为了合并相同告警一起发送
group_interval: 10s # 发送告警间隔时间
repeat_interval: 10m # 重复告警时间,控制发送告警频率,根据情况设置
receiver: 'web.hook' # 定义接收者类型:mail,wechat等
receivers: # 定义告警发给谁
- name: 'web.hook'
webhook_configs:
- url: 'http://127.0.0.1:5001/'
inhibit_rules: # 告警抑制规则
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
配置163邮箱接收告警
- alertmanager服务中配置,修改alertmanager.yml
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.163.com:25' # 定义163邮箱服务器端
smtp_from: 'gudaoyufu@163.com' #来自哪个邮箱发的
smtp_auth_username: 'gudaoyufu@163.com' 邮箱验证
smtp_auth_password: 'XXXXXXXX' # 邮箱授权码,不是登录密码
smtp_require_tls: false # 是否启用tls
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 3m # 发送告警后间隔多久再次发送,减少发送邮件频率
receiver: 'mail' #发送的告警媒体
receivers:
- name: 'mail' # 接收者配置,这里要与接收媒体一致
email_configs:
- to: 'gudaoyufu@163.com' #发送给谁的邮箱,多个人多行列出
#inhibit_rules:
# - source_match:
# severity: 'critical'
# target_match:
# severity: 'warning'
# equal: ['alertname', 'dev', 'instance']
- 检查配置:
[root@localhost alertmanager]# ./amtool check-config alertmanager.yml
Checking 'alertmanager.yml' SUCCESS
Found:
- global config
- route
- 0 inhibit rules
- 1 receivers
- 0 templates
- 启动alertmanager
[root@localhost alertmanager]# ./alertmanager --config.file=./alertmanager.yml &
配置prometheus与alertmanager通信
上面的配置只是配置alertmanagerr服务,接下来配置prometheus与alertmanager通信
- 配置prometheus告警规则
官方配置文档参考:https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
[root@localhost ~]# cd /usr/local/prome/
[root@localhost prome]# vim prometheus.yml
#启用如需配置段
alerting:
alertmanagers:
- static_configs:
- targets:
- 127.0.0.1:9093
# 配置告警规则
rule_files:
- "rules.yml" # 默认路径在配置文件同级目录下
- 编辑rules.yml
vim rules.yml
groups: # 报警组
- name: Node
rules:
# Alert for any instance that is unreachable for >5 minutes.
- alert: InstanceDown
expr: up == 0 # 监控状态的值为 0时,说明服务异常,1为正常
for: 5m # 保持时间,上面的状态持续时间内都为 0 ,则触发告警
labels:
severity: error
annotations:
summary: "Instance {{ $labels.instance }} 停止工作"
description: "{{ $labels.instance }} of job {{ $labels.job }} 已经停止1分钟以上."
- 检查配置
[root@localhost prome]# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: 1 rule files found
Checking rules.yml
SUCCESS: 1 rules found
- 重启prometheus
systemctl start prometheus
重启prometheus后在prometheus服务端页面中的alters中可以看到rules
测试停掉其他节点的监控agent
#停掉cadvisor
[root@localhost ~]# docker stop e9e9499bcf2b
e9e9499bcf2b
一会后http://192.168.235.130:9090/alerts中的状态为Firing,此时邮件已经发出去了,登录邮箱已经看到告警邮件了
告警状态
Inactive : 正常状态
Pending : 已经触发阈值,但还未满足告警持续时间
Firing : 已经触发阈值并且满足告警持续时间,警报发送给了接收者
分组: 将类似性质的告警分类成单个通知
route: # 配置告警发送,接受规则
group_by: ['alertname'] # 根据标签分组
group_wait: 10s # 发送告警等待时间,为了合并相同告警一起发送
group_interval: 10s # 发送告警间隔时间
repeat_interval: 10m # 重复告警时间,控制发送告警频率,根据情况设置
- 抑制: 当告警发出后,将停止重复发送由此报警引发的其他告警,消除冗余的告警
inhibit_rules:
- source_match: # 高级别告警源
severity: 'critical'
target_match: # 低级别的告警被抑制不会发送
severity: 'warning'
equal: ['alertname', 'dev', 'instance'] #抑制匹配
- 静默: 是一种简单的特定时间静音提醒的机制
配置静默通过alertmanager服务的9093端口服务,界面创建静默规则
http://192.168.235.130:9093/#/silences
Prometheus+alertmanager告警配置-2的更多相关文章
- [k8s]prometheus+alertmanager二进制安装实现简单邮件告警
本次任务是用alertmanaer发一个报警邮件 本次环境采用二进制普罗组件 本次准备监控一个节点的内存,当使用率大于2%时候(测试),发邮件报警. k8s集群使用普罗官方文档 环境准备 下载二进制h ...
- Prometheus学习笔记(6)Alertmanager告警
目录 一.Alertmanager简介 二.Alertmanager部署 三.Alertmanager配置 四.自定义告警规则和发送 五.自定义告警模板 一.Alertmanager简介 Promet ...
- Prometheus(五):Prometheus+Alertmanager 配置企业微信报警
此处默认已安装Prometheus服务,服务地址:192.168.56.200 一.设置企业微信 1.1.企业微信注册(已有企业微信账号请跳过) 企业微信注册地址:https://work.weix ...
- Prometheus(四):Prometheus+Alertmanager 配置邮件报警
此处默认已安装Prometheus服务,服务地址:192.168.56.200 一.安装Alertmanager 此处采用源码编译的方式安装.首先下载alertmanager的软件包,下载地址:ht ...
- Prometheus 和 Alertmanager实战配置
Prometheus时序数据库 一.Prometheus 1.Prometheus安装 1)源码安装 prometheus安装包最新版本下载地址:https://prometheus.io/downl ...
- 图文详解Prometheus监控+Grafana+Alertmanager告警安装使用
一:前言 一个服务上线了后,你想知道这个服务是否可用,需要监控.假如线上出故障了,你要先于顾客感知错误,你需要监控.还有对数据库,服务器的监控,等等各层面的监控. 近年来,微服务架构的流行,服务数越来 ...
- Docker+Prometheus+Alertmanager+Webhook钉钉告警
Docker+Prometheus+Alertmanager+Webhook钉钉告警 1.环境部署 1.1 二进制部署 1.2 docker部署 1.2.1 webhook 1.2.2 alertma ...
- Prometheus + Alertmanager 实现企微告警
上一篇:二进制安装Prometheus 下面准备在监控的流程中呈现到告警到企微 查看企业ID,用于后续配置文件 四.安装Alertmanager1.准备安装的包 --选择上面链接给的Linux的ta ...
- Prometheus alertmanager邮件发送+grafana告警展示
前言 前面一篇博客,我已经介绍了prometheus如何监控mysql. 这一篇我来介绍如何通过alertmanger进行告警邮件发送(微信或钉钉类似,因为需要企业帐户,我就不试了),以及如何通过gr ...
随机推荐
- Solution -「LOCAL」「cov. 牛客多校 2020 第三场 I」礼物
\(\mathcal{Description}\) 给定排列 \(\{a_n\}\),求字典序第 \(K\) 大的合法排列 \(\{b_n\}\).称一个排列 \(\{p_n\}\) 合法,当且仅 ...
- MyBatis中执行器Executor框架
与JDK提供的Executor框架类似,MyBatis也提供了一套Executor框架,具体如下图: 其为Mybatis提供与数据库交互的功能,是一个典型的装饰器模式的应用--对JDBC功能的封装,同 ...
- web开发 小方法1-禁止横向滚动
最近学了学做了个公司的网站 总结了一些小方法 比如取消横向滚动条并禁止的横向滚动 这样就可以吧超出的切掉让网页更和谐 在body 标签 body{ text-align: center; overf ...
- k8s-ingress增加跨域问题
第一种: kubectl get ingresses. -n rrzhibo-admin test-rrzb-apiadmin-gateway-http-ingress -o yaml apiVers ...
- Vue 源码解读(8)—— 编译器 之 解析(上)
特殊说明 由于文章篇幅限制,所以将 Vue 源码解读(8)-- 编译器 之 解析 拆成了上下两篇,所以在阅读本篇文章时请同时打开 Vue 源码解读(8)-- 编译器 之 解析(下)一起阅读. 前言 V ...
- json系列(二)cjson,rapidjson,yyjson大整数解析精度对比
前言上一篇介绍了3种json解析工具的使用方法,对于基础数据的解析没有任何问题.我们传输的json数据里有unsigned long型数据,需要借助json解析工具得到正确的unsigned long ...
- springboot页面国际化
引入依赖pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...
- ssh执行命令或者脚本里最好先加上 source /etc/profile
记: 写一次shell脚本,发现总提示 找不到JAVA_HOME .明明已经配了环境变量,并且java -version也已经能输出信息,但就是提示. 后来在 脚本中加入第一句代码 source /e ...
- 怎样打开win7的IIS功能及internet信息服务(IIS)管理器在哪里
1:在windows7桌面上的左下角,点击"开始",找到"控制面板",并点击进去.如下图所示: 2:进入控制面板后,首先将"查看方式"选择为 ...
- foreach 改变集合时不能使用
使用foreach循环遍历list集合时,出现Collection was modified; enumeration operation may not execute.这个错误,查了半天才发现是当 ...