Logstash > 跳过 grokked 匹配项
Logstash > Skip grokked matches
这是 apache 的 logstash 配置 access_log:
input {
file {
path => "/var/log/http.log"
}
}
filter {
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}
我想收集除 %{WORD:method}
之外的所有字段
如何让字段 skipped/ignored 从 beeing 转移到 ElasticSearch?
您可以通过删除出现在 WORD 之后的单词 "method" 来完成此操作。所以你的神交过滤器看起来像:
match => { "message" => "%{IP:client} %{WORD} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
冒号后面的词是变量名,其中存储和传递IP、WORD、NUMBER等类型。
你应该在你的 grok 过滤器上使用 Mutate 块。
这是 apache 的 logstash 配置 access_log:
input {
file {
path => "/var/log/http.log"
}
}
filter {
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}
我想收集除 %{WORD:method}
之外的所有字段如何让字段 skipped/ignored 从 beeing 转移到 ElasticSearch?
您可以通过删除出现在 WORD 之后的单词 "method" 来完成此操作。所以你的神交过滤器看起来像:
match => { "message" => "%{IP:client} %{WORD} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" } }
冒号后面的词是变量名,其中存储和传递IP、WORD、NUMBER等类型。
你应该在你的 grok 过滤器上使用 Mutate 块。