Управление производством трубопроводов logsta sh - PullRequest
2 голосов
/ 17 января 2020

Мы пытаемся добавить поле для всех конвейеров на сервере LogStash (у нас есть 6 локальных журналов sh, по 3 в каждой стране). В спецификации c мы пытаемся добавить поле из переменных среды, чтобы пометить вывод конвейера, например, с помощью суффикса в индексе (сша, ес), но у нас есть много конвейеров (примерно 145 по стране) и основная идея состоит не в том, чтобы добавлять эту переменную среды во все плагины вывода, также это не является обязательным, поэтому, если кто-то забудет добавить переменную среды, у нас будут серьезные проблемы.

Затем мы пытаемся найти метод автоматического добавления этого поля в каждый выходной файл без добавления этой переменной среды. По вашему опыту, возможно ли в logsta sh "world" добавить суффикс в индекс в выходной плагин?

пример

output {
  elasticsearch {
    hosts => localhost
    manage_template => false
    index => "index-%{+YYYY.MM.dd}_${COUNTRY_VARIABLE}"
  }
}

Я хочу автоматически добавить ${COUNTRY_VARIABLE} перед отправкой документа.

Невозможно сделать это в elasticsearch, потому что он смонтирован в aws, а трафик c для проверки всех возможных входов хостов из logstash - это стоимость, которую мы не хотим есть.

1 Ответ

0 голосов
/ 18 января 2020

Конечно, это будет работать. Если вы добавите запасное значение в env var, то все в порядке, если кто-то забыл его определить: ${COUTRY_VARIABLE:XX}

output {
  elasticsearch {
    hosts => localhost
    manage_template => false
    index => "index-%{+YYYY.MM.dd}_${COUNTRY_VARIABLE:ABC}"
  }
}

См. здесь для получения дополнительной информации о env vars. в логста sh.

...