Это не самая новая версия документации. Для изменения используйте переключатель версий или перейдите на новейшую версию!

Журналы#

Ведение журнала – это функция, позволяющая отправлять подробные отчеты в различные службы агрегации журналов.

Общие сведения#

Automation Controller может быть настроен на хранение журналов в следующих агрегаторах:

По умолчанию Automation Controller в качестве системы централизованного сбора и хранения журналов используется syslog-ng.

Все настройки ведения журналов рекомендуется производить в веб-интерфейсе Automation Controller. Установленные значения записываются в файл конфигурации /var/lib/awx/syslogng/syslog-ng.conf. После каждого изменения файла конфигурации сервис awx-syslogng перезапускается, применяя новые настройки.

При настройке журнала укажите необходимые значения в окне Журналирование в настройках контроллера:

../../_images/settings-logging.png

Контроллер передает в агрегатор сообщения в соответствии с настроенным порогом:

  • 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 может одновременно обрабатывать данные, полученные от разных поставщиков.

../../_images/logstash-opensearch-scheme-light.svg ../../_images/logstash-opensearch-scheme-dark.svg

Для передачи журналов Automation Controller в систему OpenSearch через агрегатор Logstash выполните следующие действия:

  1. В настройках журналирования задайте значения следующих параметров:

    • Агрегатор протоколирования: http://10.10.10.10:5050.

    • Тип агрегатора ведения журнала: logstash.

    • Имя пользователя агрегатора ведения журнала: aac.

    • Пароль/токен агрегатора ведения журнала: пароль для подключения к Logstash.

    • Протокол ведения журналов: HTTPS/HTTP.

    • Включить/отключить проверку сертификата HTTPS: выкл.

    • Порог уровня агрегатора ведения журнала: INFO.

    • Включить внешнее ведение журнала: вкл.

    ../../_images/aac-logstash-settings.png
  2. Установите Logstash согласно инструкции.

  3. Для работы с 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:

../../_images/logging-result-opensearch.png

Журналирование с помощью Logstash и Elasticsearch#

Чтобы настроить Automation Controller на передачу журналов в систему Elasticsearch через агрегатор Logstash, в настройках журналирования укажите значения следующих параметров:

  • Агрегатор протоколирования: FQDN сервера Elasticsearch, например, test-elastic.zapto.org.

  • Порт агрегатора протоколирования: порт сервера Elasticsearch, например, 50000.

  • Тип агрегатора ведения журнала: logstash.

  • Протокол ведения журналов: TCP.

  • Порог уровня агрегатора ведения журнала: INFO.

  • Включить внешнее ведение журнала: вкл.

Пример визуализации журналов контроллера в режиме Stream:

../../_images/logging-result-elastic.png