Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Watcher ›Действия Watcher

Действие 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

Имя Обязательно Описание

account

нет

Используемая учетная запись, по умолчанию используется основная. Учетная запись должна иметь атрибут service_api_key.

Несмотря на то, что некоторые атрибуты ниже имеют имена, совпадающие с параметрами PagerDuty «Events API v1», в конечном итоге используется API «Events API v2», соответствующим образом переводя атрибуты.

Таблица 88. Атрибуты инцидента срабатывания события PagerDuty

Имя Обязательно Описание

description

да

Краткое описание события

event_type

нет

Тип события. Должно быть одним из trigger, resolve или acknowledge. По умолчанию trigger.

incident_key

нет

Ключ инцидента в PagerDuty, также используется для предотвращения дублирования и позволяет разрешать или подтверждать инциденты.

client

нет

Имя клиента, вызвавшего инцидент, например, Watcher Monitoring

client_url

нет

Ссылка на клиентскую страницу с более подробной информацией.

attach_payload

нет

Если установлено значение true, payload добавляется как деталь к API запросу. По умолчанию false.

contexts

нет

Массив объектов, которые позволяют предоставлять дополнительные ссылки или изображения для более контекстно-ориентированного триггера.

proxy.host

нет

Хост прокси (только в сочетании с proxy.port)

proxy.port

нет

Порт прокси (только в сочетании с proxy.host)

Вы можете настроить значения по умолчанию для вышеперечисленных параметров для всего сервиса с помощью свойств xpack.notification.pagerduty.event_defaults.*, а также для каждой учетной записи с помощью xpack.notification.pagerduty.account.your_account_name.event_defaults.*.

Все эти объекты поддерживают шаблоны, поэтому вы можете использовать данные из контекста и payload в качестве части всех полей.

Таблица 89. Атрибуты контекста срабатывания события PagerDuty

Имя Обязательно Описание

type

да

Одно из значений link или image.

href

да/нет

Ссылка для получения дополнительной информации. Должна быть указана, если тип - link, необязательна, если тип - image

src

нет

Атрибут src для типа image.

Настройка учетных записей PagerDuty

Настройка учетных записей, используемых Watcher для взаимодействия с PagerDuty, выполняется в пространстве имен xpack.notification.pagerduty в elasticsearch.yml.

Для настройки учетной записи PagerDuty необходим ключ API интеграции для сервиса PagerDuty, к которому вы хотите отправлять уведомления. Чтобы получить ключ:

  1. Войдите в pagerduty.com как администратор учетной записи.
  2. Перейдите в Сервисы и выберите целевой сервис PagerDuty.
  3. Перейдите на вкладку Интеграции и добавьте интеграцию Events API V2, если она отсутствует.
  4. Скопируйте ключ 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API