Источники

Источники#

В состав коллекции ansible.eda входят следующие расширения, позволяющие работать с источниками событий:

alertmanager#

Источник alertmanager позволяет обращаться к точкам доступа API системы мониторинга Prometheus Alertmanager.

Источник предоставляет следующие настройки:

  • host – IP-адрес или URL веб-обработчика (webhook) Alertmanager.

    Значение по умолчанию – localhost.

  • port – номер порта веб-обработчика Alertmanager.

    Значение по умолчанию – 5000.

  • data_alerts_path – выражение в формате JSONPath для поиска данных для оповещения.

    Значение по умолчанию – alerts.

  • data_host_path – JSONPath внутри данных оповещения для поиска узла, являющегося источником данных.

    Значение по умолчанию – labels.instance.

  • data_path_separator – разделитель, используемый при разборе data_alerts_path и data_host_path.

    Значение по умолчанию – ..

    Пример использования data_path_separator

    Допустим, Alertmanager отправляет следующий JSON:

    {
      "alerts": [
        {
          "labels": {
            "instance": "server1.example.com",
            "severity": "critical"
          },
          "annotations": {
            "summary": "Disk space is low"
          }
        }
      ]
    }
    

    Если data_alerts_path = "alerts" и data_host_path = "labels.instance", а data_path_separator = ".", то система извлечет узел server1.example.com из пути alerts[0].labels.instance. Если бы data_path_separator был, например, /, то тот же путь записывался бы как alerts/0/labels/instance.

    В data_path_separator можно задать любой символ, который будет использоваться для разделения путей внутри JSON:

    data_alerts_path: "alerts"
    data_host_path: "labels/instance"
    data_path_separator: "/"
    
  • skip_original_data – управляет добавлением исходных данных в очередь.

    Возможные значения:

    • true – в очередь добавляются только данные оповещения.

    • false – в очередь последовательно добавляются как полученные исходные данные, так и каждый разобранный элемент оповещения.

    Значение по умолчанию – false.

azure_service_bus#

Источник azure_service_bus позволяет получать события из службы Azure Service Bus.

Источник предоставляет следующие настройки:

  • conn_str – строка подключения к Azure Service Bus.

    Обязательный параметр.

  • queue_name – название очереди сообщений.

    Обязательный параметр.

  • logging_enable – журналирование.

    • true – включено;

    • false – включено.

    Значение по умолчанию – true.

file#

Источник file загружает факты Ansible из файлов YAML при запуске и при изменении содержимого файлов. Список файлов укажите в настройке files.

file_watch#

Источник file_watch отслеживает изменения в файловой системе.

Источник предоставляет следующие настройки:

  • path – каталог для наблюдения за изменениями.

    Обязательный параметр.

  • ignore_regexes – список регулярных выражений для игнорирования изменений. Файлы и каталоги, имена которых удовлетворяют указанному выражению, не отслеживаются.

  • recursive – отслеживание изменений не только в указанном каталоге, но и в его подкаталогах.

    Обязательный параметр.

kafka#

Источник kafka позволяет получать события из брокера Kafka.

