+++
title = "Подготовка"
description = ""
keywords = ["harvest", "provisioning"]
aliases = ["/docs/harvest/latest/installation/provisioning"]
weight = 800
+++

# Предоставление Harvest

В предыдущих версиях Harvest вы могли использовать API только для предоставления источников данных и информационных панелей. Но для этого требовалось, чтобы служба была запущена до того, как вы начали создавать информационные панели, а также необходимо было настроить учетные данные для HTTP API. В версии 5.0 мы решили улучшить этот опыт, добавив новую активную систему подготовки, которая использует файлы конфигурации. Это сделает GitOps более естественным, поскольку источники данных и информационные панели можно будет определять с помощью файлов, версии которых можно контролировать. Мы надеемся расширить эту систему, чтобы позже добавить поддержку пользователей, организаций и предупреждений.

## Файл конфигурации

Посетите страницу [configuration]({{< relref "configuration.md" >}}) для получения дополнительной информации о том, что вы можете настроить в `harvest.ini`

### Расположение файла конфигурации

- Конфигурация по умолчанию из `$WORKING_DIR/conf/defaults.ini`
- Пользовательская конфигурация из `$WORKING_DIR/conf/custom.ini`
- Путь к пользовательскому файлу конфигурации можно переопределить с помощью параметра `--config`

> **Примечание.** Если вы установили Harvest с помощью `deb` или `rpm`
> пакеты, то ваш файл конфигурации находится по адресу
> `/etc/harvest/harvest.ini`. Этот путь указан в Harvest
> Скрипт init.d с использованием параметра файла `--config`.

### Использование переменных среды

Интерполяцию переменных среды можно использовать во всех трех типах конфигурации обеспечения. Допустимый синтаксис
либо `$ENV_VAR_NAME`, либо `${ENV_VAR_NAME}` и может использоваться только для значений, а не для ключей или более крупных частей.
конфигураций. Он недоступен в файлах определения панели мониторинга, только для подготовки панели мониторинга.
конфигурация.
Пример:

``ямл
источники данных:
   - название: Графит
     URL-адрес: http://localhost:$PORT
     пользователь: $USER
     безопасныйJsonData:
       пароль: $ПАРОЛЬ
