概述
AmazonSQS Provider 便于:
- 将 SQS 消息作为告警进行消费
- 向 SQS 队列发送/推送通知消息
认证
此提供商需要身份验证。
- region_name: 区域名称(必需:True,敏感:False)
- sqs_queue_url: SQS 队列 URL(必需:True,敏感:False)
- access_key_id: 访问密钥 ID(如果在 EC2 上使用 IAM 角色则留空)(必需:False,敏感:False)
- secret_access_key: 秘密访问密钥(如果在 EC2 上使用 IAM 角色则留空)(必需:False,敏感:False)
某些范围可能需要才能通过提供商执行特定操作或查询。以下是相关范围及其用例的摘要:
- authenticated: 密钥 ID 对有效且可工作(强制)
- sqs::read: 从 SQS 接收警报所需的权限。如果您只想给密钥-密钥对只读 scope,权限策略:AmazonSQSReadOnlyAccess。(强制)
- sqs::write: 向 SQS 推送消息所需的权限。如果您只想给密钥-密钥对读写 scope,权限策略:AmazonSQSFullAccess。
在工作流中
此提供商可用于工作流。
作为"操作"来进行更改或更新数据,示例:
yaml
actions:
- name: Query amazonsqs
provider: amazonsqs
config: "{{ provider.my_provider_name }}"
with:
message: {value}
group_id: {value}
dedup_id: {value}如果您需要此提供商的工作流示例,请提交 GitHub 问题。
AmazonSQS Action 的输入
message: str:通知的消息体/消息内容group_id: str | None:仅在队列类型为 FIFO 时强制填写,普通队列可忽略。dedup_id: str | None:仅在队列类型为 FIFO 时强制填写,普通队列可忽略。- **kwargs: dict | None:您可以传递额外的键值对,这些键值对将作为 MessageAttributes 在通知中发送。
AmazonSQS Action 的输出
更多详细信息,请访问 sqs-documentation。
json
{
'MD5OfMessageBody': 'string',
'MD5OfMessageAttributes': 'string',
'MD5OfMessageSystemAttributes': 'string',
'MessageId': 'string',
'SequenceNumber': 'string'
}::: note
- 使用 AmazonSQS action 时,如果您的队列是 FIFO 队列,则必须传递 dedup_id 和 group_id。
- MessageAttribute 中存在的所有额外字段都作为键值对字典存储在 alert.label 中。
- 您可以在 SQS 队列消息中传递这些属性,Keep 将提取并使用这些字段用于告警:
- name
- status:可能的值 'firing' | 'resolved' | 'acknowledged' | 'suppressed' | 'pending',默认为 'firing'。
- severity:可能的值 'critical' | 'high' | 'warning' | 'info' | 'low',默认为 'high'。
- description :::
::: note 密钥对所需的权限:
- AmazonSQSFullAccess:如果您想同时通知和接收,这是 sqs::read + sqs::write 范围。
- AmazonSQSReadOnlyAccess:如果您只想接收,这是 sqs::read 范围。
您可以在以下位置找到这些权限: IAM > 用户 > [YOUR_USER] > 权限 > 添加权限 > 添加权限 > 直接附加策略 > 搜索 SQS。
要创建密钥对,请按照以下步骤操作:
- 在 AWS 控制台中搜索 IAM,按 Enter。
- 进入用户页面。
- 选择您想要创建的用户。
- 点击
创建访问密钥。 - 选择
第三方服务,点击下一步。 - 添加
描述标签,点击下一步。 - 复制/下载密钥对。 :::