监控架构
实现一个完整的监控体系需要以下几个功能:
数据采集(xxx_export)
数据抓取(prometheus)
数据存储(prometheus/cortex)
规则检测并生成告警(prometheus/cotex.ruler)
告警处理(alertmanager)
告警通知(一般根据自身业务和管理体系实现)
Alertmanager实现了告警处理(聚合、抑制、屏蔽、路由),本篇详述其实现逻辑。
架构
功能
告警示例
原始的告警数据由prometheus/ cortex ruler产生,由若干kv数据组成,主要是其中的labels和annotations。
具体示例如下:
{
"labels": {
"alert_class": "metric",
"alert_rule_id": "3",
"alert_severity": "4",
"alert_strategy": "测试策略2",
"alert_strategy_id": "2",
"alertname": "test_g2r1",
"cluster": "k3d-agent/cluster",
"cpu": "cpu0",
"instance": "10.2.0.252",
"job": "node-metrics-exporter/node",
"node": "10.2.0.252",
"tcs_product": "tcs",
"tcs_region": "chongqing",
"tcs_type": "node",
"tcs_zone": "haiguang"
},
"annotations": {
"description": "map