华为云云监控是一个针对弹性云服务器、带宽等资源的立体化监控平台。您只需要在华为云消息通知服务中配置日志服务开放告警接口的URL,即可将华为云云监控告警消息发送给日志服务,由日志服务告警系统完成告警降噪、通知等处理。

前提条件

已创建协议华为云云监控的开放告警应用。具体操作,请参见配置开放告警对外接口

华为云云监控配置

  1. 登录华为云消息通知服务控制台。
  2. 创建主题。
    您需在创建主题对话框中设置主题名称。具体操作,请参见创建主题
  3. 订阅主题。
    您需在添加订阅对话框中设置如下必填参数。具体操作,请参见订阅主题
    参数 说明
    协议 协议,选择HTTP
    订阅终端 配置为您在日志服务中创建开放告警服务和应用后生成的接口信息(完整URL)。如何获取,请参见获取接口信息
    配置完成后,订阅处于未订阅状态。此时华为云消息通知服务将给日志服务发送一条订阅确认消息,日志服务收到该消息后会自动访问消息中的订阅确认链接。访问成功后,订阅处于已确认状态,表示订阅成功。
    说明 如果未订阅成功,您可以选中目标订阅,单击请求订阅,华为云消息通知服务将重新发送一条订阅确认消息。如果仍未成功,您可以在日志服务的告警排障中心查看错误日志。
    订阅
  4. 登录华为云云监控服务控制台。
  5. 创建告警规则和通知。
    您需在创建告警规则页面设置告警规则和告警通知。设置完成后,由该告警规则触发的告警将发送到日志服务开放告警系统中。具体操作,请参见创建告警规则和通知告警通知
    参数 说明
    通知对象 告警通知的对象,此处选择为您在步骤2中创建的主题。
    生效时间 设置告警通知的生效时间,该告警规则仅在生效时间内发送通知消息。
    触发条件 触发告警通知的条件,此处需选中出现告警恢复正常

华为云云监控告警消息

华为云云监控不支持自定义告警消息,典型的告警消息示例如下所示。
{
    "signature": "NR9taTRU****qH0D8htN",
    "subject": "[重要告警]云监控通知:主机监控-云服务器 “hecs****6789” 的(Agent)CPU使用率已触发告警。",
    "topic_urn": "urn:smn:cn-east-3:1a2b3c4d5e6f7g:tosls",
    "message_id": "1a2b3c4d5e6f7g8h9i",
    "signature_version": "v1",
    "type": "Notification",
    "message":
    {
        "message_type": "alarm",
        "alarm_id": "al1234567890",
        "alarm_name": "alarm-abc",
        "alarm_status": "alarm",
        "time": 1640704721540,
        "namespace": "AGT.ECS",
        "metric_name": "cpu_usage",
        "dimension": "instance_id:eee12****3b4c",
        "period": 1,
        "filter": "Raw data",
        "comparison_operator": ">=",
        "value": 5,
        "unit": "%",
        "count": 1,
        "alarmValue":
        [
            {
                "time": 1640704680000,
                "value": 5.7
            }
        ],
        "sms_content": "[华东-上海一][重要告警]尊敬的hid_1a2b3c:主机监控-云服务器 “hecs****6789” (私网IP:192.168.0.11,公网IP:192.0.2.1,ID:eee12****3b4c)的(Agent)CPU使用率连续1次原始值 >= 5.00%,当前数据:5.70%,于2021/12/28 23:18:41 GMT+08:00触发告警,详情请访问云监控服务。",
        "template_variable":
        {
            "AccountName": "hid_1a2b3c",
            "Namespace": "主机监控",
            "DimensionName": "云服务器",
            "ResourceName": "hecs****6789",
            "MetricName": "(Agent)CPU使用率",
            "IsAlarm": true,
            "IsCycleTrigger": false,
            "AlarmLevel": "重要",
            "Region": "华东-上海一",
            "ResourceId": "eee****3b4c",
            "PrivateIp": "192.168.0.11",
            "PublicIp": "192.0.2.1",
            "AlarmRule": "",
            "CurrentData": "5.70%",
            "AlarmTime": "2021/12/28 23:18:41 GMT+08:00",
            "DataPoint":
            {
                "2021/12/28 23:18:00 GMT+08:00": "5.70%"
            },
            "DataPointTime":
            [
                "2021/12/28 23:18:00 GMT+08:00"
            ],
            "AlarmRuleName": "alarm-abc",
            "AlarmId": "al1234567890",
            "AlarmDesc": "test alarm",
            "MonitoringRange": "资源分组",
            "IsOriginalValue": true,
            "Period": "",
            "Filter": "原始值",
            "ComparisonOperator": ">=",
            "Value": "5.00%",
            "Unit": "%",
            "Count": 1,
            "EventContent": "",
            "Link": "https://console.huaweicloud.com/ces/?region=cn-east-3#/alarms/detail?alarmId=al1234567890",
            "IsIEC": false,
            "IsAgentEvent": false,
            "IngressMaxBandwidthPerSec": "",
            "EgressMaxBandwidthPerSec": ""
        }
    },
    "unsubscribe_url": "https://console.huaweicloud.com/smn/subscription/unsubscribe?region=cn-east-3&region_id=cn-east-3&subscription_urn=urn:smn:cn-east-3:1a2b3c4d5e6f:tosls:1a2b3c4d5e6f",
    "signing_cert_url": "https://smn.cn-east-3.myhuaweicloud.com/smn/SMN_cn-east-3_1a2b3c4d5e6f7h.pem",
    "timestamp": "2021-12-28T15:20:06Z"
}

