繁体   English   中英

谷歌云平台——创建警报策略——如何在警报文档降价中指定消息变量?

[英]google cloud platform -- creating alert policy -- how to specify message variable in alerting documentation markdown?

因此,我在 google cloud 上创建了一个日志警报策略,用于监控项目的日志并在发现与特定查询匹配的日志时发送警报。 这一切都很好,但只要它确实发送电子邮件警报,它就是准系统。 我无法在电子邮件警报中包含任何有用的信息,例如实际消息,用户必须改为单击“查看事件”并转到警报发生时的指定时间范围。

没有办法包含消息吗? 据我所知查看 gcp Using Markdown and variables in documentation templates doc on this。

我只能真正使用${resource.label.x}这并不是那么有用,因为默认情况下它已经在警报中包含了大部分内容。

我可以有类似${jsonPayload.message}的东西吗? 当我尝试时它没有用。

可能不是。

需要明确的是,警报策略跟踪指标(而不是日志),并且您已经创建了一个基于日志的指标,您将其用作警报的基础。

底层日志(包含例如jsonPayload )和由此产生的指标(可能没有)之间存在信息丢失。 可以使用包含基础日志条目字段的表达式创建基于日志的指标标签

但是,根据 Google 文档中的示例,您需要考虑这些值的有限(枚举)类型(例如 HTTP 状态,尽管它也可能过于宽泛),而不是可能无限的jsonPayload

有可能的。 假设您需要将 GCP 日志中存在的“jsonPayload.message”传递到策略中的文档部分。 您需要使用“label_extractor”功能来提取您的日志消息。

我将分享一个策略创建 json 文件模板,您可以在其中在策略的文档部分传递“jsonPayload.message”。

policy_json = {
"display_name": "<policy_name>",
"documentation": {
"content": "I have the extracted the log message:${log.extracted_label.msg}",
"mime_type": "text/markdown"
},
"user_labels": {},
"conditions": [
{
"display_name": "<condition_name>",
"condition_matched_log": {
"filter": "<filter_condition>",
"label_extractors": {
"msg": "EXTRACT(jsonPayload.message)",
}
}
}
],
"alert_strategy": {
"notification_rate_limit": {
"period": "300s"
},
"auto_close": "604800s"
},
"combiner": "OR",
"enabled": True,
"notification_channels": [
"<notification_channel>"
]
}

希望能帮助到你..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM