elasticsearch 配置文件中的Logstash变量定义,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack" /> elasticsearch 配置文件中的Logstash变量定义,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack" />

elasticsearch 配置文件中的Logstash变量定义

elasticsearch 配置文件中的Logstash变量定义,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack,在我的Logstash配置文件中,我有许多jdbc输入,它们都使用相同的数据库和相同的凭证。每次我想要更改例如连接字符串时,我必须手动循环所有jdbc输入。我可以定义一次变量,然后在配置文件中使用它们吗 CONNECTION_STRING_VARIABLE => "MY_CONNECTION_STRING" jdbc { ... jdbc_connection_string => CONNECTION_STRING_VARIABLE ... }

在我的Logstash配置文件中,我有许多
jdbc
输入,它们都使用相同的数据库和相同的凭证。每次我想要更改例如连接字符串时,我必须手动循环所有jdbc输入。我可以定义一次变量,然后在配置文件中使用它们吗

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

由于用户和密码字段的原因,我不想使用环境变量,我想将变量存储在一个位置。

对于密码,您可以使用属性jdbc\u password\u filepath

我读到你不想设置环境变量。我在这里给出了一种方法,这样,它将不会在每个shell的环境中都可用,而是只为日志存储而加载

您可以创建一个脚本来导出logstash的所有变量,并在logstash服务或logstash命令行中调用它

例如,创建一个文件-exportVariablesForLogstash.sh

export jdbc_url="jdbc:mysql://example.local:3306/sampledb"
export jdbc_username=mysqluser 
在logstash服务或logstash命令行脚本的启动中添加以下内容。开始时注意点

. exportVariablesForLogstash.sh 
然后你可以使用这里记录的这些变量。我相信你已经知道这个了