Logstash转发器设置环境变量值

标签 logstash logstash-grok logstash-configuration logstash-forwarder

我有 Rails 应用程序和不同的环境,如开发、登台和生产,RAILS_ENV 设置该值。我想在logstash中添加该字段以过滤环境,所以我的问题是在logstash配置或logstash转发器中在哪里设置该变量以及如何设置

最佳答案

logstash 和logstash 转发器都可以。

1) Logstash 转发器

来自logstash转发器readme :

Any part of config can use environment variables as $VAR or ${VAR}. They will be evaluated before processing JSON, allowing to pass any structure.

转发器.conf 示例:

"files": [
    {
      "paths": [
        "./example.log"
      ],
      "fields": { 
        "type": "example",
        "env": "$RAILS_ENV"
        }
    }
  ]

注意: Logstash 转发器 > 需要 0.4.0

您可以按照 instructions on github 构建最新版本.


2) Logstash

在logstash中,您可以使用environment filter.设置环境变量中的字段

示例:

filter {
     environment {
          add_field_from_env => { "ENV" => "RAILS_ENV" }
     }
}

关于Logstash转发器设置环境变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481276/

相关文章:

elasticsearch - Logstash - 使用当前日期作为时间戳日期

regex - LogStash-解析日志

azure - Azure 上的 ElasticSearch - 如何 Logstash 和安装插件?

elasticsearch - 如何告诉 Elasticsearch 从文件的第一行获取列名?

elasticsearch - Grafana在Elasticsearch数据源中使用两个字段的减法

elasticsearch - Logstash Sql_Last_value日期格式似乎无关紧要

logstash - grok 解析多行,例如异常堆栈跟踪

elasticsearch - 管理Logstash管道的输出

java - 无法在类 org.apache.logging.log4j.core.layout.JsonLayout 中为元素 JsonLayout 调用工厂方法

elasticsearch - Logstash日期解析错误(日期字段没有任何时间)