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,并通过适当转换属性来实现。
表 88. 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: ...