2016-08-29 10 views
0

Итак, у меня есть имя хоста, которое задается filebeat (и я написал регулярное выражение, которое должно его захватить), но следующее не добавляет поля так, как я думаю, что он должен ..Добавить поля в logstash на основе данных 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, имя хоста, хост или что-нибудь подобное, чтобы добавить поля, которые я хочу. В настоящее время имя хоста: BOS-LAP-myname1

Какой должна быть согласована по:

INSTALLATION [^-]{1,3} 
DOMAIN (BOS|LAP) 
SERVICE (MYNAME1|TEST|12345) 

Также обратите внимание: Я попытался «хозяина» «имя хоста» и другие имена полей, как, что ни к чему также, несмотря на то, что эти поля доступны в Кибане.

ответ

2

С hostname гнездо под beat Вам нужно подобрать [beat][hostname], а не beat.hostname. И чтобы добавить эти поля в документ, используйте форму %{PATTERN:fieldname} в параметре соответствия.

filter { 
    grok { 
    patterns_dir => ["/config/patterns"] 
    match => { 
     "[beat][hostname]" => "%{INSTALLATION:installation}-%{DOMAIN:domain}-%{SERVICE:service}" 
    } 
    } 
} 
+0

ВЫ ХОРОШЕЕ СРО, ЯВЛЯЮТСЯ КРАСИВЫМ ЧЕЛОВЕКОМ <3 –

 Смежные вопросы

  • Нет связанных вопросов^_^