Логирование

Лог событий аудита

На Портале администратора можно отслеживать все события, которые произошли в системе OpenStack, на вкладке Лог событий аудита. Для этого перейдите в раздел Логирование > CADF-события.

События можно фильтровать по различным параметрам, например, по типу Event type, результату Outcome и др., а также комбинировать любые требуемые фильтры.

Фильтры событий аудита

Фильтры событий аудита

Ротация консольных логов

В KeyStack реализована ротация консольных логов на уровне хостовых систем с помощью logrotate из контейнера cron c общими для всех ротируемых логов параметрами.

Расписание по умолчанию:

# Максимальный размер файла лога
cron_logrotate_log_maxsize: "100M"
# Минимальный размер файла лога
cron_logrotate_log_minsize: "30M"
# Периодичность проведения операции ротации
cron_logrotate_rotation_interval: "weekly"
# Количество ротированных файлов для хранения
cron_logrotate_rotation_count: 6
# Расписание запуска ротации
cron_logrotate_schedule: "daily"

Для просмотра списка ротируемых логов откройте на хостовой ОС любого сервера региона файл /etc/kolla/cron/logrotate.conf.

Для изменения параметров ротируемых логов, выполните следующие действия:

  1. Откройте веб-интерфейс GitLab.

  2. Перейдите в репозиторий региона project_k / deployments / <имя региона>`.

  3. Откройте файл globals.d/REGION.yml и измените или добавьте переменные:

    cron_logrotate_log_maxsize: "100M"
    cron_logrotate_log_minsize: "30M"
    cron_logrotate_rotation_interval: "weekly"
    cron_logrotate_rotation_count: 6
    cron_logrotate_schedule: "daily"
    
  4. Создайте новый пайплайн: Build > Pipelines > New Pipeline.

  5. В открывшемся окне добавьте значение переменной KOLLA_ARGS равное -t common.

  6. Запустите пайплайн, нажав кнопку New pipeline.

  7. Дождитесь завершения задач на этапе setup.

  8. Запустите задачу deploy на этапе deploy и дождитесь её завершения.

Настройка дополнительного приемника журналов KeyStack в формате syslog

Для вывода логов в удалённый сервис системного журнала (syslog) используется fluent-plugin-remote_syslog — плагин Fluentd.

При работе с данным плагином необходимо выполнить следующие действия:

  1. В репозитории региона project_k / deployments / <имя региона> создайте файл config/fluentd/output/fluent-plugin-remote_syslog.conf со следующим содержанием:

    <match **>
      @type remote_syslog
      host <remote_syslog_IP_address>
      port 514
      protocol tcp
    </match>
    
    • Параметры:

      • [match **] — регулярное выражение соответствия «всем» логам;

      • [host <remote_syslog_IP_address>] — ip-адрес (fqdn) сервиса syslog;

      • [port 514] — порт прослушивания сервиса syslog;

      • [protocol tcp] — протокол передачи данных.

  2. После развертывания kolla-ansible конфигурационный файл td-agent.conf контейнера fluentd будет содержать следующие данные:

    # Outputs
    # Included from conf/output/00-local.conf.j2:
    
    # Included from /etc/kolla/config/fluentd/output/fluent-plugin-remote_syslog.conf:
    <match **>
      @type remote_syslog
      host 10.120.120.125
      port 514
      protocol tcp
    </match>
    

Пример возможной конфигурации плагина fluent-plugin-remote_syslog с секциями

<match foo.bar>
  @type remote_syslog
    host example.com
    port 514
    severity debug
    program fluentd
    hostname ${tag[1]}

    <buffer tag>
    </buffer>

    <format>
      @type single_value
      message_key message
    </format>
</match>

Основные конфигурационные параметры

Название

Тип

Поддержка заполнения

Описание

hostname

string

support

Отправление журнала.

host

string

support

Системный журнал целевого узла.

port

integer (default: 514)

Системный журнал целевого порта.

host_with_port

string

support

Параметр для: style.

facility

string (default: "user")

support

Системный журнал объекта.

severity

string (default: "notice")

support

Системный журнал приоритетов.

program

string (default: "fluentd")

support

Системный журнал название программ.

protocol

enum (udp, tcp) (default: udp)

Протокол передачи данных.

tls

bool (default: false)

Использование TLS (только tcp).

ca_file

string

Путь к файлу ca_file (только для режима tls).

verify_mode

integer

SSL режим проверки (только для режима tls).

packet_size

integer (default: 1024)

Ограничение размера пакета системного журнала.

timeout

integer

Время ожидания передачи по протоколу TCP. Если значение равно 0, ожидайте вечно.

timeout_exception

bool (default: false)

Если значение равно true, вызовите исключение по тайм-ауту передачи.

keep_alive

bool (default: false)

Использование TCP для поддержания работоспособности.

keep_alive_idle

integer

Установите режим ожидания TCP для поддержания работоспособности во время простоя.

keep_alive_cnt

integer

Установите объём измерения TCP для поддержания работоспособности.

keep_alive_intvl

integer

Установите интервал измерения TCP для поддержания работоспособности.

Конфигурационные параметры для секции buffer

Название

По умолчанию

flush_mode

interval

flush_interval

5

flush_thread_interval

0.5

flush_thread_burst_interval

0.5

Конфигурационные параметры для секции format

Название

По умолчанию

@type

ltsv