Watcher PagerDuty 动作
编辑Watcher PagerDuty 动作
编辑使用 PagerDuty 动作在 PagerDuty 中创建事件。要创建 PagerDuty 事件,您必须在 elasticsearch.yml
中至少配置一个 PagerDuty 账户。
配置 PagerDuty 动作
编辑您可以在 actions
数组中配置 PagerDuty 动作。使用 pagerduty
关键字指定特定于动作的属性。
以下代码片段显示了一个简单的 PagerDuty 动作定义。
向 PagerDuty 事件添加元信息
编辑为了向 PagerDuty 事件添加更多上下文信息,您可以将负载以及上下文数组附加到动作。
"actions" : { "notify-pagerduty" : { "throttle_period" : "5m", "pagerduty" : { "account" : "team1", "description" : "Main system down, please check! Happened at {{ctx.execution_time}}", "attach_payload" : true, "client" : "/foo/bar/{{ctx.watch_id}}", "client_url" : "http://www.example.org/", "contexts" : [ { "type": "link", "href": "http://acme.pagerduty.com" },{ "type": "link", "href": "http://acme.pagerduty.com", "text": "View the incident on {{ctx.payload.link}}" } ] } } }
Pagerduty 动作属性
编辑名称 | 必填 | 描述 |
---|---|---|
|
否 |
要使用的账户,默认为默认账户。该账户需要一个 |
虽然下面某些属性的名称与 PagerDuty 的“Events API v1”参数名称匹配,但最终通过适当转换属性来使用“Events API v2”API。
表 87. Pagerduty 事件触发事件属性
名称 | 必填 | 描述 |
---|---|---|
|
是 |
此事件的简短描述 |
|
否 |
要发送的事件类型。必须是 |
|
否 |
Pagerduty 端的事件密钥,也用于去重,并允许解决或确认事件。 |
|
否 |
触发事件的客户端名称,例如 |
|
否 |
用于访问以获取更多详细信息的客户端 URL。 |
|
否 |
如果设置为 |
|
否 |
对象数组,允许您提供附加链接或图像以提供更多触发上下文。 |
|
否 |
要使用的代理主机(仅与 |
|
否 |
要使用的代理端口(仅与 |
您还可以使用 xpack.notification.pagerduty.event_defaults.*
属性为整个服务配置上述值的默认值,以及使用 xpack.notification.pagerduty.account.your_account_name.event_defaults.*
为每个帐户配置默认值。
所有这些对象都支持模板化,因此您可以使用上下文和负载中的数据作为所有字段的一部分。
配置 PagerDuty 账户
编辑您可以在 elasticsearch.yml
中的 xpack.notification.pagerduty
命名空间中配置 Watcher 用于与 PagerDuty 通信的账户。
要配置 PagerDuty 账户,您需要要向其发送通知的 PagerDuty 服务的 API 集成密钥。要获取密钥:
- 以账户管理员身份登录 pagerduty.com。
- 转到 服务 并选择您要定位的 PagerDuty 服务。
- 单击 集成 选项卡,如果不存在,则添加 Events API V2 集成。
- 复制 API 集成密钥以供下面使用。
要在密钥库中配置 PagerDuty 账户,您必须指定账户名称和集成密钥(参见 安全设置)。
bin/elasticsearch-keystore add xpack.notification.pagerduty.account.my_pagerduty_account.secure_service_api_key
在 7.0.0 中已弃用。
仍然支持在 YAML 文件中或通过集群更新设置存储服务 API 密钥,但应使用密钥库设置。
您还可以为 PagerDuty 事件属性 指定默认值。
xpack.notification.pagerduty: account: my_pagerduty_account: event_defaults: description: "Watch notification" incident_key: "my_incident_key" client: "my_client" client_url: http://www.example.org event_type: trigger attach_payload: true
如果配置多个 PagerDuty 帐户,则需要设置默认帐户或在 pagerduty
动作中指定应向其发送事件的帐户。
xpack.notification.pagerduty: default_account: team1 account: team1: ... team2: ...