Журналы#
Ведение журнала – это функция, позволяющая отправлять подробные отчеты в различные службы агрегации журналов.
Общие сведения#
Automation Controller может быть настроен на хранение журналов в следующих агрегаторах:
По умолчанию Automation Controller в качестве системы централизованного сбора и хранения журналов используется syslog-ng.
Все настройки ведения журналов рекомендуется производить в веб-интерфейсе Automation Controller.
Установленные значения записываются в файл конфигурации /var/lib/awx/syslogng/syslog-ng.conf
.
После каждого изменения файла конфигурации сервис awx-syslogng
перезапускается, применяя новые настройки.
При настройке журнала укажите необходимые значения в окне Журналирование в настройках контроллера:
Контроллер передает в агрегатор сообщения в соответствии с настроенным порогом:
DEBUG – все сообщения журнала;
INFO – информационные сообщения;
WARNING – предупреждения;
ERROR – информация об ошибках;
CRITICAL – информация о критических событиях.
Сообщения ниже порогового значения будут пропущены обработчиком журнала.
По умолчанию контроллер отправляет в агрегатор записи, полученные от всех внутренних регистраторов:
awx
– общие журналы сервера;activity_stream
– запись изменений объектов в Automation Controller;job_events
– данные, возвращаемые модулем обратного вызова Ansible;system_tracking
– данные о фактах, собранные модулемsetup
;broadcast_websocket
– данные об отправленных сообщениях по WebSocket.
Журналирование с помощью Logstash и OpenSearch#
Logstash является приемником журнальных записей в различных форматах. Поддержка форматов реализуется расширениями. Для визуализации хранящихся данных могут быть использованы различные внешние системы, например, OpenSearch, Elasticsearch и так далее.
Logstash может одновременно обрабатывать данные, полученные от разных поставщиков.
Для передачи журналов Automation Controller в систему OpenSearch через агрегатор Logstash выполните следующие действия:
В настройках журналирования задайте значения следующих параметров:
Агрегатор протоколирования:
http://10.10.10.10:5050
.Тип агрегатора ведения журнала: logstash.
Имя пользователя агрегатора ведения журнала:
aac
.Пароль/токен агрегатора ведения журнала: пароль для подключения к Logstash.
Протокол ведения журналов: HTTPS/HTTP.
Включить/отключить проверку сертификата HTTPS: выкл.
Порог уровня агрегатора ведения журнала: INFO.
Включить внешнее ведение журнала: вкл.
Установите Logstash согласно инструкции.
Для работы с Automation Controller отредактируйте файл конфигурации агрегатора
logstash.conf
:input { http { port => <listen_port> user => <username> password => "<password>" codec => json { charset => "UTF-8" } } } output { opensearch { hosts => ["https://<opensearch_host>:<opensearch_port>"] index => "<aac-index-name>-%{+YYYY.MM.dd}" user => "<opensearch_user>" password => "<opensearch_password>" ssl => true ssl_certificate_verification => false } }
input { http { port => <listen_port> user => <username> password => "<password>" codec => json { charset => "UTF-8" } } } filter { json { source => "message" } } output { opensearch { hosts => ["https://<opensearch_host>:<opensearch_port>"] index => "<aac-index-name>-%{+YYYY.MM.dd}" user => "<opensearch_user>" password => "<opensearch_password>" ssl => true ssl_certificate_verification => false } }
где:
listen_port
– порт, на котором Logstash будет ожидать соединение;username
– название учетной записи для подключения к серверу Logstash;password
– пароль для подключения к серверу Logstash;opensearch_host
– IP-адрес или FQDN сервера OpenSearch;opensearch_port
– порт сервера OpenSearch;opensearch_user
– название учетной записи пользователя для подключения к серверу OpenSearch;opensearch_password
– пароль для подключения к серверу OpenSearch.
Пример визуализации журналов Automation Controller в режиме Discover:
Журналирование с помощью Logstash и Elasticsearch#
Чтобы настроить Automation Controller на передачу журналов в систему Elasticsearch через агрегатор Logstash, в настройках журналирования укажите значения следующих параметров:
Агрегатор протоколирования: FQDN сервера Elasticsearch, например,
test-elastic.zapto.org
.Порт агрегатора протоколирования: порт сервера Elasticsearch, например,
50000
.Тип агрегатора ведения журнала: logstash.
Протокол ведения журналов: TCP.
Порог уровня агрегатора ведения журнала: INFO.
Включить внешнее ведение журнала: вкл.
Пример визуализации журналов контроллера в режиме Stream: