阿里云ARMS这块的告警规则配置,自定义promQL语句和告警内容的标签有没具体的文档?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云ARMS(应用实时监控服务)支持通过自定义PromQL语句和告警内容标签来配置告警规则。以下是具体的配置方法及相关说明,基于您提供的知识库资料。
在创建Prometheus告警规则时,可以通过以下步骤设置自定义PromQL语句:
登录ARMS控制台
进入“Prometheus监控” > “Prometheus告警规则”页面,点击“创建Prometheus告警规则”。
设置告警参数
max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)
/
max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90
该示例表示当磁盘使用率超过90%时触发告警。
数据预览
在“数据预览”区域查看PromQL语句对应的监控指标值,并确认其是否符合预期。
持续时间
设置告警条件满足后产生告警事件的时间阈值。例如,设置为“1分钟”,即只有当条件持续满足1分钟后才触发告警。
告警等级
自定义告警等级,默认从低到高分为“默认”、“P4”、“P3”、“P2”、“P1”。
保存规则
完成配置后点击“保存”,并在告警规则列表中查看状态。
告警内容中的标签可用于动态填充告警信息,便于用户快速定位问题。标签通常来源于Prometheus指标中的标签(Labels),例如namespace
、pod_name
等。
在“告警内容”字段中,可以使用Go Template语法自定义告警信息。例如:
命名空间:{{$labels.namespace}} / Pod: {{$labels.pod_name}} / 磁盘设备:{{$labels.device}}
使用率超过90%,当前值{{ printf "%.2f" $value }}%
上述模板会动态替换$labels.namespace
、$labels.pod_name
等变量的实际值,并显示当前监控指标的具体数值。
在“高级设置”中,可以为告警规则添加额外的标签(Labels)和注释(Annotations)。这些标签可用于通知策略的匹配规则。例如: - 标签:clusterId: prod
- 注释:_aliyun_arms_enrich_desc
,用于在告警发生时动态添加标签信息。
如果您希望通过阿里云标签(Tag)对资源进行分发告警,可以按照以下步骤操作:
为ECS实例添加标签
在ECS管理控制台中为目标实例添加标签,例如ack.aliyun.com: clusterId
。
导入标签为Prometheus指标
ARMS Prometheus云服务会将阿里云标签导入为Prometheus指标(cloud_monitor_instance_tag
),记录各资源上的标签。
配置告警规则注释
在告警规则中添加注释_aliyun_arms_enrich_desc
,并设置可执行的PromQL语句。例如:
sum(label_replace(aliyun_arms_tag{id=${id}, key="ack.aliyun.com", service="ecs"}, "clusterId", "$1", "value", "(.*)")) by (clusterId)
配置通知策略
在“通知策略”页面设置匹配规则为clusterId: 标签值
,确保告警信息能够按标签分发。
如需进一步了解具体操作细节,请参考相关文档。
云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。