Источник предоставляет следующие настройки:

  • host – IP-адрес сервера Kafka.

    Обязательный параметр.

  • port – порт сервера Kafka.

    Обязательный параметр.

  • cafile – путь к файлу сертификата, используемого для подписи сертификатов брокеров Kafka.

  • certfile – путь к файлу клиентского сертификата, содержащему сертификат клиента и сертификаты CA, необходимые для подтверждения подлинности.

  • keyfile – путь к файлу приватного ключа клиента.

  • password – пароль для загрузки цепочки сертификатов.

  • check_hostname – включение проверки имени узла для SSL.

    Значение по умолчанию – true.

  • verify_mode – режим проверки сертификатов других участников.

    Возможные значения:

    • CERT_NONE – проверка сертификатов отключена. Соединение устанавливается без проверки подлинности сертификата сервера.

    • CERT_OPTIONAL – если сервер предоставляет сертификат, то он будет проверен. Если сертификат недействителен или отсутствует, соединение все равно будет установлено.

    • CERT_REQUIRED – сертификат сервера должен быть предоставлен и проверен. Если сертификат отсутствует или недействителен, соединение разрывается.

    Значение по умолчанию – CERT_REQUIRED.

  • encoding — кодировка сообщений.

    Значение по умолчанию – utf-8.

  • topic – название топика.

  • group_id – идентификатор группы Kafka.

    Значение по умолчанию – null.

  • offset – начальная позиция чтения.

    Возможные значения:

    • latest – контроллер EDA начнет чтение с последнего сообщения.

    • earliest – контроллер EDA начнет чтение с самого раннего сообщения.

    Значение по умолчанию – latest.

  • security_protocol – протокол безопасности для связи с брокерами.

    Возможные значения:

    • PLAINTEXT – незашифрованный протокол для связи с Kafka-брокерами, не обеспечивающий аутентификацию или шифрование данных.

    • SSL – протокол с шифрованием данных с использованием SSL/TLS, обеспечивающий конфиденциальность.

    • SASL_PLAINTEXT – протокол с аутентификацией через SASL, но без шифрования данных.

    • SASL_SSL – протокол с аутентификацией через SASL и шифрованием данных через SSL/TLS, обеспечивающий максимальную безопасность соединения.

    Значение по умолчанию – PLAINTEXT.

  • sasl_mechanism – механизм аутентификации при настройке security_protocol.

    Возможные значения:

    • PLAIN – название учетной записи и пароль передаются в виде обычного текста.

    • GSSAPI – использование Kerberos для централизованного управления доступом.

    • SCRAM-SHA-256 – для защиты паролей используется хеширование по алгоритму SHA-256.

    • SCRAM-SHA-512 – для защиты паролей используется хеширование по алгоритму SHA-512.

    • OAUTHBEARER – использование OAuth 2.0 и токенов доступа для интеграции с внешними системами.

    Значение по умолчанию – PLAIN.

  • sasl_plain_username – название учетной записи для аутентификации SASL PLAIN.

  • sasl_plain_password – пароль для аутентификации SASL PLAIN.

range#

Источник range генерирует события с увеличивающимся индексом.

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

Значение по умолчанию – 0.

tick#

Источник tick генерирует события с увеличивающимся индексом без завершения.

Источник предоставляет единственную настройку delay, в которой необходимо указать задержку (в секундах) между событиями.

Значение по умолчанию – 1.

url_check#

Источник url_check проверяет URL-адреса и создает события: event.successful = "up" при успехе (код 200) и event.successful = "down" при ошибке.

Источник предоставляет следующие настройки:

  • urls – список URL-адресов для опроса.

    Обязательный параметр.

  • delay – задержка (в секундах) между опросами.

    Значение по умолчанию – 1.

  • verify_ssl – проверка SSL-сертификата.

    Значение по умолчанию – true.

webhook#

Источник webhook получает события через веб-обработчики. Содержимое, присланное через webhook, доступно в событии через поле payload.

Источник предоставляет следующие настройки:

  • host – IP-адрес сетевого интерфейса, на котором контейнер с источником ожидает входящие соединения.

    Значение по умолчанию – 0.0.0.0 (источник слушает все сетевые интерфейсы).

  • port – порт для прослушивания.

    Обязательный параметр.

  • token – токен аутентификации, ожидаемый от клиента.

  • certfile – путь к файлу сертификата для включения TLS.

  • keyfile – путь к файлу сертификата, используемому вместе с certfile.

  • password – пароль для загрузки цепочки сертификатов.

  • cafile – путь к файлу с сертификатами удостоверяющего центра для проверки клиентских сертификатов.

  • capath – путь к каталогу с сертификатами удостоверяющего центра (используется для mTLS).

  • hmac_secret – секретный ключ HMAC для проверки полезной нагрузки клиента.

  • hmac_algo – алгоритм HMAC для вычисления хеша полезной нагрузки.

    Примечание

    Полный список возможных значений определяется используемой версией библиотеки hashlib и хранится в переменной algorighms_available.

    Значение по умолчанию – sha256.

  • hmac_header – заголовок HMAC, отправляемый клиентом с подписью полезной нагрузки.

    Значение по умолчанию – x-hub-signature-256.

  • hmac_format – формат подписи HMAC.

    Возможные значения:

    • hex;

    • base64.

    Значение по умолчанию – hex.