```

Если у вас есть литерал `$` в вашем значении и вы хотите избежать интерполяции, можно использовать `$$`.

<ч />

## Инструменты управления конфигурацией

В настоящее время мы не предоставляем никаких скриптов/манифестов для настройки Harvest. Вместо того, чтобы тратить время на изучение и создание сценариев/манифестов для каждого инструмента, мы считаем, что наше время лучше потратить на упрощение предоставления Harvest. Поэтому мы в значительной степени полагаемся на опыт сообщества.

| Инструмент      | Проект                                                                                                      |
| --------- | -------------------------------------------------------------------------------------------------------------- |
| Puppet    | [https://forge.puppet.com/puppet/harvest](https://forge.puppet.com/puppet/harvest)                             |
| Ansible   | [https://github.com/cloudalchemy/ansible-harvest](https://github.com/cloudalchemy/ansible-harvest)             |
| Chef      | [https://github.com/JonathanTron/chef-harvest](https://github.com/JonathanTron/chef-harvest)                   |
| Saltstack | [https://github.com/salt-formulas/salt-formula-harvest](https://github.com/salt-formulas/salt-formula-harvest) |
| Jsonnet   | [https://github.com/harvest/grafonnet-lib/](https://github.com/harvest/grafonnet-lib/)                         |

## Источники данных

> Эта функция доступна начиная с версии 5.0

В Harvest можно управлять источниками данных, добавив один или несколько файлов конфигурации YAML в каталог [`provisioning/datasources`](/administration/configuration/#provisioning). Каждый файл конфигурации может содержать список «источников данных», которые будут добавлены или обновлены во время запуска. Если источник данных уже существует, Harvest обновляет его, чтобы он соответствовал файлу конфигурации. Файл конфигурации также может содержать список источников данных, которые следует удалить. Этот список называется `deleteDatasources`. Harvest удалит источники данных, перечисленные в `deleteDatasources`, прежде чем вставлять/обновлять их в списке `datasource`.

### Запуск нескольких экземпляров Harvest

Если вы используете несколько экземпляров Harvest, у вас могут возникнуть проблемы, если они имеют разные версии файла конфигурации `datasource.yaml`. Лучший способ решить эту проблему — добавить номер версии к каждому источнику данных в конфигурации и увеличивать его при обновлении конфигурации. Harvest будет обновлять только источники данных с тем же или более низким номером версии, чем указано в конфигурации. Таким образом, старые конфигурации не могут перезаписывать новые конфигурации, если они перезапускаются в одно и то же время.

### Пример файла конфигурации источника данных

``ямл
# версия конфигурационного файла
апиВерсия: 1

# список источников данных, которые следует удалить из базы данных
удалить источники данных:
  - название: Графит
    идентификатор организации: 1

# список источников данных для вставки/обновления в зависимости
# что есть в базе
источники данных:
  # <string, required> имя источника данных. Необходимый
  - название: Графит
    # <string, required> тип источника данных. Необходимый
    тип: графит
    # <string, required> режим доступа. прокси или напрямую (сервер или браузер в пользовательском интерфейсе). Необходимый
    доступ: прокси
    # <int> идентификатор организации. по умолчанию будет orgId 1, если не указано
    идентификатор организации: 1
    # <string> пользовательский UID, который можно использовать для ссылки на этот источник данных в других частях конфигурации, если он не указан, будет сгенерирован автоматически
    uid: my_unique_uid
    # <строка> URL-адрес
    адрес: http://локальный:8080
    # <string> Устарело, используйте secureJsonData.password
    пароль:
    # <string> пользователь базы данных, если используется
    Пользователь:
    # <string> имя базы данных, если используется
    база данных:
    # <bool> включить/отключить базовую аутентификацию
    базоваяАутентификация:
    # <string> базовое имя пользователя для аутентификации
    BasicAuthПользователь:
    # <string> Устарело, используйте secureJsonData.basicAuthPassword
    базовый пароль аутентификации:
    # <bool> включить/отключить с заголовками учетных данных
    с учетными данными:
    # <bool> отметить как источник данных по умолчанию. Максимум один на организацию
    по умолчанию:
    # поля <map>, которые будут преобразованы в json и сохранены в jsonData
    jsonДанные:
      graphiteВерсия: '1.1'
      tlsAuth: правда
      tlsAuthWithCACert: правда
    # <string> json-объект данных, которые будут зашифрованы.
    безопасныйJsonData:
      tlsCACert: '...'
      tlsClientCert: '...'
      tlsClientKey: '...'
      # <string> пароль базы данных, если используется
      пароль:
      # <string> основной пароль авторизации
      базовый пароль аутентификации:
    версия: 1
    # <bool> разрешить пользователям редактировать источники данных из пользовательского интерфейса.
    редактируемый: ложь
#### Пользовательские настройки для каждого источника данных

Конкретные примеры подготовки см. в документации по каждому источнику данных.

|Источник данных | Разное |
| ------------- | -------------------------------------------------- -------------------------------- |
| Эластичный поиск | Elasticsearch использует свойство `database` для настройки индекса для источника данных |

#### JSON Data

Поскольку не все источники данных имеют одинаковые параметры конфигурации, в качестве полей используются только наиболее распространенные из них. Остальное следует хранить в виде большого двоичного объекта json в поле jsonData. Вот наиболее распространенные настройки, используемые основными источниками данных.

| Имя                     | Тип     | Источник данных                                                  | Описание                                                                                |
| ----------------------- | ------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| tlsAuth                 | boolean | _All_                                                            | Включить аутентификацию TLS с использованием сертификата клиента, настроенного в безопасных данных json.                 |
| tlsAuthWithCACert       | boolean | _All_                                                            | Включить аутентификацию TLS с использованием сертификата CA                                                 |
| tlsSkipVerify           | boolean | _All_                                                            | Определяет, проверяет ли клиент цепочку сертификатов сервера и имя хоста.                    |
| serverName              | string  | _All_                                                            | Необязательный. Управляет именем сервера, используемым для проверки общего имени сертификата/альтернативного имени субъекта. По умолчанию используется URL-адрес источника данных. |
| timeout                 | string  | _All_                                                            | Время ожидания запроса в секундах. Переопределяет параметр dataproxy.timeout                              |
| graphiteVersion         | string  | Graphite                                                         | Графитовая версия                                                                          |
| timeInterval            | string  | Prometheus, Elasticsearch, InfluxDB, MySQL, PostgreSQL and MSSQL | Наименьшее значение интервала/шага, которое следует использовать для этого источника данных.                        |
| httpMode                | string  | Influxdb                                                         | HTTP-метод. 'GET', 'POST', по умолчанию GET                                              |
| maxSeries               | number  | Influxdb                                                         | Максимальное количество рядов/таблиц, которые обрабатывает Harvest                                        |
| httpMethod              | string  | Prometheus                                                       | HTTP-метод. 'GET', 'POST', по умолчанию GET                                                |
| customQueryParameters   | string  | Prometheus                                                       | Параметры запроса для добавления в виде строки в кодировке URL.                                                |
| esVersion               | number  | Elasticsearch                                                    | Версия Elasticsearch в виде числа (2/5/56/60/70)                                           |
| timeField               | string  | Elasticsearch                                                    | Какое поле следует использовать в качестве метки времени                                             |
| interval                | string  | Elasticsearch                                                    | Формат индекса даты и времени. ноль (без шаблона), «Ежечасно», «Ежедневно», «Еженедельно», «Ежемесячно» или «Ежегодно» |
| logMessageField         | string  | Elasticsearch                                                    | Какое поле следует использовать в качестве сообщения журнала                                |
| logLevelField           | string  | Elasticsearch                                                    | Какое поле следует использовать для указания приоритета сообщения журнала                    |
| sigV4Auth               | boolean | Elasticsearch and Prometheus                                     | Включить использование SigV4                                                                     |
| sigV4AuthType           | string  | Elasticsearch and Prometheus                                     | Поставщик аутентификации SigV4. по умолчанию/учетные данные/ключи                                             |
| sigV4ExternalId         | string  | Elasticsearch and Prometheus                                     | Дополнительный внешний идентификатор SigV4                                                                  |
| sigV4AssumeRoleArn      | string  | Elasticsearch and Prometheus                                     | Необязательная роль SigV4 ARN для принятия на себя                                                         |
| sigV4Region             | string  | Elasticsearch and Prometheus                                     | SigV4 регион AWS                                                                        |
| sigV4Profile            | string  | Elasticsearch and Prometheus                                     | Дополнительный профиль учетных данных SigV4                                                         |
| authType                | string  | Cloudwatch                                                       | Поставщик авторизации. по умолчанию/учетные данные/ключи                                                     |
| externalId              | string  | Cloudwatch                                                       | Дополнительный внешний идентификатор                                                                      |
| assumeRoleArn           | string  | Cloudwatch                                                       | Необязательная роль ARN для принятия на себя                                                            |
| defaultRegion           | string  | Cloudwatch                                                       | Необязательный регион AWS по умолчанию                                                                |
| customMetricsNamespaces | string  | Cloudwatch                                                       | Пространства имен пользовательских показателей                                                               |
| profile                 | string  | Cloudwatch                                                       | Необязательный профиль учетных данных                                                               |
| tsdbVersion             | string  | OpenTSDB                                     
                                                                                                         Версия                                                                                      |
| tsdbResolution          | string  | OpenTSDB                                                         | разрешение                                                                                  |
| sslmode                 | string  | PostgreSQL                                                       | SSL-режим. «отключить», «требовать», «проверить-ca» или «проверить-полный»                  |
| tlsConfigurationMethod  | string  | PostgreSQL                                                       | Конфигурация SSL-сертификата либо по пути к файлу, либо по содержимому файла.               |
| sslRootCertFile         | string  | PostgreSQL                                                       | Файл корневого сертификата сервера SSL, должен быть доступен для чтения пользователем Harvest.                     |
| sslCertFile             | string  | PostgreSQL                                                       | Файл сертификата клиента SSL, должен быть доступен для чтения пользователю Harvest.                           |
| sslKeyFile              | string  | PostgreSQL                                                       | Файл ключа клиента SSL, должен быть доступен для чтения _только_ пользователю Harvest.                         |
| encrypt                 | string  | MSSQL                                                            | Обработка SSL-шифрования соединения. «отключить», «ложь» или «истина»                          |
| postgresVersion         | number  | PostgreSQL                                                       | Версия Postgres в виде числа (903/904/905/906/1000), что означает v9.3, v9.4, ..., v10          |
| timescaledb             | boolean | PostgreSQL                                                       | Включить использование расширения TimescaleDB                                                      |
| maxOpenConns            | number  | MySQL, PostgreSQL and MSSQL                                      | Максимальное количество открытых подключений к базе данных (Harvest v5.4+)                        |
| maxIdleConns            | number  | MySQL, PostgreSQL and MSSQL                                      | Максимальное количество подключений в пуле простаивающих подключений (Harvest v5.4+)                   |
| connMaxLifetime         | number  | MySQL, PostgreSQL and MSSQL                                      | Максимальное время в секундах, в течение которого соединение может быть повторно использовано (Harvest v5.4+)               |

#### Безопасные данные Json

`{"authType":"keys","defaultRegion":"us-west-2","timeField":"@timestamp"}`

Защищенные данные json — это карта настроек, которые будут зашифрованы с помощью [секретного ключа]({{< relref "configuration.md#secret-key" >}}) из конфигурации Harvest. Цель этого состоит только в том, чтобы скрыть контент от пользователей приложения. Это следует использовать для хранения сертификата TLS и пароля, которые Harvest добавит к запросу на стороне сервера. Все эти настройки являются необязательными.
| Имя               |    Тип  | Источник данных| Описание                            |
| ----------------- | ------ | ---------- | --------------------------------------- |
| tlsCACert         | string | _All_      | Сертификат CA для исходящих запросов       |
| tlsClientCert     | string | _All_      | Сертификат клиента TLS для исходящих запросов |
| tlsClientKey      | string | _All_      | Ключ клиента TLS для исходящих запросов
| password          | string | _All_      | пароль                               |
| basicAuthPassword | string | _All_      | пароль для базовой аутентификации      |
| accessKey         | string | Cloudwatch | Ключ доступа для подключения к Cloudwatch |
| secretKey         | string | Cloudwatch | Секретный ключ для подключения к Cloudwatch |
| sigV4AccessKey    | string | Elasticsearch and Prometheus | Ключ доступа SigV4. Требуется при использовании поставщика аутентификации ключей |
| sigV4SecretKey    | string | Elasticsearch and Prometheus | Секретный ключ SigV4. Требуется при использовании поставщика аутентификации ключей |

#### Пользовательские заголовки HTTP для источников данных

Источники данных, управляемые Harvests, можно настроить для добавления заголовков HTTP ко всем запросам.
переход к этому источнику данных. Имя заголовка настраивается в поле jsonData, и значение заголовка должно быть
настроен в `secureJsonData`.

``ямл
апиВерсия: 1

источники данных:
  - название: Графит
    jsonДанные:
      httpHeaderName1: «Имя заголовка»
      httpHeaderName2: «Авторизация»
    безопасныйJsonData:
      httpHeaderValue1: 'HeaderValue'
      httpHeaderValue2: «Носитель XXXXXXXXX»
```

