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 ...
随机推荐
- Note -「单位根反演」学习笔记
\(\mathcal{Preface}\) 单位根反演,顾名思义就是用单位根变换一类式子的形式.有关单位根的基本概念可见我的这篇博客. \(\mathcal{Formula}\) 单位根反演的 ...
- Linux 利用date命令进行时间戳转换
文章目录 获取当前时间的时间戳 获取已知时间的时间戳 以指定格式输出时间 获取当前时间的时间戳 不加时间的情况下,默认输出当前时间的时间戳 Linux:~ # date +%s 实验效果 为了更好的展 ...
- 微服务从代码到k8s部署应有尽有系列(四、用户中心)
我们用一个系列来讲解从需求到上线.从代码到k8s部署.从日志到监控等各个方面的微服务完整实践. 整个项目使用了go-zero开发的微服务,基本包含了go-zero以及相关go-zero作者开发的一些中 ...
- Spring常用配置使用示例
上篇介绍了Spring配置的基本情况,本篇介绍Spring常用配置具体如何使用.关于基础的配置,比如Configuration之类的就不示例,主要示例相对用的比较多同时可能比较复杂的标签或属性. 1) ...
- operator 之旅(一)
环境准备 依赖版本 MAC M1 kubernetes: 1.18.3 go: 1.17.6 kubebuilder:3.1.0 知识必备 Kubernetes的Group.Version.Resou ...
- hbuilderx快捷键、回到上一步、回到上次编辑处
快捷键:Alt + 左/右箭头 其他快捷键:
- 我哭了 看到RCNN 和FAST RCNN时 想着为什么要选候选框呢?能不能直接回归出来候选框?
这是不是一个超级好的IDEA 我是不是要发顶会了!!! 看到yolo 直接绝望 果然 你能想到的都已经被发表了. 生不逢时啊!!!
- windev的Trigger触发器,能秒SQL吗?
有朋友问,"你是不是在写论文?" (此处请想象个表情)"好吧,论文继续!" SQL中,触发器可以看成是一种特殊的存储过程,使用inserted临时表来建立数据关 ...
- 来宾账户被视为安全威胁,Windows Server 2012 R2禁用Guest账户
转至:https://baijiahao.baidu.com/s?id=1646111224229327621&wfr=spider&for=pc 简单介绍Windows Server ...
- MySQL 学习-进阶
MySQL高级学习 一.MySQL 事务 1.1.事务的概念 一条或多条 SQL 语句组成一个执行单元,其特点是这个单元要么同时成功要么同时失败,单元中的每条 SQL 语句都相互依赖,形成一个整体,如 ...