使用 CloudWatch 日志对警报管理器进行故障排除 - Amazon Managed Service for Prometheus

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 CloudWatch 日志对警报管理器进行故障排除

使用 使用日志监控亚马逊托管服务 Prometheus 事件 CloudWatch ,您可以对警报管理器和规则器相关问题进行故障排除。本部分包含与警报管理器相关的故障排除主题。

空内容警告

当日志包含以下警告时

{ "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000", "message": { "log": "Message has been modified because the content was empty." "level": "WARN" }, "component": "alertmanager" }

这表示警报管理器模板已将出站警报解析为空消息。

要采取的操作

验证您的警报管理器模板并确保所有接收方路径都有一个有效的模板。

非 ASCII 警告

当日志包含以下警告时

{ "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000", "message": { "log": "Subject has been modified because it contains control or non-ASCII characters." "level": "WARN" }, "component": "alertmanager" }

这表示主题包含非 ASCII 字符。

要采取的操作

删除模板主题字段中对可能包含非 ASCII 字符的标签的引用。

key/value 警告无效

当日志包含以下警告时

{ "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000", "message": { "log": "MessageAttributes has been removed because of invalid key/value, numberOfRemovedAttributes=1" "level": "WARN" }, "component": "alertmanager" }

这表示由于键/值无效,某些消息属性已被删除。

要采取的操作

重新评估您用来填充消息属性的模板,并确保其解析为有效的 SNS 消息属性。有关验证 Amazon SNS 主题的更多信息,请参阅验证 SNS 主题

消息限制警告

当日志包含以下警告时

{ "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000", "message": { "log": "Message has been truncated because it exceeds size limit, originSize=266K, truncatedSize=12K" "level": "WARN" }, "component": "alertmanager" }

这表示有些消息大小太大。

要采取的操作

查看警报接收方消息模板,然后对其进行修改以满足大小限制。

没有基于资源的策略错误

当日志包含以下错误时

{ "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000", "message": { "log": "Notify for alerts failed, AMP is not authorized to perform: SNS:Publish on resource: arn:aws:sns:us-west-2:12345:testSnsReceiver because no resource-based policy allows the SNS:Publish action" "level": "ERROR" }, "component": "alertmanager" }

这表示 Amazon Managed Service for Prometheus 无权向指定的 SNS 主题提交警报。

要采取的操作

验证 Amazon SNS 主题访问策略是否授权 Amazon Managed Service for Prometheus 向该主题发送 SNS 消息。创建 SNS 访问策略,授予服务aps.amazonaws.com(适用于 Prometheus 的亚马逊托管服务)访问您的亚马逊 SNS 主题的权限。有关 SNS 访问策略的更多信息,请参阅《亚马逊简单通知服务开发者指南》中的使用访问策略语言Amazon SNS 访问控制示例案例

未获得拨打 KMS 的授权

当日志包含以下 AWS KMS 错误时

{ "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000", "message": { "log": "Notify for alerts failed, AMP is not authorized to call KMS", "level": "ERROR" }, "component": "alertmanager" }

要采取的操作

验证用于加密 Amazon SNS 主题的密钥的密钥策略是否允许适用于 Prometheus 的亚马逊托管服务主体aps.amazonaws.com执行以下操作:、和。kms:GenerateDataKey* kms:Decrypt有关更多信息,请参阅 SNS 主题的AWS KMS 权限