## Плагины

> Эта функция доступна начиная с версии 7.1

Вы можете управлять плагинами в Harvest, добавив один или несколько файлов конфигурации YAML в каталог [`provisioning/plugins`]({{< relref "configuration.md#provisioning" >}}). Каждый файл конфигурации может содержать список «приложений», которые будут обновляться во время запуска. Harvest обновляет каждое приложение в соответствии с файлом конфигурации.

### Пример файла конфигурации плагина

``ямл
апиВерсия: 1

Программы:
  # <string> тип приложения, идентификатор плагина. Необходимый
  - тип: raintank-worldping-app
    # <int> Идентификатор организации. По умолчанию 1, если не указано org_name
    орг_ид: 1
    # <строка> Название организации. Переопределяет org_id, если org_id не указан
    org_name: Основная организация.
    # <bool> отключить приложение. По умолчанию ложно.
    отключено: ложь
    # Поля <map>, которые будут преобразованы в json и сохранены в jsonData. Пользовательский для каждого приложения.
    jsonДанные:
      # пары ключ/значение строки для объекта
      ключ: значение
    # поля <map>, которые будут преобразованы в json, зашифрованы и сохранены в secureJsonData. Пользовательский для каждого приложения.
    безопасныйJsonData:
      # пары ключ/значение из строки в строку
      ключ: значение
