Действие Watcher для PagerDuty
Используйте действие PagerDuty для создания событий в PagerDuty. Для создания событий PagerDuty необходимо настроить хотя бы одну учетную запись PagerDuty в elasticsearch.yml.
Настройка действий PagerDuty
Настройка действий PagerDuty выполняется в массиве actions. Атрибуты, специфичные для действия, указываются с помощью ключевого слова pagerduty.
Следующий фрагмент показывает простое определение действия PagerDuty:
"actions" : {
"notify-pagerduty" : {
"transform" : { ... },
"throttle_period" : "5m",
"pagerduty" : {
"description" : "Main system down, please check!"
}
}
} | Описание сообщения |
Добавление метаданных к инциденту 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
| Имя | Требуется | Описание |
|---|---|---|
| нет | Используемая учетная запись, по умолчанию используется основная. Учетная запись должна иметь атрибут |
Хотя некоторые из следующих атрибутов имеют имена, совпадающие с параметрами API PagerDuty «Events API v1», в конечном итоге используется API «Events API v2», путем соответствующего перевода атрибутов.
Таблица 81. Атрибуты инцидента триггера события PagerDuty
| Имя | Требуется | Описание |
|---|---|---|
| да | Краткое описание этого события |
| нет | Тип события для отправки. Должен быть одним из |
| нет | Ключ инцидента со стороны PagerDuty, также используется для предотвращения дублирования и позволяет разрешать или подтверждать инциденты. |
| нет | Имя клиента, вызвавшего инцидент, например, |
| нет | Ссылка на клиентский URL для получения более подробной информации. |
| нет | Если установлено |
| нет | Массив объектов, которые позволяют предоставлять дополнительные ссылки или изображения для предоставления более контекстной информации о триггере. |
| нет | Хост прокси, который следует использовать (только в сочетании с |
| нет | Порт прокси, который следует использовать (только в сочетании с |
Можно настроить значения по умолчанию для вышеперечисленных значений для всего сервиса, используя свойства xpack.notification.pagerduty.event_defaults.*, а также для каждой учетной записи, используя xpack.notification.pagerduty.account.your_account_name.event_defaults.*.
Все эти объекты поддерживают шаблон, поэтому вы можете использовать данные из контекста и полезной нагрузки в качестве части всех полей.
Таблица 82. Атрибуты контекста триггера события PagerDuty
| Имя | Требуется | Описание |
|---|---|---|
| да | Один из |
| да/нет | Ссылка для включения дополнительной информации. Должна быть, если тип |
| нет | Атрибут src для типа |
Настройка учетных записей PagerDuty
Учетные записи, которые Watcher использует для связи с PagerDuty, настраиваются в пространстве имен xpack.notification.pagerduty в elasticsearch.yml.
Для настройки учетной записи PagerDuty вам потребуется ключ интеграции API для сервиса PagerDuty, которому вы хотите отправлять уведомления. Чтобы получить ключ:
- Войдите в pagerduty.com как администратор учетной записи.
- Перейдите в Services и выберите целевой сервис PagerDuty.
- Нажмите вкладку Integrations и добавьте интеграцию Events API V2, если она еще не существует.
- Скопируйте ключ интеграции API для использования ниже.
Для настройки учетной записи PagerDuty в хранилище ключей необходимо указать имя учетной записи и ключ интеграции (см. Настройки безопасности):
bin/elasticsearch-keystore add xpack.notification.pagerduty.account.my_pagerduty_account.secure_service_api_key
Устарело с версии 7.0.0.
Хранение ключей API сервиса в файле YAML или через настройки обновления кластера все еще поддерживается, но следует использовать настройку хранилища ключей.
Также можно указать значения по умолчанию для атрибутов события 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:
...
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/actions-pagerduty.html