阿里云ARMS这块的告警规则配置,自定义promQL语句和告警内容的标签有没具体的文档?

9057d25c376726da693cbf1554c67b82.png
阿里云ARMS这块的告警规则配置,自定义promQL语句和告警内容的标签有没具体的文档?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-05-09 08:37:58 70 分享 版权
阿里云 AI 助理回答

阿里云ARMS(应用实时监控服务)支持通过自定义PromQL语句和告警内容标签来配置告警规则。以下是具体的配置方法及相关说明,基于您提供的知识库资料。


一、自定义PromQL语句的配置

1. 配置步骤

在创建Prometheus告警规则时,可以通过以下步骤设置自定义PromQL语句:

  1. 登录ARMS控制台
    进入“Prometheus监控” > “Prometheus告警规则”页面,点击“创建Prometheus告警规则”。

  2. 设置告警参数

    • 告警名称:为告警规则命名,例如“Pod的CPU使用率大于80%”。
    • 检测类型:选择“自定义PromQL”。
    • Prometheus实例:选择需要创建告警的Prometheus实例。
    • 参考告警分组:根据需求选择告警分组(如Kubernetes负载)。
    • 自定义PromQL语句:输入PromQL表达式以定义告警条件。例如:
      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%时触发告警。

  3. 数据预览
    在“数据预览”区域查看PromQL语句对应的监控指标值,并确认其是否符合预期。

  4. 持续时间
    设置告警条件满足后产生告警事件的时间阈值。例如,设置为“1分钟”,即只有当条件持续满足1分钟后才触发告警。

  5. 告警等级
    自定义告警等级,默认从低到高分为“默认”、“P4”、“P3”、“P2”、“P1”。

  6. 保存规则
    完成配置后点击“保存”,并在告警规则列表中查看状态。

2. 注意事项

  • 数据完整性检查:可以选择是否在数据完整后再进行告警检查,避免因数据缺失导致误报。
  • 告警检查周期:默认每分钟检查一次,可根据需求调整。
  • 规则中断原因:如果告警规则状态为“自动中断”,可能的原因包括查询结果数量超过1500条或未配置通知对象。

二、告警内容标签的配置

1. 标签的作用

告警内容中的标签可用于动态填充告警信息,便于用户快速定位问题。标签通常来源于Prometheus指标中的标签(Labels),例如namespacepod_name等。

2. 配置方法

在“告警内容”字段中,可以使用Go Template语法自定义告警信息。例如:

命名空间:{{$labels.namespace}} / Pod: {{$labels.pod_name}} / 磁盘设备:{{$labels.device}}
使用率超过90%,当前值{{ printf "%.2f" $value }}%

上述模板会动态替换$labels.namespace$labels.pod_name等变量的实际值,并显示当前监控指标的具体数值。

3. 高级设置中的标签

在“高级设置”中,可以为告警规则添加额外的标签(Labels)和注释(Annotations)。这些标签可用于通知策略的匹配规则。例如: - 标签clusterId: prod - 注释_aliyun_arms_enrich_desc,用于在告警发生时动态添加标签信息。


三、结合阿里云标签(Tag)分发告警

如果您希望通过阿里云标签(Tag)对资源进行分发告警,可以按照以下步骤操作:

  1. 为ECS实例添加标签
    在ECS管理控制台中为目标实例添加标签,例如ack.aliyun.com: clusterId

  2. 导入标签为Prometheus指标
    ARMS Prometheus云服务会将阿里云标签导入为Prometheus指标(cloud_monitor_instance_tag),记录各资源上的标签。

  3. 配置告警规则注释
    在告警规则中添加注释_aliyun_arms_enrich_desc,并设置可执行的PromQL语句。例如:

    sum(label_replace(aliyun_arms_tag{id=${id}, key="ack.aliyun.com", service="ecs"}, "clusterId", "$1", "value", "(.*)")) by (clusterId)
    
  4. 配置通知策略
    在“通知策略”页面设置匹配规则为clusterId: 标签值,确保告警信息能够按标签分发。


四、总结与建议

  • 自定义PromQL语句:通过灵活的PromQL表达式,您可以实现复杂的告警逻辑,适用于多种场景。
  • 告警内容标签:利用Go Template语法动态生成告警信息,提升告警的可读性和实用性。
  • 结合阿里云标签:通过标签分发告警,可以实现更精细化的资源管理和告警通知。

如需进一步了解具体操作细节,请参考相关文档。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。

还有其他疑问?
咨询AI助理