所以,我有一个由filebeat设置的主机名(我已经编写了一个应该抓住它的正则表达式),但是以下不是按照我认为的方式添加字段。
grok{
patterns_dir => "/config/patterns"
match =>{ "beat.hostname" => ["%{INSTALLATION}-%{DOMAIN}-%{SERVICE}"] }
add_field => { "[installation]" => "%{INSTALLATION}"}
add_field => { "[domain]" => "%{DOMAIN}"}
add_field => { "[service]" => "%{SERVICE}"}
}
我似乎无法访问beat.hostname,hostname,host或类似内容来添加我想要的字段。目前主机名是:BOS-LAP-MYNAME1
哪个应匹配:
INSTALLATION [^-]{1,3}
DOMAIN (BOS|LAP)
SERVICE (MYNAME1|TEST|12345)
另请注意:我已经尝试过#34;主持人" "主机名"尽管这些字段在Kibana中可用,但其他字段名称也无济于事。
答案 0 :(得分:2)
由于hostname
嵌套在beat
下,您需要与[beat][hostname]
而非beat.hostname
匹配。要将这些字段添加到文档中,请在匹配参数中使用%{PATTERN:fieldname}
形式。
filter {
grok {
patterns_dir => ["/config/patterns"]
match => {
"[beat][hostname]" => "%{INSTALLATION:installation}-%{DOMAIN:domain}-%{SERVICE:service}"
}
}
}