Источники#
В состав коллекции ansible.eda входят следующие расширения, позволяющие работать с источниками событий:
alertmanager#
Источник alertmanager позволяет обращаться к точкам доступа API системы мониторинга Prometheus Alertmanager.
Источник предоставляет следующие настройки:
host– IP-адрес сетевого интерфейса, на котором источник ожидает входящие запросы веб-перехватчика (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.
aws_cloudtrail#
Источник aws_cloudtrail позволяет получать события из журнала AWS CloudTrail.
Источник поддерживает все способы аутентификации, доступные в библиотеке boto3.
Источник предоставляет следующие настройки:
access_key– идентификатор ключа доступа AWS.secret_key– секретный ключ доступа AWS.session_token– токен сессии STS для использования с временными учетными данными.endpoint_url– URL точки доступа, используемой вместо стандартных точек доступа AWS.region– регион AWS.delay_seconds– задержка (в секундах) между опросами.Значение по умолчанию:
10.lookup_attributes– список атрибутов для фильтрации возвращаемых событий. Каждый атрибут – словарь с ключамиAttributeKey(атрибут, по которому выполняется фильтрация) иAttributeValue(значение атрибута).event_category– категория возвращаемых событий, напримерinsight.
aws_sqs_queue#
Источник aws_sqs_queue позволяет получать события из очереди AWS SQS.
Источник поддерживает все способы аутентификации, доступные в библиотеке boto3.
Источник предоставляет следующие настройки:
access_key– идентификатор ключа доступа AWS.secret_key– секретный ключ доступа AWS.session_token– токен сессии STS для использования с временными учетными данными.endpoint_url– URL точки доступа, используемой вместо стандартных точек доступа AWS.queue_owner_aws_account_id– идентификатор учетной записи AWS, создавшей очередь. Указывается только при обращении к очереди, принадлежащей другой учетной записи AWS.region– регион AWS.name– название очереди.Обязательный параметр.
delay_seconds– время ожидания сообщений при длинном опросе (long polling) SQS в секундах. Значение0отключает длинный опрос.Значение по умолчанию:
2.max_number_of_messages– максимальное количество возвращаемых сообщений (допустимые значения – от 1 до 10).Значение по умолчанию:
1.
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– отслеживание изменений не только в указанном каталоге, но и в его подкаталогах.Обязательный параметр.
generic#
Источник generic позволяет вставлять в очередь событий произвольные данные.
Как правило, он используется при разработке и тестировании.
Источник предоставляет следующие настройки:
payload– массив событий для вставки в очередь.Обязательный параметр.
Примечание
Вместо
payloadсобытия можно загрузить из файла с помощью параметраpayload_file.payload_file– путь к файлу YAML с массивом событий (альтернативаpayload).randomize– перемешивание событий вpayload.Значение по умолчанию:
false.display– вывод данных событий в стандартный поток вывода (stdout).Значение по умолчанию:
false.timestamp– добавление к событию отметки времени.Значение по умолчанию:
false.time_format– формат отметки времени.Возможные значения:
local– местное время;iso8601– формат ISO 8601;epoch– время Unix (число секунд).
Значение по умолчанию:
local.create_index– название ключа, в который для каждого события записывается его индекс, начиная с0.Значение по умолчанию: пустая строка (индекс не добавляется).
startup_delay– задержка (в секундах) перед вставкой событий в очередь.Значение по умолчанию:
0.event_delay– задержка (в секундах) перед вставкой следующего события изpayload.Значение по умолчанию:
0.repeat_delay– задержка (в секундах) перед вставкой повторяемого события изpayload.Значение по умолчанию:
0.loop_delay– задержка (в секундах) перед вставкой следующего набора событий.Значение по умолчанию:
0.shutdown_after– задержка (в секундах) перед завершением работы источника.Значение по умолчанию:
0.loop_count– количество повторов всего набора событий изpayload.Значение по умолчанию:
1.repeat_count– количество повторов каждого отдельного события изpayload.Значение по умолчанию:
1.blob_size– размер (в байтах) произвольного блока данных, добавляемого в каждое событие. Значение0отключает добавление блока.Значение по умолчанию:
0.final_payload– дополнительное событие, отправляемое после всех остальных, например для инициирования завершения работы свода правил.Значение по умолчанию:
null.check_env_vars– словарь переменных окружения и их ожидаемых значений. Перед генерацией событий источник проверяет, что каждая указанная переменная установлена и имеет заданное значение; иначе работа завершается с ошибкой.Значение по умолчанию:
null.
journald#
Источник journald отслеживает записи журнала systemd.
Источник предоставляет следующие настройки:
match– строка для отбора записей журнала в форматеПОЛЕ=значение(см. поля журнала systemd), напримерPRIORITY=6. Специальное значениеALLвозвращает все записи.Обязательный параметр.
delay– задержка (в секундах) между записями.Значение по умолчанию:
0.
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– название топика.topics– список названий топиков.topic_pattern– шаблон названий топиков в виде регулярного выражения.Важно
Параметры
topic,topicsиtopic_patternвзаимоисключающие – необходимо указать ровно один из них.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.
pg_listener#
Источник pg_listener получает события из механизма публикации-подписки PostgreSQL (каналы LISTEN/NOTIFY).
Он является приемной стороной для действия pg_notify: если полезная нагрузка превышает 7 КБ, действие pg_notify разбивает ее на части, а источник pg_listener собирает их обратно в единое событие.
Источник предоставляет следующие настройки:
dsn– строка подключения (DSN) к PostgreSQL в формате, поддерживаемомpsycopg/libpq.Обязательным является либо
dsn, либоpostgres_params.postgres_params– словарь параметров подключения к PostgreSQL в формате, поддерживаемомpsycopg/libpq. Если один и тот же параметр задан и вdsn, и вpostgres_params, используется значение изpostgres_params.Обязательным является либо
dsn, либоpostgres_params.channels– список каналов для прослушивания.Обязательный параметр.
range#
Источник range генерирует события с увеличивающимся индексом.
Источник предоставляет следующие настройки:
limit– верхний предел диапазона индекса.Обязательный параметр.
delay– задержка (в секундах) между событиями.Значение по умолчанию:
0.
tick#
Источник tick генерирует события с увеличивающимся индексом без завершения.
Источник предоставляет единственную настройку delay, в которой необходимо указать задержку (в секундах) между событиями.
Значение по умолчанию: 1.
url_check#
Источник url_check проверяет URL-адреса и создает события: event.url_check.status = "up" при успехе (код 200) и event.url_check.status = "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и хранится в переменнойalgorithms_available.Значение по умолчанию:
sha256.hmac_header– заголовок HMAC, отправляемый клиентом с подписью полезной нагрузки.Значение по умолчанию:
x-hub-signature-256.hmac_format– формат подписи HMAC.Возможные значения:
hex;base64.
Значение по умолчанию:
hex.