Учебники

SaltStack — ведение журнала

Ведение журнала используется для отслеживания запущенных программных событий. Событие описывается описательным сообщением, которое может содержать переменные данные. Подход солевого каротажа используется для решения любых проблем, с которыми вы можете столкнуться. Вы можете проверить с определенными уровнями журнала.

Настройки конфигурации

Давайте разберемся с различными настройками конфигурации для регистрации, подробно.

ЖУРНАЛЬНЫЙ ФАЙЛ

Записи соленого журнала передаются через файл, который содержит локальный путь или сетевое местоположение для идентификации. Этот файл считается файлом журнала.

log_file: /var/log/salt/master

Здесь файл зависит от исполняемого двоичного файла в master. Точно так же вы можете выполнить в миньоне, как показано ниже.

log_file: /var/log/salt/minion

Вы также можете использовать удаленный адрес. Синтаксис для использования удаленного адреса: <file | udp | tcp>: // <host | socketpath>: <port-if-required> / <log-средства>.

log_file: udp://loghost:port

Здесь по умолчанию Log-средство — LOG_USER.

LOG_LEVEL

Уровни журнала упорядочены в числовом значении. Библиотека Python определила большинство уровней ведения журнала по умолчанию. В дополнение к этому, Соль использует еще несколько уровней. Некоторые уровни описаны ниже.

  • log_level: ошибка; значение уровня 40 — указывает на запись оператора журнала при ошибке.

  • log_level: тихий; Значение уровня — 1000. Это означает, что на этом уровне ничего не должно регистрироваться.

  • log_level: info; значение уровня 20 — указывает на нормальную информацию журнала.

  • log_level: warn; значение уровня — 30 — указывает запись оператора журнала при предупреждении.

  • log_level: debug; значение уровня равно 10 — Информация полезна для отладки как солт-реализаций, так и солт-кода.

  • log_level: trace; значение уровня 5 — Более подробная информация об отладке кода.

log_level: ошибка; значение уровня 40 — указывает на запись оператора журнала при ошибке.

log_level: тихий; Значение уровня — 1000. Это означает, что на этом уровне ничего не должно регистрироваться.

log_level: info; значение уровня 20 — указывает на нормальную информацию журнала.

log_level: warn; значение уровня — 30 — указывает запись оператора журнала при предупреждении.

log_level: debug; значение уровня равно 10 — Информация полезна для отладки как солт-реализаций, так и солт-кода.

log_level: trace; значение уровня 5 — Более подробная информация об отладке кода.

LOG_LEVEL_LOGFILE

Он определяет уровень сообщений для отправки в файл журнала.

log_level_logfile: info

LOG_DATEFMT

Он определяет формат даты журнала. По умолчанию он представлен в виде% Y-% m-% d% H:% M:% S.

log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'

LOG_FMT_CONSOLE

Он определяет формат консоли регистрации сообщений. Солт использует настраиваемые атрибуты LogRecord, чтобы раскрасить вывод журнала консоли. Следует следующий синтаксис —

'%(colorlevel)s'       # log level name colorized by level
'%(colorname)s'        # colorized module name
'%(colorprocess)s'     # colorized process number
'%(colormsg)s'         # colorized messages name

LOG_FMT_LOGFILE

Он определяет формат файла журнала регистрации сообщений. Основной синтаксис выглядит следующим образом —

%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s

LOG_GRANULAR_LEVELS

Этот уровень используется для более точного управления уровнями журналирования.

log_granular_levels:
   'salt': 'info'
   'salt.modules': ‘trace'

Здесь, основная солевая библиотека на уровне ‘info’ устанавливает salt.modules для регистрации на уровне трассировки.

Внешний обработчик журналирования

Солт использует LogStash и Sentry для обработки логов. Давайте разберемся об этом подробно в этой главе.

LOGSTASH Handler

LogStash является открытым исходным кодом; защищенный конвейер обработки данных на стороне сервера. Давайте рассмотрим простой обработчик журналирования UDP в Salt, который использует LogStash.

Укажите следующие изменения в мастер-файле Salt —

logstash_udp_handler:
   host: 127.0.0.1
   port: 9999
   version: 1
   msg_type: logstash

Затем добавьте изменения в файл конфигурации Logstash —

input {
   udp {
      port ⇒ 9999
      codec ⇒ json
   }
}

Здесь UDP — это ввод, который должен иметь формат json_event , который мы отправляем по проводам.

SENTRY Logging Handler

Sentry — это отслеживание ошибок в реальном времени в производственных развертываниях и информация для воспроизведения и устранения сбоев. Конфигурация по умолчанию в мастер-файле определяется ниже.

sentry_handler:
   dsn: https://pub-key:secret-key@app.getsentry.com/app-id
   log_level: debug

Здесь уровень регистрации по умолчанию для обработчика sentry — ERROR, но мы определили уровень отладки log_level в ключе конфигурации sentry_handler.