elasticsearch 管理logstash管道的输出
我们试图为elasticsearch 管理logstash管道的输出,elasticsearch,logstash,logstash-configuration,elasticsearch,Logstash,Logstash Configuration,我们试图为LogStash服务器中的所有管道添加一个字段(我们有6个本地LogStash,每个国家3个)。 具体来说,我们试图从环境变量中添加一个字段,以在索引中用后缀标记管道的输出,例如(美国、欧盟),但我们有许多管道(大约145个国家),其主要思想不是在所有输出插件中添加此环境变量,而且这不是强制性的,所以如果有人忘记添加环境变量,我们将遇到严重的问题 然后,我们试图找到一种方法,在每个输出中自动添加此字段,而不添加此环境变量。根据您的经验,在logstash“world”中是否可以在输出插
LogStash
服务器中的所有管道添加一个字段(我们有6个本地LogStash,每个国家3个)。
具体来说,我们试图从环境变量中添加一个字段,以在索引中用后缀标记管道的输出,例如(美国、欧盟),但我们有许多管道(大约145个国家),其主要思想不是在所有输出插件中添加此环境变量,而且这不是强制性的,所以如果有人忘记添加环境变量,我们将遇到严重的问题
然后,我们试图找到一种方法,在每个输出中自动添加此字段,而不添加此环境变量。根据您的经验,在logstash“world”中是否可以在输出插件的索引中附加后缀
范例
output {
elasticsearch {
hosts => localhost
manage_template => false
index => "index-%{+YYYY.MM.dd}_${COUNTRY_VARIABLE}"
}
}
我想在发送文档之前自动添加${COUNTRY\u VARIABLE}
在
elasticsearch
中不可能做到这一点,因为它安装在aws
中,检查所有可能主机输入的流量来自logstash
是我们不希望的成本。当然,这会起作用。如果您向env var添加一个回退值,那么如果有人忘记定义一个,您就可以了:${COUTRY\u VARIABLE:XX}
output {
elasticsearch {
hosts => localhost
manage_template => false
index => "index-%{+YYYY.MM.dd}_${COUNTRY_VARIABLE:ABC}"
}
}
请参阅logstash中有关env vars的更多背景信息。抱歉,但我认为这不是正确的答案,因为我所说的是一种添加此变量而不编辑每个管道文件的方法。