```
## Панели мониторинга

Вы можете управлять панелями мониторинга в Harvest, добавив один или несколько файлов конфигурации YAML в каталог [`provisioning/dashboards`]({{< relref "configuration.md" >}}). Каждый файл конфигурации может содержать список «поставщиков информационных панелей», которые загружают информационные панели в Harvest из локальной файловой системы.

Конфигурационный файл поставщика панели мониторинга выглядит примерно так:

``ямл
апиВерсия: 1

провайдеры:
  # <string> уникальное имя провайдера. Необходимый
  - name: 'уникальное имя провайдера'
    # <int> Идентификатор организации. По умолчанию 1
    идентификатор организации: 1
    # <string> имя папки панели мониторинга.
    папка: ''
    # <string> UID папки. будет сгенерировано автоматически, если не указано
    идентификатор папки: ''
    # <string> тип провайдера. По умолчанию «файл»
    тип: файл
    # <bool> отключить удаление дашборда
    отключить удаление: ложь
    # <int> как часто Harvest будет сканировать измененные информационные панели
    updateIntervalSeconds: 10
    # <bool> разрешить обновление предоставленных информационных панелей из пользовательского интерфейса
    разрешитьUiUpdates: ложь
    опции:
      # <string, required> путь к файлам панели мониторинга на диске. Требуется при использовании типа «файл»
      путь: /var/lib/harvest/dashboards
      # <bool> использовать имена папок из файловой системы для создания папок в Harvest
      foldersFromFilesStructure: true
```

