Пaраметр logging (util_logging)#

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

Обязательные параметры:

  • log_type

    В значении параметра указывается режим логирования.

    Тип параметра: последовательность параметров и их значения.

    По умолчанию:

    log_type:file
    
    • kafka

      Тип параметра: последовательность параметров и их значения.

      Обязательные параметры:

      • group

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

        Значение system можно указать только при описании настроек логирования в секции system.optional. Если же определяются настройки конкретного сервиса, значение system будет недоступно.

        Тип параметра: текстовое значение:

        • system;

        • error;

        • access.

      • broker

        В значении параметра указывается исходный список брокеров в виде host:port. В качестве разделителя используется ",".

        Тип параметра: текстовое значение.

      • topic

        В значении параметра указывается название топика.

        Тип параметра: текстовое значение.

      • protocol

        В значении параметра указывается протокол соединения.

        Тип параметра: текстовое значение.

        • plaintext

        • ssl

        По умолчанию: plaintext.

      Опциональные параметры:

      • id

        В значении параметра указывается client.id.

        Тип параметра: текстовое значение.

      • certificate

        В значении параметра определяется местоположение клиентского сертификата.

        Обязательно в случае:

        • *protocol == "ssl".

        Тип параметра: текстовое значение.

      • ca

        В значении параметра указывается местоположение сертификатов доверенных CA, используемых для проверки клиентских сертификатов.

        Обязательно в случае:

        • *protocol == "ssl".

        Тип параметра: текстовое значение.

      • key

        В значении параметра определяется местоположение клиентского ключа.

        Обязательно в случае:

        • *protocol == "ssl".

        Тип параметра: текстовое значение.

      • ciphers

        В значении параметра определяется ssl.cipher.suites. Аналогично ssl ciphers по умолчанию.

        Обязательно в случае:

        • *protocol == "ssl".

        Тип параметра: текстовое значение.

      • compression_codec

        В значении параметра задается формат сжатия сообщений.

        Тип параметра: текстовое значение.

        • none;

        • gzip;

        • snappy;

        • lz4;

        • zstd.

      • compression_level

        В значении параметра задается уровень компрессии. Максимальное значение определяет наибольшую компрессию за счет большего использования CPU.

        Тип параметра: целочисленное значение.

        • min: -1;

        • max: 12.

      • log_level

        В значении параметра указывается уровень логирования. syslog - 3.

        Тип параметра: текстовое значение.

      • debug

        В значении параметра указывается список событий отладки, разделенных через запятую.

        Тип параметра: текстовое значение:

        • 'generic',

        • 'broker', '

        • 'topic',

        • 'metadata',

        • 'feature',

        • 'queue',

        • 'msg',

        • 'protocol',

        • 'cgrp',

        • 'security',

        • 'fetch',

        • 'interceptor',

        • 'plugin',

        • 'consumer',

        • 'admin',

        • 'eos',

        • 'mock',

        • 'assignor',

        • 'conf',

        • 'all'.

      • max_messages

        В значении параметра указывается максимальное количество сообщений, доступных в очереди.

        Тип параметра: целочисленное значение:

        • min: 1;

        • max: 1000000.

        По умолчанию:

        max_messages: 1000000
        
      • pattern_file

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

        В указываемом файле возможно использовать следующие переменные:

        • $ngx_kafka_log_hostname - имя хоста, с которого отправляется сообщение

        • $ngx_kafka_log_message - оригинальное содержимое лог-записи

        • $ngx_kafka_log_time - время формирования оригинальной лог-записи

        • $ngx_kafka_log_idх - message id сообщения, отправляемого в кафку (из директивы id).

        Тип параметра: текстовое значение.

        Пример файла, задающего формат отправляемых лог-записей:

        {
            "hostname": "$ngx_kafka_log_hostname",
            "message": "$ngx_kafka_log_message",
            "profile": "exampleprofilename",
            "time": "$ngx_kafka_log_time",
            "id": "$ngx_kafka_log_id"
        }
        
      • escape

        Представляет собой флаг, включающий экранирование спец. символов в используемых в шаблоне (pattern_file) переменных.

        Тип параметра: флаг.

        • true;

        • false.

        По умолчанию:

        max_messages: 1000000
        
    • syslog

      Тип параметра: последовательность параметров и их значения.

      Обязательные параметры:

      • group

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

        Значение system можно указать только при описании настроек логирования в секции system.optional. Если же определяются настройки конкретного сервиса, значение system будет недоступно.

        Тип параметра: текстовое значение.

        • system;

        • error;

        • access.

      Опциональные параметры:

      • log_host

        В значении параметра определяется хост для удаленной записи в системный журнал.

        Тип параметра: текстовое значение.

      • log_port

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

        Тип параметра: текстовое значение.

    • file

      Тип параметра: последовательность параметров и их значения.

      Обязательные параметры:

      • group

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

        Значение system можно указать только при описании настроек логирования в секции system.optional. Если же определяются настройки конкретного сервиса, значение system будет недоступно.

        Тип параметра: текстовое значение:

        • system;

        • error;

        • access.

Пример конфигурационного файла с раздельным логированием в kafka и файл:

system:
  wrk_count: 4
  conn_count: 1024
  optional:
   log_type:
      kafka:
        - group:
          - system
          broker: broker:9092
          topic: test_topic
          id: message_id
          protocol: ssl
          certificate: cert.pem
          ca: ca-cert
          key: key.pem
      file:
        - group:
          - error
          - access

Пример конфигурационного файла с полным логированием в kafka и задаваемым пользователем форматом записей:

system:
  wrk_count: 4
  conn_count: 1024
  optional:
   log_type:
      kafka:
        - group:
          - system
          - error
          - access
          broker: broker:9092
          topic: test_topic
          id: message_id
          pattern_file: resources/pattern_file.json
          escape: true
          protocol: ssl
          certificate: cert.pem
          ca: ca-cert
          key: key.pem