我有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}"
}
}
任何帮助都会得到感谢
答案 0 :(得分:0)
找到了答案。您可以通过以下方式访问该字段:%{env}
在filebeat.yml文件中添加:
fields:
env: dev
bu: rsk
要添加logstash.conf,请添加以下内容:
output {
elasticsearch {
hosts => [ "{{elasticsearch_hosts_nginx}}" ]
index => "nginx_%{env}-%{+YYYY.MM.dd}"
}
}