Когда Harvest запустится, она обновит/вставит все панели мониторинга, доступные по настроенному пути. Затем позже опрашивайте этот путь каждые **updateIntervalSeconds** и ищите обновленные файлы json и обновляйте/вставляйте их в базу данных.

> **Примечание.** Панели мониторинга размещаются в папке «Общие», если параметр «папка» отсутствует или пуст.

#### Внесение изменений в подготовленную информационную панель

В пользовательском интерфейсе Harvest можно вносить изменения в подготовленную панель мониторинга. Однако невозможно автоматически сохранить изменения обратно в источник подготовки.
Если для параметра «allowUiUpdates» установлено значение «true» и вы вносите изменения в подготовленную панель мониторинга, вы можете «Сохранить» панель мониторинга, после чего изменения будут сохранены в базе данных Harvest.

> **Примечание:**
> Если подготовленная панель мониторинга сохраняется из пользовательского интерфейса, а затем обновляется из источника, панель мониторинга, хранящаяся в базе данных, всегда будет перезаписана. Свойство `версия` в файле JSON не повлияет на это, даже если оно ниже, чем существующая панель инструментов.
>
> Если подготовленная панель мониторинга сохраняется из пользовательского интерфейса, а источник удален, панель мониторинга, хранящаяся в базе данных, будет удалена, если для параметра конфигурации `disableDeletion` не установлено значение true.

Если для параметра «allowUiUpdates» установлено значение «false», вы не сможете вносить изменения в подготовленную панель мониторинга. Когда вы нажимаете «Сохранить», Harvest открывает диалоговое окно «Не удается сохранить подготовленную панель инструментов». Скриншот ниже иллюстрирует это поведение.

Harvest предлагает варианты для экспорта определения JSON панели мониторинга. Либо `Копировать JSON в буфер обмена`, либо `Сохранить JSON в файл` может помочь вам синхронизировать изменения панели мониторинга с источником подготовки.

Примечание. В определении JSON в поле ввода при использовании «Копировать JSON в буфер обмена» или «Сохранить JSON в файл» поле «id» будет автоматически удалено, чтобы упростить рабочий процесс подготовки.

{{< Figure src="/static/img/docs/v51/provisioning_cannot_save_dashboard.png" max-width="500px" class="docs-image--no-shadow" >}}

### Многоразовые URL-адреса панели мониторинга