告警消息映射

华为云云监控告警被接入到日志服务开放告警系统后,映射为日志服务告警消息。示例如下:

{
    "aliuid": "aliuid1",
    "alert_instance_id": "1a2b3c4d5e6f7g8h9i",
    "alert_id": "al1234567890",
    "alert_type": "sls_pub",
    "alert_name": "alarm-abc",
    "region": "{告警中心Project所在地域}",
    "project": "{告警中心所属的Project}",
    "project_id": 0,
    "next_eval_interval": 1,
    "alert_time": 1640704721,
    "fire_time": 1640704721,
    "fire_results":
    [
        {
            "time": "1640704680000",
            "value": "5.7"
        }
    ],
    "fire_results_count": 1,
    "resolve_time": 0,
    "status": "firing",
    "results": null,
    "labels":
    {
        "dimension": "instance_id:eee****3b4c",
        "dimension_name": "云服务器",
        "metric_name": "cpu_usage",
        "namespace": "AGT.ECS",
        "region": "华东-上海一"
    },
    "annotations":
    {
        "__config_app__": "sls_pub_alert",
        "__pub_alert_app__": "{开放告警应用ID}",
        "__pub_alert_protocol__": "huawei_ces",
        "__pub_alert_region__": "{接收告警消息的网络接口对应的地域}",
        "__pub_alert_service__": "{开放告警服务ID}",
        "account_name": "hid_1a2b3c",
        "comparison_operator": ">=",
        "desc": "test alarm",
        "title": "[重要告警]云监控通知:主机监控-云服务器 “hecs****6789” 的(Agent)CPU使用率已触发告警。",
        "unit": "%"
    },
    "severity": 8,
    "policy":
    {
        "alert_policy_id": "{开放告警应用中配置的告警策略ID}",
        "action_policy_id": "{开放告警应用中配置的行动策略ID}",
        "use_default": false,
        "repeat_interval": "{开放告警应用中配置的重复等待时间}"
    },
    "template": null,
    "drill_down_query": "https://console.huaweicloud.com/ces/?region=cn-east-3#/alarms/detail?alarmId=al1234567890"
}
日志服务告警消息中的字段与华为云云监控告警消息中的字段的映射关系如下表所示。
日志服务 华为云云监控 说明
aliuid 用于接入告警的开放告警应用所属的阿里云账号ID。
alert_id message.alarm_id 告警监控规则ID。
alert_instance_id message_id 告警消息ID。
alert_type 告警类型,固定为sls_pub。
alert_name message.alarm_name 告警监控规则名称。
status message.alarm_status 告警状态,包括firing和resolved。
  • 如果华为云云监控告警消息中alarm_status字段的值为alarm,则status字段的值为firing。
  • 如果华为云云监控告警消息中alarm_status字段的值为ok,则status字段的值为resolved。
next_eval_interval message.periodmessage.count 告警评估间隔时间。

其值为message.period字段值和message.count字段值的乘积。

alert_time message.time 告警触发时间。
fire_time message.time 告警首次触发时间。
resolve_time message.time 告警恢复时间。
  • 如果status字段的值为resolved,则resolve_time字段的值为华为云云监控告警消息中message.time字段的值。
  • 如果status字段的值为firing,则resolve_time字段的值为0。
labels 告警标签信息,日志服务的labels字段中将加入以下字段。
  • message.namespace
  • message.metric_name
  • message.dimension
  • message.template_variable.DimensionName
  • message.template_variable.Region
annotations 标注信息,日志服务的annotations字段中将加入以下字段。
  • desc:告警内容描述,其值为华为云云监控告警消息中的message.template_variable.Alarm字段的值。
  • title:告警消息的标题,其值为对应华为云云监控告警消息中的subject字段的值。
  • 除以上字段外,还会额外添加template_variable中未被使用的字符串类型的字段。
severity message.template_variable.AlarmLevel 告警严重度。华为云云监控告警严重度与日志服务告警严重度的映射关系如下:
  • 紧急:严重
  • 重要:高
  • 次要:低
  • 提示:报告
policy 您在开放告警应用中配置的告警策略。更多信息,请参见Policy结构
project 告警中心所属的Project。更多信息,请参见项目(Project)
drill_down_query message.template_variable.Link 对应华为云云监控中触发告警的告警规则详情页面URL地址。