ClusterLogDestination
Scope: Cluster
Version: v1alpha1
Описывает параметры хранилища логов, к которому можно подключить бесконечное количество источников.
metadata.name задаёт имя upstream’а, который будет использоваться в ресурсе ClusterLoggingConfig.
- объектspec
Обязательный параметр
- объектspec.buffer
Параметры буфера.
- объектspec.buffer.disk
Параметры буфера на диске.
- строка или числоspec.buffer.disk.maxSize
Максимальный размер буфера на диске. Должен быть не меньше ~256 МБ (268435488 байт).
Вы можете указать размер как простое целое число или как число с одним из следующих суффиксов:
E,P,T,G,M,k,Ei,Pi,Ti,Gi,Mi,Ki.Подробнее об указании ресурсов:
Шаблон:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Примеры:
maxSize: 512MimaxSize: 268435488
- объектspec.buffer.memory
- числоspec.buffer.memory.maxEvents
Максимальное количество событий в буфере.
- строкаspec.buffer.type
Обязательный параметр
Тип буфера для использования.
Допустимые значения:
Disk,Memory - строкаspec.buffer.whenFull
Поведение при заполнении буфера.
По умолчанию:
BlockДопустимые значения:
DropNewest,Block
- объектspec.elasticsearch
- объектspec.elasticsearch.auth
- строкаspec.elasticsearch.auth.awsAccessKey
Закодированный в Base64 AWS
ACCESS_KEY. - строкаspec.elasticsearch.auth.awsAssumeRole
ARN роли в IAM.
- строкаspec.elasticsearch.auth.awsRegion
Регион AWS для аутентификации.
- строкаspec.elasticsearch.auth.awsSecretKey
Закодированный в Base64 AWS
SECRET_KEY. - строкаspec.elasticsearch.auth.password
Закодированный в Base64 пароль для Basic-аутентификации.
- строкаspec.elasticsearch.auth.strategy
Тип аутентификации —
BasicилиAWS.По умолчанию:
BasicДопустимые значения:
Basic,AWS - строкаspec.elasticsearch.auth.user
Имя пользователя, используемое при Basic-аутентификации.
- булевыйspec.elasticsearch.dataStreamEnabled
Использовать Datastream для хранения логов (https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams.html).
Datastreams производительнее для хранения логов и метрик, но они существуют только в Elasticsearch >= 7.16.X.
По умолчанию:
false - строкаspec.elasticsearch.docType
Использовать
doc_typeдля индексов. Имеет смысл использовать только для Elasticsearch <= 6.X.- Для Elasticsearch >= 7.X вам не нужно использовать эту опцию, так как все работает по умолчанию.
- Для Elasticsearch >= 6.X рекомендуемое значение —
_doc, так как его использование позволит легко обновиться до Elasticsearch версии 7.X. - Для Elasticsearch < 6.X вы можете использовать любое значение, которое не начинается с
_. Например,logs.
- строкаspec.elasticsearch.endpoint
Обязательный параметр
URL для подключения к Elasticsearch.
- строкаspec.elasticsearch.index
Имя индекса, куда будут сохранены данные. Это поле можно задать динамически.
- строкаspec.elasticsearch.pipeline
Имя pipeline, который будет применен к данным перед записью в индекс.
- объектspec.elasticsearch.tls
Настройки защищенного TLS-соединения.
- строкаspec.elasticsearch.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.elasticsearch.tls.clientCrt
Конфигурация клиентского сертификата.
- строкаspec.elasticsearch.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.elasticsearch.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.elasticsearch.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.elasticsearch.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.elasticsearch.tls.secretRef.name
Имя секрета с TLS сертификатами.
- булевыйspec.elasticsearch.tls.verifyCertificate
Проверка TLS-сертификата удаленного хоста. Сертификат не будет проверен на наличие в списках отозванных сертификатов (Certificate Revocation Lists).
По умолчанию:
true - булевыйspec.elasticsearch.tls.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
- объектspec.extraLabels
Дополнительные label’ы, которыми будут снабжаться записи логов.
Вы можете использовать простые шаблоны:
{{ app }}.Некоторые ключи зарезервированы:
- parsed_data;
- pod;
- pod_labels_*;
- pod_ip;
- namespace;
- image;
- container;
- node;
- pod_owner.
Пример:
extraLabels: forwarder: vector key: value app_info: "{{ app }}" array_member: "{{ array[0] }}" symbol_escating_value: "{{ pay\\.day }}" - объектspec.kafka
- массив строкspec.kafka.bootstrapServers
Обязательный параметр
Список пар адресов (хост:порт) Kafka-брокеров в кластере Kafka, к которым должны подключиться клиенты для получения метаданных (топиков и партиций).
По умолчанию:
[]Пример:
bootstrapServers: - 10.14.22.123:9092 - 10.14.23.332:9092- строкаЭлемент массива
Шаблон:
^(.+)\:\d{1,5}$
- объектspec.kafka.encoding
В каком формате закодировать сообщение.
- объектspec.kafka.encoding.cef
Поля конфигурации, специфичные для CEF. Применяется только в том случае, если для кодирования установлено значение
CEF.- строкаspec.kafka.encoding.cef.deviceProduct
По умолчанию:
log-shipper-agent - строкаspec.kafka.encoding.cef.deviceVendor
По умолчанию:
Deckhouse - строкаspec.kafka.encoding.cef.deviceVersion
По умолчанию:
1
- строкаspec.kafka.encoding.codec
Доступные форматы для кодирования.
По умолчанию:
JSONДопустимые значения:
JSON,CEF
- строкаspec.kafka.keyField
Позволяет задать поле key_field.
Примеры:
keyField: hostkeyField: nodekeyField: namespacekeyField: parsed_data.app_info - объектspec.kafka.sasl
Конфигурация аутентификации SASL для взаимодействия с Kafka.
- строкаspec.kafka.sasl.mechanism
Обязательный параметр
Механизм аутентификации SASL. Поддерживаются только PLAIN и SCRAM-подобные механизмы.
Допустимые значения:
PLAIN,SCRAM-SHA-256,SCRAM-SHA-512 - строкаspec.kafka.sasl.password
Обязательный параметр
Пароль пользователя.
Пример:
password: qwerty - строкаspec.kafka.sasl.username
Обязательный параметр
Имя пользователя.
Пример:
username: username
- объектspec.kafka.tls
Настройки защищенного TLS-соединения.
- строкаspec.kafka.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.kafka.tls.clientCrt
Конфигурация клиентского сертификата.
- строкаspec.kafka.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.kafka.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.kafka.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.kafka.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.kafka.tls.secretRef.name
Имя секрета с TLS-сертификатами.
- булевыйspec.kafka.tls.verifyCertificate
Проверка действия TLS-сертификата удаленного хоста.
По умолчанию:
true - булевыйspec.kafka.tls.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
- строкаspec.kafka.topic
Обязательный параметр
Имя топика в Kafka для записи событий. Этот параметр поддерживает синтаксис шаблонов, что дает возможность динамического создания топиков.
Примеры:
topic: logstopic: logs-{{unit}}-%Y-%m-%d
- объектspec.logstash
- строкаspec.logstash.endpoint
Обязательный параметр
URL для подключения к Logstash.
- объектspec.logstash.tls
Настройки защищенного TLS-соединения.
- строкаspec.logstash.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.logstash.tls.clientCrt
Конфигурация клиентского сертификата.
- строкаspec.logstash.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.logstash.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.logstash.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.logstash.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.logstash.tls.secretRef.name
Имя секрета с TLS-сертификатами.
- булевыйspec.logstash.tls.verifyCertificate
Проверка действия TLS-сертификата удаленного хоста.
По умолчанию:
true - булевыйspec.logstash.tls.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
- объектspec.loki
- объектspec.loki.auth
- строкаspec.loki.auth.password
Закодированный в Base64 пароль для Basic-аутентификации.
- строкаspec.loki.auth.strategy
Используемый тип аутентификации.
По умолчанию:
BasicДопустимые значения:
Basic,Bearer - строкаspec.loki.auth.token
Токен для Bearer-аутентификации.
- строкаspec.loki.auth.user
Имя пользователя, используемое при Basic-аутентификации.
- строкаspec.loki.endpoint
Обязательный параметр
URL для подключения к Loki.
Агент автоматически добавляет
/loki/api/v1/pushк URL при отправке данных. - строкаspec.loki.tenantID
ID тенанта.
Эта опция используется только для Grafana Cloud. Для локально запущенного Loki опция ни на что не влияет.
- объектspec.loki.tls
Настройки защищенного TLS-соединения.
- строкаspec.loki.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.loki.tls.clientCrt
Конфигурация клиентского сертификата
- строкаspec.loki.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.loki.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.loki.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.loki.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.loki.tls.secretRef.name
Имя секрета с TLS-сертификатами.
- булевыйspec.loki.tls.verifyCertificate
Проверка TLS-сертификата удаленного хоста.
Если параметр установлен в
false, сертификат не проверяется на наличие в списке отозванных сертификатов (Certificate Revocation Lists).По умолчанию:
true - булевыйspec.loki.tls.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
- объектspec.rateLimit
Параметр ограничения потока событий, передаваемых в хранилище.
- массив объектовspec.rateLimit.excludes
Список фильтров для keyField.
Только логи, НЕ подпадающие под правила, будут ограничены по количеству записей.
Примеры:
excludes: field: tier operator: Existsexcludes: field: foo operator: NotIn values: - dev - 42 - 'true' - '3.14'excludes: field: bar operator: Regex values: - "^abc" - "^\\d.+$"- строкаspec.rateLimit.excludes.field
Обязательный параметр
Имя поля для фильтрации.
- строкаspec.rateLimit.excludes.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть;DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.rateLimit.excludes.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- строкаspec.rateLimit.keyField
Имя поля лога, значение которого будет хэшировано, чтобы определить, должно ли событие быть ограничено по скорости.
- числоspec.rateLimit.linesPerMinute
Обязательный параметр
Количество записей в минуту.
- объектspec.socket
- строкаspec.socket.address
Обязательный параметр
Адрес сокета.
Шаблон:
^.*:[1-9][0-9]+$ - объектspec.socket.encoding
В каком формате закодировать сообщение.
- объектspec.socket.encoding.cef
Поля конфигурации, специфичные для CEF. Применяется только в том случае, если для кодирования установлено значение
CEF.- строкаspec.socket.encoding.cef.deviceProduct
По умолчанию:
log-shipper-agent - строкаspec.socket.encoding.cef.deviceVendor
По умолчанию:
Deckhouse - строкаspec.socket.encoding.cef.deviceVersion
По умолчанию:
1
- строкаspec.socket.encoding.codec
Доступные форматы для кодирования.
По умолчанию:
JSONДопустимые значения:
Text,JSON,Syslog,CEF,GELF
- строкаspec.socket.mode
Обязательный параметр
Допустимые значения:
TCP,UDP - объектspec.socket.tcp
- объектspec.socket.tcp.tls
Настройки защищенного TLS-соединения.
- строкаspec.socket.tcp.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.socket.tcp.tls.clientCrt
Конфигурация клиентского сертификата.
- строкаspec.socket.tcp.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.socket.tcp.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.socket.tcp.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.socket.tcp.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.socket.tcp.tls.secretRef.name
Имя секрета с TLS-сертификатами.
- булевыйspec.socket.tcp.verifyCertificate
Проверка действия TLS-сертификата удаленного хоста.
Если установлено значение
false, сертификат не проверяется в списках отзыва сертификатов.По умолчанию:
true - булевыйspec.socket.tcp.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
- объектspec.splunk
- строкаspec.splunk.endpoint
Обязательный параметр
Базовый URL для экземпляра Splunk.
Пример:
endpoint: https://http-inputs-hec.splunkcloud.com - строкаspec.splunk.index
Имя индекса, куда будут сохранены данные. Это поле можно задать динамически.
- объектspec.splunk.tls
Настройки защищенного TLS-соединения.
- строкаspec.splunk.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.splunk.tls.clientCrt
Конфигурация клиентского сертификата.
- строкаspec.splunk.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.splunk.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.splunk.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.splunk.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.splunk.tls.secretRef.name
Имя секрета с TLS-сертификатами.
- булевыйspec.splunk.tls.verifyCertificate
Проверка действия TLS-сертификата удаленного хоста.
По умолчанию:
true - булевыйspec.splunk.tls.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
- строкаspec.splunk.token
Обязательный параметр
Токен по умолчанию для Splunk HEC. Если токен не был передан через metadata, будет использовано значение из этого поля.
- массив объектовspec.transformations
Список трансформаций, которые могут применяться к логам перед отправкой.
Возможные варианты:
-
ReplaceKeys— заменяетsourceнаtargetв заданных ключах лейблов.Пример:
transformations: - action: ReplaceKeys replaceKeys: source: "." target: "_" labels: - .pod_labels -
ParseMessage— преобразует полеmessageиз формата, заданного вsourceFormat, в объект. Если это невозможно, полеmessageостается без изменений.Примеры:
transformations: - action: ParseMessage parseMessage: sourceFormat: String string: targetField: msgtransformations: - action: ParseMessage parseMessage: sourceFormat: Klog - action: ParseMessage parseMessage: sourceFormat: JSON json: depth: 1 - action: ParseMessage parseMessage: sourceFormat: String string: targetField: msg -
DropLabels— удаляет указанные лейблы.Пример:
transformations: - action: DropLabels dropLabels: labels: - .first - .second
- строкаspec.transformations.action
Тип трансформации.
Допустимые значения:
ReplaceKeys,ParseMessage,DropLabels - объектspec.transformations.dropLabels
Удаление заданных лейблов.
- массив строкspec.transformations.dropLabels.labels
Обязательный параметр
Список лейблов, которые необходимо удалить.
- строкаЭлемент массива
Шаблон:
^\.[a-zA-Z0-9_\[\]\\\.\-]+$
- объектspec.transformations.parseMessage
Преобразует поле
messageв объект.- объектspec.transformations.parseMessage.json
- целочисленныйspec.transformations.parseMessage.json.depth
Глубина парсинга JSON.
Допустимые значения:
1 <= X <= 128
- строкаspec.transformations.parseMessage.sourceFormat
Обязательный параметр
Формат сообщения для преобразования в объект.
Допустимые значения:
String,JSON,Klog,SysLog,CLF,Logfmt - объектspec.transformations.parseMessage.string
- строкаspec.transformations.parseMessage.string.targetField
Обязательный параметр
Имя поля, в которое помещается структурированное сообщение.
Шаблон:
^[a-zA-Z0-9_\\\.\-]+$
- объектspec.transformations.replaceKeys
Рекурсивная замена всех совпадений шаблона
sourceна значениеtargetв заданных ключах.- массив строкspec.transformations.replaceKeys.labels
Обязательный параметр
Список лейблов, в которых будет выполняться рекурсивная замена.
- строкаЭлемент массива
Шаблон:
^\.[a-zA-Z0-9_\[\]\\\.\-]+$
- строкаspec.transformations.replaceKeys.source
Обязательный параметр
Шаблон для поиска совпадений. Может быть статической строкой или регулярным выражением.
- строкаspec.transformations.replaceKeys.target
Значение, на которое будут заменены все совпадения шаблона.
По умолчанию:
-
- строкаspec.type
Возможные бэкенды для сохранения логов.
Допустимые значения:
Loki,Elasticsearch,Logstash,Vector,Kafka,Splunk,Socket - объектspec.vector
- строкаspec.vector.endpoint
Обязательный параметр
Адрес для подключения к Vector. Для общения между экземплярами должен использоваться API v2.
Шаблон:
^(.+):([0-9]{1,5})$ - объектspec.vector.tls
Настройки защищенного TLS-соединения.
- строкаspec.vector.tls.caFile
Закодированный в Base64 сертификат CA в формате PEM.
- объектspec.vector.tls.clientCrt
Конфигурация клиентского сертификата.
- строкаspec.vector.tls.clientCrt.crtFile
Обязательный параметр
Закодированный в Base64 сертификат в формате PEM.
Также необходимо указать ключ в параметре
keyFile. - строкаspec.vector.tls.clientCrt.keyFile
Обязательный параметр
Закодированный в Base64 ключ в формате PEM.
Также необходимо указать сертификат в параметре
crtFile. - строкаspec.vector.tls.clientCrt.keyPass
Закодированный в Base64 пароль для ключа.
- объектspec.vector.tls.secretRef
Ссылка на секрет Kubernetes, содержащий сертификат CA (ca.pem), клиентский сертификат (crt.pem), приватный ключ (key.pem) и пароль ключа для клиентского сертификата (keyPass) в формате PEM, закодированном в Base64. Настройки TLS будут переопределены значениями из секрета. Секрет должен находиться в пространстве имён
d8-log-shipperи иметь лейблlog-shipper.deckhouse.io/watch-secret: true.- строкаspec.vector.tls.secretRef.name
Имя секрета с TLS-сертификатами.
- булевыйspec.vector.tls.verifyCertificate
Проверка действия TLS-сертификата удаленного хоста.
По умолчанию:
true - булевыйspec.vector.tls.verifyHostname
Проверка соответствия имени удаленного хоста и имени, указанного в TLS-сертификате удаленного хоста.
По умолчанию:
true
ClusterLoggingConfig
Scope: Cluster
Описывает источник логов в log-pipeline.
Каждый ресурс ClusterLoggingConfig описывает правила сбора логов из кластера.
- объектspec
Обязательный параметр
- массив строкspec.destinationRefs
Обязательный параметр
Массив имен ресурса
ClusterLogDestination, с которыми будет работать этот источник логов.Поля с числовыми и булевыми типами будут преобразованы в строки.
- объектspec.file
Описывает правило сбора логов из файлов на узле.
- массив строкspec.file.exclude
Список шаблонов путей к файлам, которые нужно исключить при сборе логов.
Поддерживаются wildcards.
Примеры:
exclude: "/var/log/nginx/error.log"exclude: "/var/log/audit.log" - массив строкspec.file.include
Список шаблонов путей к файлам для сбора логов.
Поддерживаются wildcards.
Примеры:
include: "/var/log/*.log"include: "/var/log/nginx/*.log" - строкаspec.file.lineDelimiter
Символ новой строки, который использовать при парсинге логов.
Пример:
lineDelimiter: "\\r\\n"
- объектspec.kubernetesPods
Описывает правило сбора логов из подов кластера.
- строкаspec.kubernetesPods.keepDeletedFilesOpenedFor
Указывает время, в течение которого удаленные файлы будут оставаться открытыми для чтения. Vector будет сохранять метаданные подов в течение этого времени, чтобы читать логи из удаленных подов. Эта опция полезна в случаях недоступности хранилища логов или сетевого разделения. Vector будет держать файлы логов открытыми до их окончательной отправки в пункт назначения.
Применение опции может повлиять на потребление ресурсов Vector и также быть причиной нехватки места на диске из-за удаленных файлов с логами. Используйте с осторожностью.
Формат - строка, содержащая единицу времени в часах и минутах: 30m, 1h, 2h30m, 24h.
Шаблон:
^([0-9]+h([0-9]+m)?|[0-9]+m)$ - объектspec.kubernetesPods.labelSelector
Задаёт фильтр по меткам пода.
Подробнее про выражения можно узнать в документации.
- массив объектовspec.kubernetesPods.labelSelector.matchExpressions
Список выражений для меток, которые должен иметь под, чтобы подпадать под условие фильтра.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging - key: tier operator: NotIn values: - production- строкаspec.kubernetesPods.labelSelector.matchExpressions.key
Имя метки.
- строкаspec.kubernetesPods.labelSelector.matchExpressions.operator
Оператор сравнения.
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.kubernetesPods.labelSelector.matchExpressions.values
Значение метки.
- строкаЭлемент массива
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Длина:
1..63
- объектspec.kubernetesPods.labelSelector.matchLabels
Список меток, которые должен иметь под, чтобы подпадать под условие фильтра.
Пример:
matchLabels: foo: bar baz: who
- объектspec.kubernetesPods.namespaceSelector
Задаёт фильтр по пространствам имен.
Фильтр использует параметр
labelSelectorдля определения пространств имен, из которых должны собираться логи.- объектspec.kubernetesPods.namespaceSelector.labelSelector
Фильтр по меткам пространств имен, с которых нужно собирать логи.
Подробнее про выражения можно узнать в документации.
- массив объектовspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions
Список выражений для меток, которые должно иметь пространство имен, чтобы подпадать под условие фильтра.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging- строкаspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions.key
Обязательный параметр
Имя метки.
- строкаspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions.operator
Обязательный параметр
Оператор сравнения.
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions.values
Значение метки.
- строкаЭлемент массива
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Длина:
1..63
- объектspec.kubernetesPods.namespaceSelector.labelSelector.matchLabels
Список меток, которые должно иметь пространство имен, чтобы подпадать под условие фильтра.
Пример:
matchLabels: foo: bar baz: who
- массив объектовspec.labelFilter
Список правил для фильтрации логов по их меткам метаданных.
Пример:
labelFilter: - field: container operator: In values: - nginx - field: pod_labels.tier operator: Regex values: - prod-.+ - stage-.+- строкаspec.labelFilter.field
Обязательный параметр
Имя метки для использования в фильтре.
Не должно быть пустым.
Шаблон:
.+ - строкаspec.labelFilter.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть;DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.labelFilter.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- массив объектовspec.logFilter
Список фильтров для логов, которые применяются к полям сообщения в формате JSON.
Только логи, подпадающие под правила, будут сохранены в хранилище.
Пример:
logFilter: - field: tier operator: Exists - field: foo operator: NotIn values: - dev - 42 - 'true' - '3.14' - field: bar operator: Regex values: - "^abc" - "^\\d.+$"- строкаspec.logFilter.field
Обязательный параметр
Имя поля для фильтрации. Должно быть пустым для логов не в JSON-формате.
- строкаspec.logFilter.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть.DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.logFilter.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- объектspec.multilineParser
Список паттернов для определения многострочных логов.
- объектspec.multilineParser.custom
Правила парсинга многострочных логов для парсера
Custom.- объектspec.multilineParser.custom.endsWhen
Условие, при котором находится последняя строчка многострокового лога.
- строкаspec.multilineParser.custom.endsWhen.notRegex
Регулярное выражение, которое считает мэтчем строки, НЕ попавшие в него.
- строкаspec.multilineParser.custom.endsWhen.regex
Регулярное выражение, которое считает мэтчем строки, попавшие в него.
- объектspec.multilineParser.custom.startsWhen
Условие, при котором находится первая строчка многострокового лога.
- строкаspec.multilineParser.custom.startsWhen.notRegex
Регулярное выражение, которое считает мэтчем строки, НЕ попавшие в него.
- строкаspec.multilineParser.custom.startsWhen.regex
Регулярное выражение, которое считает мэтчем строки, попавшие в него.
- строкаspec.multilineParser.type
Обязательный параметр
Типы парсеров:
None— не парсить логи;General— парсер, который пытается сливать логи, у которых в начале сообщения стоит пробел или табуляция;Backslash— парсер, который парсит многострочные логи в SHELL-формате с обратным слэшем у строк одного сообщения;LogWithTime— парсер, который ожидает, что любое новое сообщение начинается с временной метки;MultilineJSON— простой парсер JSON-логов, который предполагает, что новое сообщение начинается с символа{;Custom- парсер, который парсит многострочные логи в указанном пользователем вspec.multilineParser.customформате.
По умолчанию:
NoneДопустимые значения:
None,General,Backslash,LogWithTime,MultilineJSON,Custom
- строкаspec.type
Обязательный параметр
Возможные источники логов.
KubernetesPodsсобирает логи с подов.Fileпозволяет читать локальные файлы, доступные на узле.Допустимые значения:
KubernetesPods,File
Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.
Описывает источник логов в log-pipeline.
Каждый ресурс ClusterLoggingConfig описывает правила сбора логов из кластера.
- объектspec
Обязательный параметр
- массив строкspec.destinationRefs
Обязательный параметр
Массив имен ресурса
ClusterLogDestination, с которыми будет работать этот источник логов.Поля с числовыми и булевыми типами будут преобразованы в строки.
- объектspec.file
Описывает правило сбора логов из файлов на узле.
- массив строкspec.file.exclude
Список шаблонов путей к файлам, которые нужно исключить при сборе логов.
Поддерживаются wildcards.
Примеры:
exclude: "/var/log/nginx/error.log"exclude: "/var/log/audit.log" - массив строкspec.file.include
Список шаблонов путей к файлам для сбора логов.
Поддерживаются wildcards.
Примеры:
include: "/var/log/*.log"include: "/var/log/nginx/*.log" - строкаspec.file.lineDelimiter
Символ новой строки, который использовать при парсинге логов.
Пример:
lineDelimiter: "\\r\\n"
- объектspec.kubernetesPods
Описывает правило сбора логов из подов кластера.
- строкаspec.kubernetesPods.keepDeletedFilesOpenedFor
Указывает время, в течение которого удаленные файлы будут оставаться открытыми для чтения. Vector будет сохранять метаданные подов в течение этого времени, чтобы читать логи из удаленных подов. Эта опция полезна в случаях недоступности хранилища логов или сетевого разделения. Vector будет держать файлы логов открытыми до их окончательной отправки в пункт назначения.
Применение опции может повлиять на потребление ресурсов Vector и также быть причиной нехватки места на диске из-за удаленных файлов с логами. Используйте с осторожностью.
Формат - строка, содержащая единицу времени в часах и минутах: 30m, 1h, 2h30m, 24h.
Шаблон:
^([0-9]+h([0-9]+m)?|[0-9]+m)$ - объектspec.kubernetesPods.labelSelector
Задаёт фильтр по меткам пода.
Подробнее про выражения можно узнать в документации.
- массив объектовspec.kubernetesPods.labelSelector.matchExpressions
Список выражений для меток, которые должен иметь под, чтобы подпадать под условие фильтра.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging - key: tier operator: NotIn values: - production- строкаspec.kubernetesPods.labelSelector.matchExpressions.key
Имя метки.
- строкаspec.kubernetesPods.labelSelector.matchExpressions.operator
Оператор сравнения.
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.kubernetesPods.labelSelector.matchExpressions.values
Значение метки.
- строкаЭлемент массива
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Длина:
1..63
- объектspec.kubernetesPods.labelSelector.matchLabels
Список меток, которые должен иметь под, чтобы подпадать под условие фильтра.
Пример:
matchLabels: foo: bar baz: who
- объектspec.kubernetesPods.namespaceSelector
Задаёт фильтр по пространствам имен.
Фильтр может использовать какой-то один способ задания условия из трех доступных (параметры
matchNames,excludeNames,labelSelector).- массив строкspec.kubernetesPods.namespaceSelector.excludeNames
Список пространств имен, с подов которого нужно исключить сбор логов.
- объектspec.kubernetesPods.namespaceSelector.labelSelector
Фильтр по меткам пространств имен, с которых нужно собирать логи.
Подробнее про выражения можно узнать в документации.
- массив объектовspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions
Список выражений для меток, которые должно иметь пространство имен, чтобы подпадать под условие фильтра.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging- строкаspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions.key
Имя метки.
- строкаspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions.operator
Оператор сравнения.
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.kubernetesPods.namespaceSelector.labelSelector.matchExpressions.values
Значение метки.
- строкаЭлемент массива
Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Длина:
1..63
- объектspec.kubernetesPods.namespaceSelector.labelSelector.matchLabels
Список меток, которые должно иметь пространство имен, чтобы подпадать под условие фильтра.
Пример:
matchLabels: foo: bar baz: who
- массив строкspec.kubernetesPods.namespaceSelector.matchNames
Список пространств имен, с подов которого нужно собирать логи.
- массив объектовspec.labelFilter
Список правил для фильтрации логов по их меткам метаданных.
Пример:
labelFilter: - field: container operator: In values: - nginx - field: pod_labels.tier operator: Regex values: - prod-.+ - stage-.+- строкаspec.labelFilter.field
Обязательный параметр
Имя метки для использования в фильтре.
Не должно быть пустым.
Шаблон:
.+ - строкаspec.labelFilter.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть;DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.labelFilter.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- массив объектовspec.logFilter
Список фильтров для логов, которые применяются к полям сообщения в формате JSON.
Только логи, подпадающие под правила, будут сохранены в хранилище.
Пример:
logFilter: - field: tier operator: Exists - field: foo operator: NotIn values: - dev - 42 - 'true' - '3.14' - field: bar operator: Regex values: - "^abc" - "^\\d.+$"- строкаspec.logFilter.field
Обязательный параметр
Имя поля для фильтрации. Должно быть пустым для логов не в JSON-формате.
- строкаspec.logFilter.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть.DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.logFilter.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- объектspec.multilineParser
Список паттернов для определения многострочных логов.
- объектspec.multilineParser.custom
Правила парсинга многострочных логов для парсера
Custom.- объектspec.multilineParser.custom.endsWhen
Условие, при котором находится последняя строчка многострокового лога.
- строкаspec.multilineParser.custom.endsWhen.notRegex
Регулярное выражение, которое считает мэтчем строки, НЕ попавшие в него.
- строкаspec.multilineParser.custom.endsWhen.regex
Регулярное выражение, которое считает мэтчем строки, попавшие в него.
- объектspec.multilineParser.custom.startsWhen
Условие, при котором находится первая строчка многострокового лога.
- строкаspec.multilineParser.custom.startsWhen.notRegex
Регулярное выражение, которое считает мэтчем строки, НЕ попавшие в него.
- строкаspec.multilineParser.custom.startsWhen.regex
Регулярное выражение, которое считает мэтчем строки, попавшие в него.
- строкаspec.multilineParser.type
Обязательный параметр
Типы парсеров:
None— не парсить логи;General— парсер, который пытается сливать логи, у которых в начале сообщения стоит пробел или табуляция;Backslash— парсер, который парсит многострочные логи в SHELL-формате с обратным слэшем у строк одного сообщения;LogWithTime— парсер, который ожидает, что любое новое сообщение начинается с временной метки;MultilineJSON— простой парсер JSON-логов, который предполагает, что новое сообщение начинается с символа{;Custom- парсер, который парсит многострочные логи в указанном пользователем вspec.multilineParser.customформате.
По умолчанию:
NoneДопустимые значения:
None,General,Backslash,LogWithTime,MultilineJSON,Custom
- строкаspec.type
Обязательный параметр
Возможные источники логов.
KubernetesPodsсобирает логи с подов.Fileпозволяет читать локальные файлы, доступные на узле.Допустимые значения:
KubernetesPods,File
PodLoggingConfig
Scope: Namespaced
Version: v1alpha1
Ресурс для описания источника логов в log-pipeline.
Каждый ресурс PodLoggingConfig описывает правила сбора логов из указанного namespace.
- объектspec
Обязательный параметр
- массив строкspec.clusterDestinationRefs
Обязательный параметр
Список бэкендов хранения (CRD
ClusterLogDestination), в которые будет отправлено сообщение. - строкаspec.keepDeletedFilesOpenedFor
Указывает время, в течение которого удаленные файлы будут оставаться открытыми для чтения. Vector будет сохранять метаданные подов в течение этого времени, чтобы читать логи из удаленных подов. Эта опция полезна в случаях недоступности хранилища логов или сетевого разделения. Vector будет держать файлы логов открытыми до их окончательной отправки в пункт назначения.
Применение опции может повлиять на потребление ресурсов Vector и также быть причиной нехватки места на диске из-за удаленных файлов с логами. Используйте с осторожностью.
Формат - строка, содержащая единицу времени в часах и минутах: 30m, 1h, 2h30m, 24h.
Шаблон:
^([0-9]+h([0-9]+m)?|[0-9]+m)$ - массив объектовspec.labelFilter
Список правил для фильтрации логов по их меткам метаданных.
Пример:
labelFilter: - field: container operator: In values: - nginx - field: pod_labels.tier operator: Regex values: - prod-.+ - stage-.+ - field: message operator: Regex values: - ".*search_text.*"- строкаspec.labelFilter.field
Обязательный параметр
Имя метки для использования в фильтре.
Не должно быть пустым.
Шаблон:
.+ - строкаspec.labelFilter.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть;DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.labelFilter.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- объектspec.labelSelector
Задаёт фильтр по меткам пода.
Подробнее про выражения можно узнать в документации.
- массив объектовspec.labelSelector.matchExpressions
Список выражений для меток, которые должен иметь под, чтобы подпадать под условие фильтра.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging- строкаspec.labelSelector.matchExpressions.key
Имя метки.
- строкаspec.labelSelector.matchExpressions.operator
Оператор сравнения.
Допустимые значения:
In,NotIn,Exists,DoesNotExist - массив строкspec.labelSelector.matchExpressions.values
Значение метки.
- строкаЭлемент массива
Шаблон:
[a-z0-9]([-a-z0-9]*[a-z0-9])?Длина:
1..63
- объектspec.labelSelector.matchLabels
Список меток, которые должен иметь под, чтобы подпадать под условие фильтра.
Пример:
matchLabels: foo: bar baz: who
- массив объектовspec.logFilter
Список фильтров для логов, которые применяются к полям сообщения в формате JSON.
Только логи, подпавшие под правила, будут сохранены в хранилище.
Пример:
logFilter: - field: tier operator: Exists - field: foo operator: NotIn values: - dev - 42 - 'true' - '3.14' - field: bar operator: Regex values: - "^abc" - "^\\d.+$"- строкаspec.logFilter.field
Обязательный параметр
Имя поля для фильтрации. Должно быть пустым для логов не в JSON-формате.
- строкаspec.logFilter.operator
Обязательный параметр
Оператор, который можно применить для фильтрации:
In— ищет сроку или элемент в массиве;NotIn— является инверсией оператораIn;Regex— пытается проверить строку в поле с использованием регулярного выражения (только логи, в которых есть поля, подпадающие под регулярное выражение, пройдут в хранилище);NotRegex— является инверсией оператораRegex(в хранилище попадут логи, в которых нет поля или же оно не подпадает под регулярное выражение);Exists— проверяет наличие поля и пропускает логи, только если поле есть;DoesNotExist— проверяет наличие поля и пропускает логи, только если поле отсутствует.
Допустимые значения:
In,NotIn,Regex,NotRegex,Exists,DoesNotExist - массивspec.logFilter.values
Массив значений или регулярных выражений для соответствующих операций. Не работает для операций
ExistsиDoesNotExist.Можно использовать целые числа или строки. Поля с числами с плавающей запятой и поля логического типа будут преобразованы в строки при сравнении.
- объектspec.multilineParser
Список паттернов для определения многострочных логов.
- объектspec.multilineParser.custom
Правила парсинга многострочных логов для парсера
Custom.- объектspec.multilineParser.custom.endsWhen
Условие, при котором находится последняя строчка многострокового лога.
- строкаspec.multilineParser.custom.endsWhen.notRegex
Регулярное выражение, которое считает мэтчем строки, НЕ попавшие в него.
- строкаspec.multilineParser.custom.endsWhen.regex
Регулярное выражение, которое считает мэтчем строки, попавшие в него.
- объектspec.multilineParser.custom.startsWhen
Условие, при котором находится первая строчка многострокового лога.
- строкаspec.multilineParser.custom.startsWhen.notRegex
Регулярное выражение, которое считает мэтчем строки, НЕ попавшие в него.
- строкаspec.multilineParser.custom.startsWhen.regex
Регулярное выражение, которое считает мэтчем строки, попавшие в него.
- строкаspec.multilineParser.type
Обязательный параметр
Типы парсеров:
None— не парсить логи;General— парсер, который пытается сливать логи, у которых в начале сообщения стоит пробел или табуляция;Backslash— парсер, который парсит многострочные логи в SHELL-формате с обратным слэшем у строк одного сообщения;LogWithTime— парсер, который ожидает, что любое новое сообщение начинается с временной метки;MultilineJSON— простой парсер JSON-логов, который предполагает, что новое сообщение начинается с символа{;Custom- парсер, который парсит многострочные логи в указанном пользователем вspec.multilineParser.customформате.
По умолчанию:
NoneДопустимые значения:
None,General,Backslash,LogWithTime,MultilineJSON,Custom