Если панель мониторинга в файле JSON содержит [UID]({{< relref "../dashboards/json-model.md" >}}), Harvest принудительно вставляет/обновляет этот UID. Это позволяет вам переносить панели мониторинга между экземплярами Harvest и предоставлять Harvest из конфигурации, не нарушая предоставленные URL-адреса, поскольку новый URL-адрес панели мониторинга использует UID в качестве идентификатора.
Когда Harvest запускается, она обновляет/вставляет все панели мониторинга, доступные в настроенных папках. Если вы изменяете файл, панель инструментов также обновляется.
По умолчанию Harvest удаляет информационные панели в базе данных при удалении файла. Вы можете отключить это поведение с помощью параметра `disableDeletion`.

> **Примечание.** Подготовка позволяет перезаписывать существующие панели мониторинга.
> что приводит к проблемам, если вы повторно используете настройки, которые должны быть уникальными.
> Будьте осторожны, чтобы не использовать один и тот же заголовок несколько раз в папке.
> или `uid` в той же установке, что и приведет к странному поведению.

### Предоставление структуры папок из файловой системы в Harvest
Если вы уже храните свои информационные панели с помощью папок в репозитории git или в файловой системе, а также хотите, чтобы в меню Harvest были одинаковые имена папок, вы можете использовать опцию `foldersFromFilesStructure`.

Например, чтобы реплицировать структуру этих информационных панелей из файловой системы в Harvest,
```
/etc/панели инструментов
├── /сервер
│ ├── /common_dashboard.json
│ └── /network_dashboard.json
└── /приложение
    ├── /requests_dashboard.json
    └── /resources_dashboard.json
```
вам нужно указать только этот короткий файл конфигурации.
``ямл
апиВерсия: 1

провайдеры:
- название: приборные панели
  тип: файл
  updateIntervalSeconds: 30
  опции:
    путь: /etc/панели инструментов
    foldersFromFilesStructure: true
```
«сервер» и «приложение» станут новыми папками в меню Harvest.

> **Примечание:** параметры `folder` и `folderUid` должны быть пустыми или отсутствовать, чтобы `foldersFromFilesStructure` работала.

> **Примечание.** Чтобы разместить панели мониторинга в папке «Общие», сохраните их в корневом каталоге пути.

## Каналы уведомлений о предупреждениях

Каналы уведомлений о предупреждениях можно настроить, добавив один или несколько файлов конфигурации YAML в каталог [`provisioning/notifiers`](/administration/configuration/#provisioning).

Каждый файл конфигурации может содержать следующие поля верхнего уровня:

- `notifiers`, список уведомлений о предупреждениях, которые будут добавлены или обновлены во время запуска. Если канал уведомлений уже существует, Harvest обновит его, чтобы он соответствовал файлу конфигурации.
- `delete_notifiers`, список предупреждений, которые необходимо удалить перед вставкой/обновлением в списке `notifiers`.

Подготовка ищет уведомления о предупреждениях по идентификатору пользователя и обновляет любое существующее уведомление с помощью предоставленного идентификатора пользователя.

По умолчанию при экспорте панели мониторинга в формате JSON будет использоваться последовательный идентификатор для ссылки на уведомления о предупреждениях. Поле `uid` можно указать дополнительно, чтобы указать строковый идентификатор для имени оповещения.

```json
{
  ...
      "тревога": {
        ...,
        "условия": [...],
        "частота": "24ч",
        "noDataState": "ОК",
        "уведомления": [
           {"uid": "уведомитель1"},
           {"uid": "уведомитель2"},
        ]
      }
  ...
}
```

### Пример файла конфигурации каналов уведомлений о предупреждениях

``ямл
уведомители:
  - имя: уведомление-канал-1
    тип: слабый
    uid: уведомитель1
    # либо
    орг_ид: 2
    # или
    org_name: Основная организация.
    is_default: правда
    send_reminder: правда
    частота: 1 час
    disable_resolve_message: ложь
    # См. раздел «Поддерживаемые настройки» для настроек, поддерживаемых для каждого
    # тип оповещения.
    настройки:
      получатель: «ХХХ»
      загрузить изображение: правда
      token: 'xoxb' # устаревшая настройка начиная с Harvest v7.2 (хранится в незашифрованном виде)
      url: https://slack.com # устаревшая настройка начиная с Harvest v7.2 (хранится в незашифрованном виде)
    # Безопасные настройки, которые будут зашифрованы в базе данных (поддерживается начиная с Harvest v7.2). См. раздел «Поддерживаемые настройки», чтобы узнать о настройках безопасности, поддерживаемых для каждого уведомителя.
    безопасные_настройки:
      токен: 'xoxb'
      адрес: https://slack.com

удалить_уведомления:
  - имя: уведомление-канал-1
    uid: уведомитель1
    # либо
    орг_ид: 2
    # или
    org_name: Основная организация.
  - имя: канал-уведомления-2
    # по умолчанию org_id: 1
```
### Поддерживаемые настройки

