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“事件 API v1”参数名称相匹配,但最终使用“事件 API v2”API 并相应地转换属性。
表 86. 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 服务。
- 单击 集成 选项卡,如果尚不存在 事件 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: ...