模板参数填写说明
更新时间:2024-08-16
模板参数除了可以填入固定值,也可以按照go template格式从消息体中提取字段:
针对指标报警触发的报警事件运维,不同类型云产品消息体示例如下:
// 云服务器BCC、裸金属BBC
{
"metric": {
"resourceId": "6***6", // 实例长ID
"resourceType": "Instance", // 实例类型
"tagKey": "tagValue", // 绑定标签
"os": "linux", // 实例操作系统
"shortInstanceId": "i-5Rugahea", // 实例短ID
"InstanceId": "i-5Rugahea", // 实例ID
"name": "CPUUsagePercent", // 监控项名称
"value": 13.1357357 // 监控项值
}
}
// 弹性公网IP
{
"metric": {
"resourceId": "ip-486c6c40", // 实例ID
"resourceType": "Instance", // 实例类型
"EipValue": "180.76.149.149", // EIP地址
"name": "InPacketLossPercent", // 监控项名称
"value": 53.846, // 监控项值
"tagKey": "tagValue" // 绑定标签
}
}
// NAT网关
{
"metric": {
"resourceId": "nat-fjtdv32tpttk", // 实例ID
"resourceType": "Instance", // 实例类型
"name": "InBandwith", // 监控项名称
"value": 21011, // 监控项值
"tagKey": "tagValue" // 绑定标签
}
}
// 弹性网卡ENI
{
"metric": {
"resourceId": "eni-stb22yf41gu4", // 实例ID
"resourceType": "Instance", // 实例类型
"name": "VNicInBPS", // 监控项名称
"value": 12342, // 监控项值
"tagKey": "tagValue" // 绑定标签
}
}
// 云磁盘CDS
{
"metric": {
"resourceId": "v-YQBOMbD1", // 实例ID
"resourceType": "Instance", // 实例类型
"name": "ReadBytes", // 监控项名称
"value": 34532, // 监控项值
"tagKey": "tagValue" // 绑定标签
}
}
以从消息体(metric)中提取BCC实例id为例,参数值应该使用表达式 {{ .metric.shortInstanceId }},针对且规则的报警策略,消息体中可能包含多份监控数据信息,以云服务器BCC为例,消息体格式如下:
{
"metrics": [
{
"shortInstanceId": "i-fYuDvBsy", // 实例ID
"resourceType": "Instance", // 实例类型
"os": "linux", // 虚机系统类型
"name": "CPUUsagePercent", // 监控项名称
"value": 80.355, // 监控项值
"tagKey": "tagValue" // 虚机绑定标签
},
{
"shortInstanceId": "i-fYuDvBsy", // 实例ID
"resourceType": "Instance", // 实例类型
"os": "linux", // 虚机系统类型
"name": "CpuSystemPercent", // 监控项名称
"value": 80.355, // 监控项值
"tagKey": "tagValue" // 虚机绑定标签
}
]
}
此时如果从消息体中提取第一份监控数据中的BCC实例id,应该使用表达式 {{ (index .metrics 0).shortInstanceId }},如果从消息体中提取第二份监控数据中的监控项名称,应该使用表达式 {{ (index .metrics 1).name }}
特殊说明
若为模板参数是BCC/BBC实例类型,其引用参数填写位置不能写在“输入函数”下的输入框,需要填写在“使用固定值-导入实例清单-BCC/BBC实例ID”下面的输入框内,示例如下所示:
正确示例: