alertmanager: 配置多个接收器
一,配置多个接收器:
配置文件:
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.163.com:465'
smtp_from: '发件人邮箱'
smtp_auth_username: '发件人邮箱的用户名'
smtp_auth_password: '邮箱的密码或授权码'
smtp_require_tls: false
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 1h
receiver: 'team_all'
routes:
- match_re:
job: develop
receiver: team_develop
# continue=true 代表继续向下匹配,不然就break了
continue: false
- match_re:
job: mysql
receiver: team_dba
continue: false
# 默认all路由
- match_re:
job: .*
receiver: team_all
continue: false
receivers:
- name: 'team_develop'
email_configs:
- to: '开发团队收件箱'
webhook_configs:
- url: 'http://127.0.0.1:5001/'
- name: 'team_dba'
email_configs:
- to: 'dba团队收件箱'
webhook_configs:
- url: 'http://127.0.0.1:5002/'
- name: 'team_all'
email_configs:
- to: '开发团队收件箱,dba团队收件箱'
webhook_configs:
- url: 'http://127.0.0.1:5003/'
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
二,用postman实际测试:
访问:你.的.I.P:9093/api/v2/alerts
如图:
发送的内容:
[
{
"labels": {
"alertname": "laravel系统崩溃需处理1!",
"dev": "sda1",
"job": "develop",
"instance": "实例1",
"msgtype": "testing"
},
"annotations": {
"info": "程序员小王提示您:这个系统雪崩了,快处理!",
"summary": "请检查实例示例1"
}
},
{
"labels": {
"alertname": "数据库管理系统损坏需处理1",
"dev": "sda2",
"job": "mysql",
"instance": "实例1",
"msgtype": "testing"
},
"annotations": {
"info": "程序员小王提示您:电子商务管理系统中订单,仓库模块已经雪崩,快处理!",
"summary": "请检查实例示例1",
"runbook": "以下链接http://192.168.5.128:9093/api/v2/alerts应该是可点击的"
}
}
]
注意:labels下的job字段,用来供alertmanager判断发送邮件到哪个接收器
三,另一种解决方案:
每次发送信息时把收件人写在内容中:
配置:
global:
smtp_smarthost: 'localhost:25'
smtp_from: 'smtp@example.com'
route:
group_by: [email_to, alertname]
receiver: customer_email
receivers:
- name: customer_email
email_configs:
- to: '{{ .GroupLabels.email_to }}'
headers:
subject: 'Alert: {{ .GroupLabels.alertname }}'
发送内容:在labels下带上email_to字段
[
{
"labels": {
"alertname": "<requiredAlertName>",
"<labelname>": "<labelvalue>",
"email_to": "foo@example.com,bar@example.com",
...
},
"annotations": {
"<labelname>": "<labelvalue>",
},
"startsAt": "<rfc3339>",
"endsAt": "<rfc3339>",
"generatorURL": "<generator_url>"
},
...
]
分类:
prometheus监控
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2023-10-30 laravel:多图片上传(10.27.0/前端vue)
2023-10-30 laravel:单图片上传(10.27.0/前端vue)
2023-10-30 laravel:单元测试之model(10.27.0)
2023-10-30 php:用phpexcel生成excel格式文件
2022-10-30 javascript:监控video全屏时取消静音(chrome 107.0.5304.87)