Управление конфигурациями Logstash
Описание
Роль управления конфигурациями Logstash не включает перезагрузку сервиса Logstash, не изменяет параметры в файле jvm.options
, в том числе не редактирует размер heap.
Роль конфигурирует следующие файлы:
logstash.yml
pipelines.yml
- конфигурационные файлы пайплайнов
При изменении в конфигурационных фай лах создаются резервные копии. Также осуществляется поиск резервных копий и производится удаление бэкапов файлов старше 1 дня.
При отключении пайплайна на хосте конфигурационный файл переименовывается с расширением .bkp
и не удаляется.
Параметры роли
Значения по умолчанию указаны относительно рекомендаций Smart Monitor.
var_logstash_pipelines_list
Объект (YAML) с описанием параметров пайплайнов Logstash. Обычно используется для группы хостов (влияет на приоритеты и последовательность объединения параметров).
Поддерживает объединение с параметрами, начинающимися на var_logstash_pipelines_list_
, например:
var_logstash_pipelines_list_syslog
var_logstash_pipelines_list_win_log
host_var_logstash_pipelines_list
Объект (YAML) с описанием параметров пайплайнов Logstash. Обычно используется для описания параметров хоста (влияет на приоритеты и последовательность объединения параметров). Поддерживает объединение с параметрами, начинающимися на host_var_logstash_pipelines_list_
, например:
host_var_logstash_pipelines_list_syslog
host_var_logstash_pipelines_list_win_log
var_logstash_files
Объект (YAML) с основными параметрами Logstash
Переменная | Значение по умолчанию | Описание |
---|---|---|
var_logstash_files.path_conf | директория расположения конфигурации Logstash, по умолчанию | /app/logstash/config |
var_logstash_files.path_log | директория нахождения логов Logstash, по умолчанию | /app/logs/logstash/logstash-plain.log |
var_logstash_files.dir_subcfg | названия директории расположения файлов конфигураций пайплайнов, обычно | conf.d |
var_logstash_files.owner | имя владельца файлов, по умолчанию | "logstash" |
var_logstash_files.group | имя группы владельцев файлов, по умолчанию | "logstash" |
var_logstash_files.mode | привилегии на создаваемые файлы, по умолчанию | "0644" |
var_logstash_files.folder_mode | привилегии на создаваемые директории, по умолчанию | "0755" |
Параметры файла logstash.yml
Далее следуют параметры (объекты YAML), относящиеся к глобальным параметрам Logstash и прописываются в файле logstash.yml
. Разделено на 5 объектов только для группировки части параметров по "общим признакам" и соответствующим комментарием в файле logstash.yml
.
var_logstash_node_settings
Объект (YAML) с параметрами, относящиеся к текущему узлу, обычно включает следующие параметры:
Переменная | Значение по умолча нию | Описание |
---|---|---|
node.name | имя узла, значение по умолчанию | smosed-logstash |
config.reload.automatic | перезагружать ли автоматически конфигурацию Logstash pipeline | false |
config.reload.interval | время проверки изменения конфигураций для автоматического применения конфигурации | 3s |
var_logstash_path_settings
Объект (YAML) с параметрами, относящиеся к текущему узлу и указанию директорий, обычно включает следующие параметры:
Переменная | Значение по умолчанию | Описание |
---|---|---|
path.data | директория расположения данных | /app/data/logstash |
path.logs | директория расположения логов | /app/logs/logstash |
var_logstash_pipeline_settings
Объект (YAML) с параметрами, относящиеся к г лобальным параметрам pipeline, обычно включает следующие параметры:
Переменная | Значение по умолчанию | Описание |
---|---|---|
pipeline.ordered | управление порядком событий пайплайна | auto |
pipeline.separate_logs | сохранение логов пайплайнов в отдельные файлы | true |
var_logstash_queue_settings
Объект (YAML) с параметрами, относящиеся к параметрам работы с очередями, обычно включает следующие параметры:
Переменная | Значение по умолчанию | Описание |
---|---|---|
queue.type | тип буфера для хранения буфера событий | memory |
queue.page_capacity | размер страницы при файловом типе буфера событий | 64mb |
queue.max_events | количество необработанных событий в очереди для включения буфера файлового типа | 0 |
queue.max_bytes | максимальное значение буфера файлового типа в байтах | 1024mb |
queue.checkpoint.acks | максимальное количество событий с подтверждением перед форсированием при файловом типе очереди | 1024 |
queue.checkpoint.writes | максимальное количество записанных событий перед форсированием при файловом типе очереди | 1024 |
queue.checkpoint.interval | интервал в миллисекундах принудительной установки контрольной точки при файловом типе очереди | 1000 |
var_logstash_dead_letter_queue_settings
Объект (YAML) с параметрами, относящиеся к параметрам работы с очередью недоставленных сообщений, обычно включает следующие параметры:
Переменная | Значение по умолчанию | Описание |
---|---|---|
dead_letter_queue.enable | включает очередь для недоставленных сообщений | false |
dead_letter_queue.max_bytes | размер очереди недоставленных сообщений в байтах | 1024mb |
dead_letter_queue.flush_interval | период записи очереди в файл в миллисекундах | 5000 |
Глобальные параметры Logstash
Глобальные параметры Logstash располагаются в файле <PATH_TO_LOGSTASH_CONFIG>/logstash.yml
, для удобства визуально разбиты на 5 групп:
- настройки узла (
var_logstash_node_settings
) - настройки директорий (
var_logstash_path_settings
) - настройки пайплайнов (
var_logstash_pipeline_settings
) - настройки очередей (
var_logstash_queue_settings
) - настройки очередей недоставленных сообщений (
var_logstash_dead_letter_queue_settings
)
Если планируется изменить какой-нибудь параметр в группе, то нужно будет указать все из значения по умолчанию и изменить необходимые. Указывать параметры нужно по правилам YAML. Некоторые параметры имеют значения по умолчанию в логике Logstash, подробнее можно прочитать в официальной документации.
Например:
var_logstash_queue_settings:
queue.type: persistent
queue.page_capacity: 64mb
queue.max_events: 0
queue.max_bytes: 1024mb
queue.checkpoint.ack s: 1024
queue.checkpoint.writes: 1024
queue.checkpoint.interval: 1000
Будет использован другой тип очереди с перечисленными параметрами. Если не указать ни одной переменной группы, то настройка logstash.yml
будет игнорироваться.