Определение переменных Logstash в конфигурационном файле - PullRequest
0 голосов
/ 19 сентября 2018

В моем файле конфигурации Logstash у меня много входов jdbc, и все они используют одну и ту же базу данных и одинаковые учетные данные.Каждый раз, когда я хочу изменить, например, строку подключения, я должен вручную просмотреть все входные данные jdbc.Могу ли я как-то определить переменные один раз, а затем использовать их, например, в файле конфигурации?

CONNECTION_STRING_VARIABLE => "MY_CONNECTION_STRING"
jdbc {
      ...
      jdbc_connection_string => CONNECTION_STRING_VARIABLE
      ...
}

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

1 Ответ

0 голосов
/ 19 сентября 2018

Для паролей вы можете использовать свойство jdbc_password_filepath.

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

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

Например, создайте файл - exportVariablesForLogstash.sh

export jdbc_url="jdbc:mysql://example.local:3306/sampledb"
export jdbc_username=mysqluser 

Добавьте следующее при запуске службы logstash или сценария командной строки logstash.Отметьте точку при запуске.

. exportVariablesForLogstash.sh 

И тогда вы можете использовать эти переменные, как описано здесь.https://www.elastic.co/guide/en/logstash/current/environment-variables.html. Я полагаю, вы уже знаете это.

...