2

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

4

1 回答 1

2

logstash 和 logstash 转发器都是可能的。

1) Logstash 转发器

从 logstash 转发器自述文件:

config 的任何部分都可以使用环境变量作为 $VAR 或 ${VAR}。它们将在处理 JSON 之前进行评估,允许传递任何结构。

示例 forwarder.conf:

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

注意:需要 Logstash 转发器 > 0.4.0

您可以按照 github 上的说明构建最新版本。


2) 日志存储

在 logstash 中,您可以使用环境过滤器从环境变量中设置字段。

例子:

filter {
     environment {
          add_field_from_env => { "ENV" => "RAILS_ENV" }
     }
}
于 2015-09-09T14:11:36.623 回答