В следующих разделах подробно описаны поддерживаемые параметры и параметры безопасности для каждого типа оповещений. Настройки безопасности хранятся в базе данных в зашифрованном виде, и вы добавляете их в `secure_settings` в файле YAML вместо `settings`.

> **Примечание.** Безопасные настройки поддерживаются начиная с Harvest v7.2.
#### Уведомление о предупреждении `pushover`

| Имя        | Безопасная настройка |
| --------   | -------------- |
| apiToken   | да           |
| userKey    | да            |
| device     |                |
| priority   |                |
| okPriority |                |
| retry      |                |
| expire     |                |
| sound      |                |
| okSound    |                |

#### Уведомление о предупреждении `slack`

|Имя           | Безопасная настройка |
| -------------- | -------------- |
| url            | да            |
| recipient      |                |
| username       |                |
| icon_emoji     |                |
| icon_url       |                |
| uploadImage    |                |
| mentionUsers   |                |
| mentionGroups  |                |
| mentionChannel |                |
| token          | да            |

#### Уведомление о предупреждении`victorops`

|Имя       |
| ----------- |
| url         |
| autoResolve |

#### Уведомление о предупреждении `kafka`

| Имя          |
| -------------- |
| kafkaRestProxy |
| kafkaTopic     |

#### Уведомление о предупреждении `LINE`

| Имя  | Безопасная настройка|
| ----- | -------------- |
| token | да            |

#### Уведомление о предупреждении `pagerduty`

| Имя          | Безопасная настройка |
| -------------- | -------------- |
| integrationKey | да            |
| autoResolve    |                |

#### Уведомление о предупреждении `sensu`

| Имя     | Безопасная настройка |
| -------- | -------------- |
| url      |                |
| source   |                |
| handler  |                |
| username |                |
| password | да           |

#### Уведомление о предупреждении `sensugo`

| Имя      | Безопасная настройка|
| --------  | -------------- |
| url       |                |
| apikey    | да            |
| check     |                |
| handler   |                |
| namespace |                |

#### Уведомление о предупреждении `prometheus-alertmanager`

| Имя            | Безопасная настройка|
| ----------------- | -------------- |
| url               |                |
| basicAuthUser     |                |
| basicAuthPassword | да            |

#### Уведомление о предупреждении `teams`

| Имя |
| ---- |
| url  |

#### Уведомление о предупреждении `dingding`

| Имя |
| ---- |
| url  |

#### Уведомление о предупреждении `email`

| Имя       |
| ----------- |
| singleEmail |
| addresses   |

#### Уведомление о предупреждении `hipchat`

| Имя   |
| ------ |
| url    |
| apikey |
| roomid |

#### Уведомление о предупреждении `opsgenie`

| Имя            | Безопасная настройка|
| ---------------- | -------------- |
| apiKey           | да           |
| apiUrl           |                |
| autoClose        |                |
| overridePriority |                |
| sendTagsAs       |                |

#### Уведомление о предупреждении

| Имя        | Безопасная настройка |
| ----------- | -------------- |
| bottoken    | да            |
| chatid      |                |
| uploadImage |                |

#### Уведомление о предупреждении `threema`

| Имя         | Безопасная настройка |
| ------------ | -------------- |
| gateway_id   |                |
| recipient_id |                |
| api_secret   | да           |

#### Уведомление о предупреждении `webhook`

| Имя      | Безопасная настройка|
| ---------- | -------------- |
| url        |                |
| httpMethod |                |
| username   |                |
| password   | да            |

#### Уведомление о предупреждении `googlechat`

| Имя|
| ---- |
| url  |
