+++
title = "Предупреждения"
description = "Руководство по оповещениям"
keywords = ["Harvest", "alerting", "guide", "notifications"]
weight = 100
+++

# Оповещения

Когда оповещение меняет состояние, оно отправляет уведомления. Каждое правило предупреждений может иметь
несколько уведомлений. Чтобы добавить уведомление в правило предупреждений, вам сначала нужно
чтобы добавить и настроить канал «уведомлений» (это может быть электронная почта, PagerDuty или другая интеграция).

Это делается на странице каналов уведомлений.

> **Примечание.** Оповещения доступны только в Harvest версии 4.0 и выше.

## Добавить канал уведомлений

1. На боковой панели Harvest наведите курсор на значок **Оповещения** (колокольчик) и нажмите **Каналы уведомлений**.
1. Нажмите **Добавить канал**.
1. Заполните поля или выберите варианты, описанные ниже.

## Новые поля канала уведомлений

### По умолчанию (отправлять все оповещения)

- **Имя -** Введите имя для этого канала. Он будет отображаться, когда пользователи добавят уведомления в правила предупреждений.
- **Тип -** Выберите тип канала. Подробнее см. в [Списке поддерживаемых уведомлений](#list-of-supported-notifiers).
- **По умолчанию (отправлять по всем оповещениям) -** Если выбран этот параметр, на этот канал отправляется уведомление для всех правил оповещений.
- **Включить изображение -** Подробнее см. [Включить изображения в уведомлениях](#enable-images-in-notifications-external-image-store).
- **Disable Resolve Message -** Если выбран этот параметр, отключается сообщение о разрешении [OK], которое отправляется, когда состояние оповещения возвращается к ложному.
- **Отправлять напоминания -** При включении этой опции будут отправляться дополнительные уведомления (напоминания) о сработавших оповещениях. Вы можете указать, как часто должны отправляться напоминания, используя количество секунд (с), минут (м) или часов (ч), например, «30 с», «3 мин», «5 мин» или «1 час».

**Важно!** Напоминания о предупреждениях отправляются после оценки правил. Поэтому напоминание никогда не может отправляться чаще, чем установленный интервал оценки правила предупреждений.

В этих примерах показано, как часто и когда отправляются напоминания о сработавшем оповещении.

Интервал оценки правила предупреждений | Отправляйте напоминания каждые | Напоминание отправляется каждые (после последнего оповещения)
---------- | ----------- | -----------
`30s` | `15s` | ~30 сек
`1m` | `5m` | ~5 мин
`5m` | `15m` | ~15 мин
`6m` | `20m` | ~24 мин
`1h` | `15m` | ~1 ч
`1h` | `2h` | ~2 ч

<div class="clearfix"></div>

## Список поддерживаемых уведомлений

Имя | Тип |Поддерживает изображения| Поддержка тегов правил предупреждений
-----|------|---------------- | -----------------------
[DingDing](#dingdingdingtalk) | `dingding` | да, только внешний| нет
Discord | `discord` | да | нет
[Email](#email) | `email` | да | нет
[Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | да, только внешний | нет
Hipchat | `hipchat` | yes, external only | no
[Kafka](#kafka) | `kafka` |да, только внешний | нет
Line | `line` | да, только внешний | нет
Microsoft Teams | `teams` | да, только внешний | нет
[Opsgenie](#opsgenie) | `opsgenie` | да, только внешний | да
[Pagerduty](#pagerduty) | `pagerduty` | да, только внешний | да
Prometheus Alertmanager | `prometheus-alertmanager` | да, только внешний | да
[Pushover](#pushover) | `pushover` | да | нет
Sensu | `sensu` | да, только внешний| нет
[Sensu Go](#sensu-go) | `sensugo` | да, только внешний| нет
[Slack](#slack) | `slack` | да| нет
Telegram | `telegram` | да| нет
Threema | `threema` | да, только внешний | нет
VictorOps | `victorops` | да, только внешний | да
[Webhook](#webhook) | `webhook` | да, только внешний | да
[Zenduty](#zenduty) | `webhook` | да, только внешний| да

### Эл. адрес

Чтобы включить уведомления по электронной почте, необходимо настроить [Настройки SMTP]({{< relref "../administration/configuration/#smtp" >}})
в конфиге Harvest. Уведомления по электронной почте будут загружать изображение графика предупреждений в
Место назначения внешнего изображения Если доступно или Foblack, чтобы прикрепить изображение к электронной почте.
Имейте в виду, что если вы используете «локальные серверы для хранения данных изображения», и клиенты могут не быть
можно получить доступ к изображению.

> **Примечание.** Переменные шаблона не поддерживаются в оповещениях по электронной почте.

Настройка | Описание
---------- | -----------
Единая электронная почта | Отправьте одно письмо всем получателям. Отключено по умолчанию.
Адреса | Адреса электронной почты получателям. Вы можете ввести несколько адресов электронной почты, используя ";" разделитель.

### Слабый

{{< Figure class="float-right" max-width="40%" src="/static/img/docs/v4/slack_notification.png" caption="Предупреждающее уведомление Slack" >}}

Чтобы настроить слабые, вам нужно настроить входящую Slack WebHook URL. Вы можете следить
[Отправка сообщений с помощью входящих веб-перехватчиков](https://api.slack.com/incoming-webhooks) о том, как это сделать. Если вы хотите включить скриншоты
срабатывание предупреждений в сообщениях Slack, которые необходимо настроить либо [внешнее место назначения изображения](#external-image-store)
в Harvest или интеграцию с ботом через Slack Apps. [Следуйте руководству Slack, чтобы настроить интеграцию бота] (https://api.slack.com/bot-users) и используйте токен
при условии, что начинается с «xoxb».
Настройка | Описание
---------- | -----------
URL | URL входящего веб-перехватчика Slack или конечная точка Slack API [chat.postMessage](https://api.slack.com/methods/chat.postMessage).
Имя пользователя | Установите имя пользователя для сообщения бота.
Получатель | Позволяет переопределить получателя Slack. Вы должны указать Slack ID канала, Slack ID пользователя, ссылку на имя пользователя (@&lt;user&gt;, все в нижнем регистре, без пробелов) или ссылку на канал (#&lt;channel&gt;, все в нижнем регистре, без пробелов). Если вы используете конечную точку Slack API chat.postMessage, это обязательно.
Значок эмодзи | Укажите смайлик, который будет использоваться в качестве значка для сообщения бота. Пример :smile:
URL-адрес значка | Укажите URL-адрес изображения, которое будет использоваться в качестве значка для сообщения бота.
Упоминание пользователей | При желании укажите одного или нескольких пользователей в уведомлении Slack, отправленном Harvest. Вы должны ссылаться на пользователей, разделенных запятыми, через их соответствующие идентификаторы Slack (которые вы можете найти, нажав кнопку переполнения в профиле Slack каждого пользователя).
Группы упоминаний | При желании укажите одну или несколько групп в уведомлении Slack, отправленном Harvest. Вы должны ссылаться на группы, разделенные запятыми, через их соответствующие идентификаторы Slack (которые вы можете получить из URL-адреса профиля Slack каждой группы).
Упоминание канала | При желании укажите либо всех участников канала, либо только активных.
Жетон | Если предоставлено, Harvest загрузит сгенерированное изображение с помощью метода API Slack file.upload, а не внешнего места назначения изображения. Если вы используете конечную точку Slack API chat.postMessage, это обязательно.

Если вы используете токен для слабого бота, вам необходимо пригласить бота на канал, на который вы хотите отправлять уведомления, и добавить канал в поле получателя.

### Опсджини

Для настройки Opsgenie вам потребуется ключ API и URL-адрес API оповещения. Их можно получить, настроив новую [интеграцию с Harvest] (https://docs.opsgenie.com/docs/harvest-integration).

Настройка | Описание
--------|------------
URL-адрес API предупреждений | URL-адрес API для вашего экземпляра Opsgenie. Обычно это https://api.opsgenie.com или, для клиентов из ЕС, https://api.eu.opsgenie.com.
API-ключ | Ключ API, предоставленный Opsgenie для настроенной интеграции Harvest.
Переопределить приоритет | Настраивает приоритет предупреждений с помощью тега og_priority. Тег og_priority должен иметь одно из следующих значений: P1, P2, P3, P4 или P5. По умолчанию установлено значение «Ложь».
Отправлять теги уведомлений как | Укажите, как вы хотите, чтобы [Теги уведомлений]({{< relref "create-alerts.md/#notifications" >}}) доставлялись в Opsgenie.

> **Примечание.** Когда теги уведомлений отправляются как «Теги», они объединяются в строку в формате «ключ: значение».

### ПейджерДьюти

Чтобы настроить PagerDuty, все, что вам нужно сделать, это предоставить ключ интеграции.

Настройка | Описание
---------- | -----------
Ключ интеграции | Ключ интеграции для PagerDuty.
Серьезность | Уровень для динамических уведомлений, по умолчанию «критический» (1)
Автоматическое разрешение инцидентов | Решайте инциденты в PagerDuty после того, как оповещение вернется в нормальное состояние.
Подробное сообщение | Удаляет предупреждающее сообщение из поля сводки PD и вместо этого помещает его в пользовательские данные (2)

>**Примечание.** Теги `Серьезность`, `Класс`, `Группа`, `dedup_key` и `Компонент` имеют особое значение в [Общем формате событий Pagerduty — PD-CEF] (https://support. .pagerduty.com/docs/pd-cef). Если панель предупреждений определяет эти ключи тегов, они переносятся в корень события, отправляемого в Pagerduty. Это означает, что они будут доступны в пользовательском интерфейсе Pagerduty и инструментах фильтрации. Тег Severity, установленный в предупреждении, переопределяет глобальный Severity, установленный в канале уведомлений, если это допустимый уровень.

>Использование Message In Details изменит структуру поля custom_details в событии PagerDuty.
Это может нарушить правила пользовательских событий в ваших правилах PagerDuty, если вы полагаетесь на поля в `payload.custom_details`.
Переместите все существующие правила с помощью `custom_details.myMetric` в `custom_details.queries.myMetric`.
Это поведение станет поведением по умолчанию в будущей версии Harvest.

> **Примечание.** Тег dedup_key переопределяет тег dedup_key, сгенерированный Harvest, с помощью пользовательского ключа.

> **Примечание.** Тег `state` переопределяет текущее состояние предупреждения внутри полезной нагрузки `custom_details`.

### ВикторОпс

Чтобы настроить VictorOps, укажите URL-адрес из интеграции с Harvest и замените `$routing_key` действительным ключом.

> **Примечание.** Тег «Серьезность» имеет особое значение в [Полях инцидентов VictorOps] (https://help.victorops.com/knowledge-base/incident-fields-glossary/). Если панель предупреждений определяет этот ключ, то он заменяет `message_type` в корне события, отправляемого в VictorOps.
### Плохая работа

Чтобы настроить Pushover, вы должны предоставить ключ пользователя и токен API. Обратитесь к [Что такое Pushover и как его использовать](https://support.pushover.net/i7-what-is-pushover-and-how-do-i-use-it) для получения инструкций по их.


Настройка | Описание
---------- | -----------
Токен API | Токен приложения
ключ(и) пользователя | Список пользовательских ключей, разделенных запятыми.
Устройство(а) | Список устройств через запятую
Приоритет | Уведомления о приоритете отправляются
ОК приоритет | Рассылаются приоритетные уведомления OK; если не установлено, то уведомления ОК отправляются с приоритетом, установленным для оповещений
Повтор | Как часто (в секундах) серверы Pushover отправляют пользователю одно и то же уведомление. (минимум 30 секунд)
Срок действия | Сколько секунд будут повторяться ваши уведомления (максимум 86 400 секунд)
Предупреждающий звук | Звук оповещения об уведомлениях
ОК звук | Звук уведомлений ОК

### Вебхук

Уведомление веб-перехватчика — это простой способ отправки информации об изменении состояния через HTTP на пользовательскую конечную точку.
С помощью этого уведомления вы можете интегрировать Harvest в систему по вашему выбору.

Пример json-тела:

```json
{
   "dashboardId":1,
   "evalMatches": [
     {
       «значение»: 1,
       "метрика":"Количество",
       "теги":{}
     }
   ],
   "imageUrl":"https://harvest.com/assets/img/blog/mixed_styles.png",
   "message":"Уведомление",
   «Идентификатор организации»: 1,
   "панельид":2,
   "правило": 1,
   "ruleName":"Предупреждение о названии панели",
   "ruleUrl":"http://localhost:3000/d/hZ7BuVbWz/test-dashboard?fullscreen\u0026edit\u0026tab=alert\u0026panelId=2\u0026orgId=1",
   «состояние»: «оповещение»,
   "теги": {
     "имя тега":"значение тега"
   },
   "title":"[Предупреждение] Оповещение о заголовке панели"
}
```

- **состояние** - Возможные значения состояния оповещения: `ok`, `paused`, `alerting`, `pending`, `no_data`.

### ДиньДинь/ДиньТалк

DingTalk поддерживает следующие «типы сообщений»: «текст», «ссылка» и «уценка». Поддерживается только тип сообщения «ссылка». См. [инструкции по настройке] (https://developers.dingtalk.com/document/app/custom-robot-access) на китайском языке.

В ПК-клиенте DingTalk:

1. Щелкните значок «Еще» в правом верхнем углу панели.

2. Нажмите пункт «Управление роботом» во всплывающем меню, появится новая панель под названием «Управление роботом».

3. На панели «Управление роботом» выберите «Индивидуальный: настроенный робот с веб-перехватчиком».

4. В следующей новой панели под названием «Сведения о роботе» нажмите кнопку «Добавить».

5. На панели «Добавить робота» введите псевдоним для робота и выберите «группу сообщений», к которой присоединится робот. Нажмите «Далее».

6. На панели появится URL-адрес веб-перехватчика, который выглядит следующим образом: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx. Скопируйте этот URL-адрес на страницу настроек Harvest DingTalk и нажмите «Готово».

### Кафка

Уведомления можно отправлять в тему Kafka из Harvest с помощью [Kafka REST Proxy] (https://docs.confluent.io/1.0/kafka-rest/docs/index.html).
Есть несколько параметров конфигурации, которые необходимо настроить в пользовательском интерфейсе Harvest в настройках Kafka:

1. Конечная точка Kafka REST Proxy.

1. Кафка Тема.

После установки этих двух свойств вы можете отправлять оповещения в Kafka для дальнейшей обработки или регулирования.

### Чат Google Hangouts

Уведомления можно отправлять, настроив входящий веб-хук в чате Google Hangouts. Дополнительные сведения о настройке веб-перехватчика см. в разделе [веб-перехватчики](https://developers.google.com/hangouts/chat/how-tos/webhooks).

### Прометей Alertmanager

Alertmanager обрабатывает предупреждения, отправленные клиентскими приложениями, такими как сервер Prometheus или Harvest. Он заботится об их дедупликации, группировке и маршрутизации к правильному получателю. Уведомления Harvest можно отправлять в Alertmanager через простой входящий веб-хук. Обратитесь к официальной [документации Prometheus Alertmanager](https://prometheus.io/docs/alerting/alertmanager) для получения информации о конфигурации.

> **Внимание!** В случае настройки высокой доступности не балансируйте нагрузку трафика между Harvest и Alertmanagers, чтобы сохранить согласованность между всеми вашими экземплярами Alertmanager. Вместо этого укажите Harvest на список всех Alertmanagers, перечислив их URL-адреса через запятую в конфигурации канала уведомлений.

### Зендути

[Zenduty] (https://www.zenduty.com) — это платформа оповещения об инцидентах и ​​координации реагирования, которая не оповещает нужные команды с помощью SMS, телефона (голоса), электронной почты, Slack, Microsoft Teams и push-уведомлений (Android/iOS). всякий раз, когда срабатывает оповещение Harvest, но также помогает быстро сортировать и устранять критические инциденты, влияющие на пользователей. Оповещения Harvest отправляются в Zenduty через собственный диспетчер веб-перехватчиков Harvest. Обратитесь к [документации по интеграции] Zenduty-Harvest (https://docs.zenduty.com/docs/harvest) для настройки интеграции.

### Сэнсу Го

[Sensu] (https://sensu.io) — это комплексное решение для мониторинга и наблюдения в любом масштабе. Sensu Go разработан, чтобы дать вам представление обо всем, что вам нужно: традиционные серверные шкафы, контейнеры, приложения, облако и многое другое. Уведомления Harvest можно отправлять в Sensu Go как события через API. Для этой операции требуется ключ API. Обратитесь к [документации Sensu Go](https://docs.sensu.io/sensu-go/latest/operations/control-access/use-apikeys/#api-key-authentication) для получения информации о создании этого ключа.

## Включить изображения в уведомлениях {#external-image-store}

Harvest может отображать панель, связанную с правилом оповещения, в виде изображения PNG и включать его в уведомление. Подробнее о требованиях и настройке
[рендеринг изображения]({{< relref "../administration/image_rendering/" >}}).

Вы должны настроить [поставщик внешнего хранилища изображений]({{< relref "../administration/configuration/#external-image-storage" >}}), чтобы получать изображения в уведомлениях о предупреждениях. Если ваш канал уведомлений требует, чтобы изображение было общедоступным (например, Slack, PagerDuty), настройте поставщика, который загружает изображение в удаленное хранилище изображений, например Amazon S3, Webdav, Google Cloud Storage или Azure Blob Storage. В противном случае локальный провайдер может использоваться для обслуживания изображения непосредственно из Harvest.

Службы уведомлений, которым требуется общедоступный доступ к изображениям, помечены как «только внешние».

## Настройте обратную ссылку на Harvest из предупреждений

Все оповещения содержат обратную ссылку на инициированное оповещение в экземпляре Harvest.
Этот URL основан на настройке [домен]({{< relref "../administration/configuration/#domain" >}}) в Harvest.

## Шаблоны уведомлений

> **Примечание.** Шаблоны оповещений доступны только в Harvest v7.4 и выше.

Функция шаблона оповещения позволяет вам взять значение [label]({{< relref "../basics/timeseries-dimensions.md#labels" >}}) из запроса оповещения и [вставить его в оповещение notifi