【问题标题】:Managing the output of logstash pipelines管理 logstash 管道的输出
【发布时间】:2020-01-17 15:50:17
【问题描述】:

我们正在尝试为 LogStash 服务器中的所有管道添加一个字段(我们有 6 个本地 logstash,每个国家/地区有 3 个)。 具体来说,我们正在尝试从环境变量中添加一个字段,以在索引中使用后缀标记管道的输出,例如 (us, eu),但我们有许多管道(按国家/地区划分约为 145 个)和主要思想没有在所有输出插件中添加这个环境变量,这也不是强制性的,所以如果有人忘记添加环境变量,我们就会遇到严重的问题。

然后,我们试图找到一种方法在每个输出中自动添加此字段而不添加此环境变量,根据您的经验,是否可以在 logstash“世界”中在输出插件的索引中附加后缀?

例子

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

我想在发送文档之前自动添加${COUNTRY_VARIABLE}

不可能在 elasticsearch 中执行此操作,因为它安装在 aws 中,并且检查来自 logstash 的所有可能主机输入的流量是我们不想拥有的成本。

【问题讨论】:

    标签: elasticsearch logstash logstash-configuration


    【解决方案1】:

    当然,这会奏效。如果您向 env var 添加一个后备值,那么在有人忘记定义的情况下您就可以了:${COUTRY_VARIABLE:XX}

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

    有关 logstash 中环境变量的更多背景信息,请参阅 here

    【讨论】:

    • 对不起,但我认为这不是正确答案,因为我说的是一种无需编辑每个管道文件即可添加此变量的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多