27.4. 通知类型
自动化控制器支持以下通知类型:
每个通知类型都有自己的配置和行为语义。您可能需要以不同的方式进行测试。另外,您可以将每种通知类型自定义为特定的详情,或一组用于触发通知的条件。
其他资源
有关配置自定义通知的更多信息,请参阅创建自定义通知。以下小节详细介绍了每种通知类型。
27.4.1. 电子邮件 复制链接链接已复制到粘贴板!
电子邮件通知类型支持各种 SMTP 服务器,并支持 SSL/TLS 连接。
提供以下详情来设置电子邮件通知:
- Host
- 接收者列表
- 发件人电子邮件
- Port
- Timeout (以秒为单位):使您能够指定最多 120 秒,自动化控制器在失败前尝试连接到电子邮件服务器的时间长度。
27.4.2. Grafana 复制链接链接已复制到粘贴板!
要集成 Grafana,您必须首先在 Grafana 系统中创建 API 密钥。这是提供给自动化控制器的令牌。
提供以下详情来设置 Grafana 通知:
- Grafana URL :Grafana API 服务的 URL,例如: http://yourcompany.grafana.com。
- Grafana API 密钥 :您必须首先在 Grafana 系统中创建一个 API 密钥。
- 可选: 仪表板 ID :当您为 Grafana 帐户创建 API 密钥时,您可以使用自己的唯一 ID 设置仪表板。
- 可选: 面板 ID :如果您向 Grafana 界面添加了面板和图形,您可以在这里指定其 ID。
- 可选: 注解 的标签 : 输入关键字,以帮助识别您要配置的通知类型。
- 禁用 SSL 验证 :默认情况下 SSL 验证是开启的,但您可以选择关闭验证目标证书真实性的功能。选择这个选项来禁用使用内部或私有 CA 的环境验证。
27.4.3. IRC 复制链接链接已复制到粘贴板!
IRC 通知采用 IRC bot 的形式,它连接,将消息传送到频道或单个用户,然后断开连接。通知 bot 还支持 SSL 身份验证。bot 目前不支持 Nickserv 身份识别。如果频道或用户不存在或者没有在线,通知会失败。故障场景是为连接而保留的。
提供以下详情来设置 IRC 通知:
- 可选: IRC 服务器密码 :IRC 服务器可能需要密码才能连接。如果服务器不需要,请将其留空。IRC 服务器端口 :IRC 服务器端口。IRC 服务器地址 :IRC 服务器的主机名或地址。IRC nick :bot 在连接到服务器后的别名。目标频道或用户 :发送通知的用户或频道列表。
- 可选: 禁用 SSL 验证 :检查是否希望 bot 在连接时使用 SSL。
27.4.4. Mattermost 复制链接链接已复制到粘贴板!
Mattermost 通知类型为 Mattermost 的消息和协作工作区提供了一个简单的接口。
提供以下详情来设置 Mattermost 通知:
- 目标 URL :发布的完整 URL。
- 可选: 用户名 :输入通知的用户名。
- 可选 : 输入通知频道。
- Icon URL: 指定为这个通知显示的图标。
- 禁用 SSL 验证 :关闭验证目标证书真实性的功能。选择这个选项来禁用使用内部或私有 CA 的环境验证。
27.4.5. PagerDuty 复制链接链接已复制到粘贴板!
要集成 PagerDuty,您必须首先在 PagerDuty 系统中创建一个 API 密钥。这是提供给自动化控制器的令牌。然后创建一个 提供 自动化控制器的 Integration Key 的服务。
提供以下详情来设置 PagerDuty 通知:
- API Token :您必须首先在 PagerDuty 系统中创建一个 API 密钥。这是提供给自动化控制器的令牌。
-
PagerDuty 子域 :当您注册 PagerDuty 帐户时,您会收到一个用来进行通信的唯一子域。例如,如果您以"testuser"身份注册,Web 仪表板位于
testuser.pagerduty.com
,并且为您提供 APItestuser
作为子域,而不是完整的域。 - API 服务/集成 密钥 :输入 PagerDuty 中创建的 API 服务/集成密钥。
- 客户端标识符 :这与警报内容一同发送到 PagerDuty 服务,以帮助识别使用 API 密钥和服务的服务。如果多个集成使用相同的 API 密钥和服务,这非常有用。
27.4.6. Rocket.Chat 复制链接链接已复制到粘贴板!
Rocket.Chat 通知类型为 Rocket.Chat 的协作和通信平台提供了一个接口。
提供以下详情来设置 Rocket.Chat 通知:
-
目标 URL :
POST
到的完整 URL。 - 可选: 用户名 :输入用户名。
- 可选: Icon URL: 指定为这个通知显示的图标
- Disable SSL Verification :关闭验证目标证书真实性的功能。选择这个选项来禁用使用内部或私有 CA 的环境验证。
27.4.7. Slack 复制链接链接已复制到粘贴板!
Slack 是一个协作团队通信和消息传递工具。
提供以下详情来设置 Slack 通知:
- Slack 应用程序。如需更多信息,请参阅 Slack 文档中的 Quickstart 页面。
- 令牌。如需更多信息,请参阅 Current token type 文档 页中的 Legacy bots 以及 bot 令牌令牌的特定详情。
当您设置 bot 或应用程序时,您必须完成以下步骤:
- 导航到 Apps。
- 点新创建的应用程序,然后进入 Add features and functionality,它可让您配置传入的 webhook、bot 和 permissions,并将您的应用程序安装到工作区中。
27.4.8. Twilio 复制链接链接已复制到粘贴板!
Twilio 是一个语音和 SMS 自动化服务。当您签名后,您必须创建一个从其中发送消息的电话号码。然后,您可以在 Programmable SMS 下定义一个 消息传递服务,并将之前创建的号码与其相关联。
在被允许使用它发送到任何数字之前,您可能需要验证这个数字或一些其他信息。消息传递服务 不需要状态回调 URL,不需要处理入站消息。
在您的单独(或子)帐户设置下,您有 API 凭证。Twilio 使用两个凭证来确定来自哪个帐户。帐户 SID 充当用户名,以及作为密码的 Auth Token。
提供以下详情来设置 Twilio 通知:
- 帐户令牌 :输入帐户令牌。
- 源电话号码 :以"+15556667777"的形式输入与消息传递服务关联的号码。
- Destination SMS number (s): 输入您要接收 SMS 的数字列表。它必须是 10 位的电话号码。
- 帐户 SID :输入帐户 SID。
27.4.9. Webhook 复制链接链接已复制到粘贴板!
webhook 通知类型提供了一个简单接口,用于将 POST
发送到预定义的 Web 服务。自动化控制器使用应用程序和 JSON 内容类型以及包含 JSON 格式的相关详情的数据有效负载 POST
到此地址。有些 Web 服务 API 预期 HTTP 请求采用特定格式,带有特定字段。
使用以下命令配置 webhook 通知:
-
使用
POST
或PUT
配置 HTTP 方法。 - 传出请求的正文。
- 使用基本身份验证配置身份验证。
提供以下详情来设置 Webhook 通知:
- 可选: 用户名 :输入用户名。
- 可选: 基本身份验证密码 :
-
目标 URL :输入 webhook 通知为
PUT
或POSTed
的完整 URL。 - Disable SSL Verification :默认情况下 SSL 验证是开启的,但您可以选择关闭验证目标证书真实性的功能。选择这个选项来禁用使用内部或私有 CA 的环境验证。
- HTTP Headers :以 JSON 格式输入标头,其中键和值是字符串。例如:
{"Authentication": "988881adc9fc3655077dc2d4d757d480b5ea0e11", "MessageType": "Test"}`.
{"Authentication": "988881adc9fc3655077dc2d4d757d480b5ea0e11", "MessageType": "Test"}`.
- HTTP 方法 :选择 Webhook 的方法:
- POST :创建新资源。它还作为操作的一个捕获全部,它们不适合于其他类别。除非您知道 Webhook 服务需要 PUT,否则您可能需要 POST。
- PUT :更新特定资源(按标识符)或资源集合。如果事先知道资源标识符,也可以使用 PUT 来创建特定资源。
27.4.9.1. Webhook 有效负载 复制链接链接已复制到粘贴板!
自动化控制器在 Webhook 端点发送以下数据:
以下是通过自动化控制器返回的 webhook 消息的 启动
通知示例:
{"id": 38, "name": "Demo Job Template", "url": "https://host/#/jobs/playbook/38", "created_by": "bianca", "started": "2020-07-28T19:57:07.888193+00:00", "finished": null, "status": "running", "traceback": "", "inventory": "Demo Inventory", "project": "Demo Project", "playbook": "hello_world.yml", "credential": "Demo Credential", "limit": "", "extra_vars": "{}", "hosts": {}}POST / HTTP/1.1
{"id": 38, "name": "Demo Job Template", "url": "https://host/#/jobs/playbook/38", "created_by": "bianca", "started":
"2020-07-28T19:57:07.888193+00:00", "finished": null, "status": "running", "traceback": "", "inventory": "Demo Inventory",
"project": "Demo Project", "playbook": "hello_world.yml", "credential": "Demo Credential", "limit": "", "extra_vars": "{}",
"hosts": {}}POST / HTTP/1.1
自动化控制器会在 Webhook 端点中 返回成功/失败状态
的数据:
以下是自动化控制器通过 Webhook 消息返回的 成功/失败
通知示例:
{"id": 46, "name": "AWX-Collection-tests-awx_job_wait-long_running-XVFBGRSAvUUIrYKn", "url": "https://host/#/jobs/playbook/46", "created_by": "bianca", "started": "2020-07-28T20:43:36.966686+00:00", "finished": "2020-07-28T20:43:44.936072+00:00", "status": "failed", "traceback": "", "inventory": "Demo Inventory", "project": "AWX-Collection-tests-awx_job_wait-long_running-JJSlglnwtsRJyQmw", "playbook": "fail.yml", "credential": null, "limit": "", "extra_vars": "{\"sleep_interval\": 300}", "hosts": {"localhost": {"failed": true, "changed": 0, "dark": 0, "failures": 1, "ok": 1, "processed": 1, "skipped": 0, "rescued": 0, "ignored": 0}}}
{"id": 46, "name": "AWX-Collection-tests-awx_job_wait-long_running-XVFBGRSAvUUIrYKn", "url": "https://host/#/jobs/playbook/46",
"created_by": "bianca", "started": "2020-07-28T20:43:36.966686+00:00", "finished": "2020-07-28T20:43:44.936072+00:00", "status": "failed",
"traceback": "", "inventory": "Demo Inventory", "project": "AWX-Collection-tests-awx_job_wait-long_running-JJSlglnwtsRJyQmw", "playbook":
"fail.yml", "credential": null, "limit": "", "extra_vars": "{\"sleep_interval\": 300}", "hosts": {"localhost": {"failed": true, "changed": 0,
"dark": 0, "failures": 1, "ok": 1, "processed": 1, "skipped": 0, "rescued": 0, "ignored": 0}}}