Logstash输入和输出字段

时间:2018-08-27 08:48:16

标签: elasticsearch logstash

我有filebeat写入logstash写入弹性搜索。我正在尝试通过filebeat logstash输出中的字段或标签。

logstash输入看起来像这样:

input {
  beats {
    port => 5044
  }
}

当前输出如下:

output {
    elasticsearch {
        hosts => [ "{{elasticsearch_hosts_nginx_dev}}" ]
        index => "nginx_dev-%{+YYYY.MM.dd}"
    }
}

我想要实现的是从输入中接收一个变量,并在索引名称中使用它,如下所示:

output {
    elasticsearch {
        hosts => [ "{{elasticsearch_hosts_nginx_dev}}" ]
        index => "nginx_${variable_from_input}-%{+YYYY.MM.dd}"
    }
}

任何帮助都会得到感谢

1 个答案:

答案 0 :(得分:0)

找到了答案。您可以通过以下方式访问该字段:%{env}

在filebeat.yml文件中添加:

fields:
  env: dev
  bu: rsk

要添加logstash.conf,请添加以下内容:

output {
    elasticsearch {
        hosts => [ "{{elasticsearch_hosts_nginx}}" ]
        index => "nginx_%{env}-%{+YYYY.MM.dd}"
    }
}