本文介绍如何在ARMS告警管理中接入Skywalking。

步骤一:创建Skywalking集成

  1. 登录ARMS控制台
  2. 在左侧导航栏选择告警管理 > 集成
  3. 集成页面的监控集成页签单击Skywalking
  4. 新建Skywalking集成配置向导页面输入Skywalking集成的名称、描述和告警事件自动恢复时间,然后单击保存
    说明 告警事件自动恢复时间:当告警事件在设置的时间内都没有再触发,告警事件将会自动恢复。
  5. 集成页面的监控集成页签,通过搜索框查询已创建的Skywalking集成,并复制集成地址。
    集成Skywalking

步骤二:配置Skywalking

  1. 登录到Skywalking所在的服务器,进入Skywalking脚本安装路径。
    cd /opt/sky/apache-skywalking-apm-bin/
  2. 执行以下命令查看脚本路径下的config文件。
    ls config/
  3. 执行以下命令编辑config下的alarm-settings.yml文件。
    vim config/alarm-settings.yml
  4. webhook字段下增加步骤一中获取的集成地址。
    webhook
    - https://alerts.aliyuncs.com/api/v1/skywalking/event/******
  5. 输入:wq命令保存alarm-settings.yml文件的修改。

步骤三:编辑集成

ARMS告警管理预设了第三方告警源与ARMS告警管理之间字段的映射,您也可以根据需要在编辑集成页面新增或修改字段的映射关系。

此处操作将使用以下告警源作为示例。

{
    "startTime":1630408697583,
    "scope":"SERVICE_INSTANCE",
    "scopeId":2,
    "name":"932b556ef3f54dda9b808194e2e8711a@127.0.0.1 of testApp",
    "alarmMessage":"instance_jvm_cpu of 932b556ef3f54dda9b808194e2e8711a@127.0.0.1 of testApp is more than 80 in 2 minutes of last 3 minutes",
    "ruleName":"instance_jvm_cpu_rule",
    "id1":"",
    "id0":"YnNtLXdlYg==.1_OTMyYjU1NmVmM2Y1NGR====--7p862kYTliODA4MTk0ZTJlODcxMWFAMTAuMS4xMS4xNg=="
}
  1. 在控制台左侧导航栏选择告警管理 > 集成
  2. 监控集成页签单击目标集成右侧操作列的编辑
  3. 集成详情页面的事件映射区域左侧单击发送测试数据
  4. 发送测试数据对话框,输入第三方告警源的JSON格式的告警内容,然后单击发送
    说明
    • 如果显示上传失败,表示告警源与ARMS告警事件的字段没有映射,实际发送数据会被保存在左侧记录框中,以便配置映射时可以直接选取对应告警源字段。
    • 如果显示上传成功,则表明对应的告警内容已上报至告警事件历史页面。更多信息,请参见查看告警事件历史
    Skywalking发送测试数据
  5. 发送测试数据对话框单击关闭
  6. 事件映射区域左侧单击并展开需要建立映射的告警数据。
  7. 事件映射区域右侧配置告警源字段与ARMS告警的映射。
    1. 可选:选择根节点区域选择是否使用批处理。
      当告警数据存在数组节点时,可以指定目标数组节点作为根节点,将对应根节点下的数据进行批处理。

      选择使用批处理后,选择需要批处理的数组节点作为根节点。

      说明 当告警数据存在多个数组节点时,ARMS告警管理仅支持选择其中一个数组节点进行批处理。
    2. 将源字段映射到目标字段区域将告警源字段映射到ARMS告警字段上。
      单击映射图标,可以修改字段映射方式。
      • 直接:告警源指定字段直接映射为ARMS中对应的告警字段。
      • 串联:将多个告警源字段通过指定分隔符串联为一个字段,然后将这一个字段映射为ARMS中对应的告警字段。分隔符仅支持特殊字符。
      • 条件:当告警字段值满足指定条件后,设置的字段才会映射到ARMS目标字段上。
      • 映射表:设置告警源的告警等级与ARMS中的告警等级的映射,仅告警等级(severity)字段需要设置映射表。

      ARMS告警字段说明:

      ARMS告警字段 说明
      告警名称(alertname) 自定义告警的名称。
      告警等级(severity) 设置告警等级的映射字段。该字段需要设置告警等级映射表,且映射方式必须设置为直接映射。
      告警描述(message) 告警事件的详细信息,用于告警通知。最多支持15000字符。
      告警样本值(value) 监控指标的样本值。
      检查项(check) 告警检查项。例如:CPU、JVM、Application Crash、Deployment。
      来源(source) 告警事件的来源。
      分类(class) 告警事件的对象类型,例如:主机。
      服务(service) 与业务相关的来源服务,例如:longService。
      开始时间(startat) 事件开始时间的时间戳。
      结束时间(endat) 事件结束时间的时间戳。
      事件地址(generatorUrl) 事件详细信息地址。
      Skywalking事件映射
  8. 设置事件去重。
    为了减少重复数据,系统使用相关字段作为去重依据。ARMS告警管理支持预览事件映射区域中的历史事件数据的去重分组结果,您可根据需要调整去重字段。
    说明 事件去重仅针对未恢复状态下的事件。
    1. 编辑集成页面的事件去重区域选择需要去重的字段。
      当选择的字段的值相同时,对应的多个事件将会合并为一个告警通知。
    2. 单击去重测试,可以预览去重后的告警分组。
      说明 去重测试针对的是事件映射左侧区域中上传的最近10条测试数据。
      Skywalking事件去重
  9. 配置完成后,单击保存

查看Skywalking告警事件

  1. 在控制台左侧导航栏选择告警管理 > 告警事件历史
  2. 告警事件历史页面单击Skywalking上报的告警事件,可以查看Skywalking告警事件的详细信息。更多信息,请参见查看告警事件历史

管理集成

告警管理 > 集成页面的监控集成页签,对于已经创建的集成,您可以进行以下操作:

  • 查看集成:如果您需要查看集成的详细信息,单击目标集成所在行,在集成详情页面查看集成的详细信息。
  • 更新密钥:如果您需要修改集成的密钥,在目标集成右侧操作列选择更多 > 更新密钥,在弹出的对话框中单击确认
    说明 更新密钥后,请参考步骤二修改alarm-settings.yml文件。
  • 编辑:如果您需要修改集成信息,在目标集成右侧操作列单击编辑,在集成详情页面修改集成信息,然后单击保存
  • 启用或禁用:如果您需要启用或禁用目标集成,在目标集成右侧操作列单击禁用启用
  • 删除:如果您需要删除集成,在目标集成右侧操作列单击删除,在弹出的对话框中单击确认
  • 添加事件流:如果您需要为指定集成添加对应的事件处理流,在目标集成右侧操作列单击添加事件流。具体操作,请参见事件处理流
  • 新建通知策略:如果您需要为指定集成添加对应的通知策略,在目标集成右侧操作列单击新建通知策略。具体操作,请参见通知策略

后续步骤

您可以通过设置通知策略将上报的告警事件生成告警并发送告警通知,具体操作,请参见通知策略。经过通知策略分派后生成的告警可以在告警发送历史页面查看告警的详细信息,更多信息,请参见查看告警发送历史