Настройка журналирования

Для настройки журналирования сервера управления (master) cоздайте файл конфигурации /etc/salt/master.d/logging.conf и задайте в нем необходимые значения параметров, следуя примеру:

log_level: warning
log_file: /app/inno-osmax/logs/salt-master/master
log_level_logfile: warning
api_logfile: /app/inno-osmax/logs/salt-api/api
key_logfile: /app/inno-osmax/logs/salt-key/key

Где:

  • log_level — настройка уровня журналирования для сообщений, отправляемых на консоль; возможные значения:

    • all —  все сообщения будут записываться в лог-файл;

    • warning — сообщения, содержащие предупреждение о потенциальной проблеме или необычном состоянии, которое не является ошибкой, но требует внимания;

    • info — информационные сообщения о ходе работы модуля;

    • profile — профильная информация о производительности модуля координации (SaltStack);

    • debug — сообщения, содержащие отладочную информацию;

    • trace — сообщения, содержащие детальную отладочную информацию;

    • garbage — сообщения, содержащие более детальную (чем trace) отладочную информацию;

    • error — сообщения об ошибке, которая привела к некритическому сбою;

    • critical — сообщения об ошибке, которая привела к критическому сбою;

    • quiet — сообщения в лог-файл записываться не будут;

  • log_file — лог-файл; локальный путь к лог-файлу сервера управления (master);

  • log_level_logfile — уровень журналирования для сообщений, отправляемых в лог-файл;

    Возможные значения аналогичны значениям параметра log_level.
  • api_logfile — лог-файл; локальный путь к лог-файлу модуля salt-api;

  • key_logfile — лог-файл; локальный путь к лог-файлу модуля salt-key.

Настройка ротации и архивирования

Для настройки ротации и архивирования используется служба logrotate, которая обеспечивает автоматическую ротацию, сжатие, удаление и отправку лог-файлов по почте. Обычно служба logrotate запускается как ежедневное задание Cron в формате Quartz. В зависимости от настроек каждый лог-файл может обрабатываться ежедневно, еженедельно, ежемесячно или при достижении определенного размера.

Чтобы задать необходимые настройки, создайте файл конфигурации /etc/logrotate.d/salt-common.

Пример c минимальными настройками:

/app/inno-osmax/logs/salt-master/master {
daily
missingok
rotate 45
compress
notifempty
}

/app/inno-osmax/logs/salt-api/api {
daily
missingok
rotate 45
compress
notifempty
}

/app/inno-osmax/logs/salt-key/key {
daily
missingok
rotate 45
compress
notifempty
}

Где:

  • /app/inno-osmax/logs/<модуль SaltStack>/<имя лог-файла> — путь до лог-файла;

  • daily — период ротации лог-файла (ежедневно);

  • missingok — если лог-файл отсутствует, будет выполняться переход к следующему файлу без вывода сообщения об ошибке;

  • rotate 45 — лог-файл будет проходить 45 ежедневных ротаций, перед тем как будет удален;

  • compress — файл будет сжат после ротации;

  • notifempty — если лог-файл пустой, ротация выполняться не будет.