Источники#
В состав коллекции 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:
Если
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: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.