Действие 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, вы можете прикрепить payload и массив контекстов к действию.
"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», в конечном итоге используется API «Events API v2», соответствующим образом переводя атрибуты.
Таблица 88. Атрибуты инцидента срабатывания события PagerDuty
| Имя | Обязательно | Описание |
|---|---|---|
| да | Краткое описание события |
| нет | Тип события. Должно быть одним из |
| нет | Ключ инцидента в PagerDuty, также используется для предотвращения дублирования и позволяет разрешать или подтверждать инциденты. |
| нет | Имя клиента, вызвавшего инцидент, например, |
| нет | Ссылка на клиентскую страницу с более подробной информацией. |
| нет | Если установлено значение |
| нет | Массив объектов, которые позволяют предоставлять дополнительные ссылки или изображения для более контекстно-ориентированного триггера. |
| нет | Хост прокси (только в сочетании с |
| нет | Порт прокси (только в сочетании с |
Вы можете настроить значения по умолчанию для вышеперечисленных параметров для всего сервиса с помощью свойств xpack.notification.pagerduty.event_defaults.*, а также для каждой учетной записи с помощью xpack.notification.pagerduty.account.your_account_name.event_defaults.*.
Все эти объекты поддерживают шаблоны, поэтому вы можете использовать данные из контекста и payload в качестве части всех полей.
Таблица 89. Атрибуты контекста срабатывания события PagerDuty
| Имя | Обязательно | Описание |
|---|---|---|
| да | Одно из значений |
| да/нет | Ссылка для получения дополнительной информации. Должна быть указана, если тип - |
| нет | Атрибут src для типа |
Настройка учетных записей PagerDuty
Настройка учетных записей, используемых Watcher для взаимодействия с PagerDuty, выполняется в пространстве имен xpack.notification.pagerduty в elasticsearch.yml.
Для настройки учетной записи PagerDuty необходим ключ API интеграции для сервиса PagerDuty, к которому вы хотите отправлять уведомления. Чтобы получить ключ:
- Войдите в 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.
Хранение ключа 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/8.17/actions-pagerduty.html