Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.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, можно прикрепить полезную нагрузку, а также массив контекстов к действию.

"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.

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

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

Имя Требуется Описание

description

да

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

event_type

нет

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

incident_key

нет

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

client

нет

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

client_url

нет

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

attach_payload

нет

Если установлено true, полезная нагрузка прикрепляется как деталь к вызову 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.*.

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

Таблица 82. Атрибуты контекста триггера события 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. Перейдите в Services и выберите целевой сервис PagerDuty.
  3. Нажмите вкладку Integrations и добавьте интеграцию 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/7.17/actions-pagerduty.html

Spec-Zone.ru

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