elasticsearch 配置文件中的Logstash变量定义
在我的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 ... }
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
然后你可以使用这里记录的这些变量。我相信你已经知道这个了