Alertmanager起步¶
Note
实践环境采用 在Kubernetes集群(z-k8s)部署集成GPU监控的Prometheus和Grafana ,服务访问端口采用 NodePort 简化配置,本文测试脚本配置端口按照 NodePort 配置
Prometheus 通常与处理警报和警报路由的 AlertManager 结合使用:
AlertManager 支持各种报警传输(例如电子邮件或
slack)AlertManager 报警功能可以通过自定义
webhookss扩展,也就是企业可以开发自己的告警平台,然后结合到 AlertManager 的 webhook
Note
Swatto/promtotwilio 提供了一个从 Prometheus监控 接收webooks然后通过 Twilio 发送短信告警
测试alert¶
向
Altermanager发送一个测试告警:
测试alertmanager¶
alertmanager_ip=192.168.6.115
alertmanager_port=30903
curl -XPOST "http://${alertmanager_ip}:${alertmanager_port}/api/v1/alerts" \
-d \
"[{
\"status\": \"firing\",
\"labels\": {
\"alertname\": \"测试告警\",
\"service\": \"test-service\",
\"severity\":\"warning\",
\"instance\": \"testinstance.cloud-atlas.io\"
},
\"annotations\": {
\"summary\": \"延迟过高!\"
}
}]"
如果正常,终端会收到:
{"status":"success"}
检查 AlertManager 管理WEB页面可以看到添加了如下一条信息:
Note
cURL提交json文件 是通用的 curl 方法,在 alertmanager 上可以用来测试数据路由
配置 alertmanager.yml¶
Alertmanager的配置主要包含两个部分:
路由(route)
接收器(receivers)