余江网站建设,如何建微信公众号,互联网排行榜,购物网站后台管理系统1 prometheus的思想
所有告警都应该立刻处理掉#xff0c;不应该存在长时间未解决的告警。所以具体的表现就是高频的数据采集#xff0c;和告警的自动恢复#xff08;默认5分钟#xff09;
2 alertmanager API调用
使用如下命令即可手工制造告警#xff0c;注意startsA…1 prometheus的思想
所有告警都应该立刻处理掉不应该存在长时间未解决的告警。所以具体的表现就是高频的数据采集和告警的自动恢复默认5分钟
2 alertmanager API调用
使用如下命令即可手工制造告警注意startsAt和endsAt时间为当前实际时间的UTC格式。
curl -H Content-Type: application/json -X POST -d [{labels:{字段1: 值1, 字段2: 值2, 字段3: 值3},annotations:{desc: xxxx},generatorURL:http://1.1.1.1,startsAt:2022-08-10T20:57:46.00008:00}] http://127.0.0.1:9093/api/v2/alerts3 alertmanager告警json
alertmanager发送给receiver的为一个json多条告警形成alerts数组示例如下
{receiver: email, status: firing, alerts: [{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}, annotations: {desc: xxxx}, startsAt: 2023-02-09T09:58:4508:00, endsAt: 2023-02-09T10:00:4508:00, generatorURL: http://1.1.1.1, fingerprint: 12345},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}, annotations: {desc: xxxx}, startsAt: 2023-02-09T09:58:4508:00, endsAt: 2023-02-09T10:00:4508:00, generatorURL: http://1.1.1.1, fingerprint: 12345},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}, annotations: {desc: xxxx}, startsAt: 2023-02-09T09:58:4508:00, endsAt: 2023-02-09T10:00:4508:00, generatorURL: http://1.1.1.1, fingerprint: 12345}], groupLabels: {字段1: 值1}, commonLabels: {字段1: 值1, 字段2}, commonAnnotations: {desc: xxxx}, externalURL: http://prometheus:9093, version: 4, truncatedAlerts: 0}告警恢复之后对应的status字段会被置为resolved只有alerts数组中所有告警都变为resolved状态整条json的status才会置为resolved。
4 参数说明
group_wait当收到第一条告警时延时该时间才进行发送在此期间如果有其他告警被归并到相同group下则届时会在json中一并发送给receiver。任何告警都会有此延时。group_intervalgroup_wait时间之后每隔group_interval发送一次json给receiverrepeat_interval假如这个group没有任何变化那么经过repeat_interval才会发送给receiver
4.1 举例
假设group_wait设置为30秒group_interval设置为1分钟repeat_interval设置为10分钟
10:00:00t0接收到第一条告警10:00:20接收到第二条告警则在10:00:30t0group_wait会发送第一条json如下
{receiver: email, status: firing, alerts: [{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...}], ...}10:00:40产生第三条告警则在10:01:30t0group_waitgroup_interval会发送第二条json如下
{receiver: email, status: firing, alerts: [{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...}], ...}在10:01:40第一条告警恢复了则10:02:30t0group_waitgroup_interval*2发送第三条json如下
{receiver: email, status: firing, alerts: [{status: resolve, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...},{status: firing, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...}], ...}在10:02:40另外两条告警也恢复了则10:03:30t0group_waitgroup_interval*3发送第四条json如下
{receiver: email, status: resolve, alerts: [{status: resolve, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...},{status: resolve, labels: {字段1: 值1, 字段2: 值2, 字段3: 值3}...}], ...}假如10:00:30发送第一条json之后2、3、4步骤都没有发生且告警一直没有恢复则10:10:30t0repeat_interval会重复发送第一条json。