如何在logstash过滤器中添加文件中的字段



我有一个带有许多过滤器的logstash管道,它使用netflow模块获取netflow数据。

我想在输出结果中添加一个字段。字段的名称是:";站点";

Site将是一个存在于文件中的数值。如何从文件中创建字段?

例如:

mutate {
id => "site"
add_field => {
"[flow][policy_violation]" => "false"
"[flow][threat]" => "false"
"[flow][site_id]" => //=======> read file /tmp/site.id and assign value 
}
}

文件:

/tmp/site.id

site.id包含:

12345678

您可以利用Logstash配置中的环境变量。首先,在运行Docker/Logstash:之前导出变量

export SITE_ID=$(</tmp/site.id)

然后使用环境变量运行docker:

docker run ... --env SITE_ID

然后在Logstash配置中,您可以引用如下变量:

mutate {
id => "site"
add_field => {
"[flow][policy_violation]" => "false"
"[flow][threat]" => "false"
"[flow][site_id]" => "${SITE_ID}"
}
}

最新更新