【发布时间】:2021-03-13 02:16:03
【问题描述】:
172.11.11.11 - - [01/Dec/2020:05:49:54 +0000] "GET / HTTP/1.1" 200 1875 "-" "ELB-HealthChecker/2.0" "-"
我在应用服务器 aws 实例中使用 filebeat,在其他实例中使用 elk。
我在消息级别收到这样的日志,我想排除这些行。如何实现这一点?
【问题讨论】:
-
您是否有要排除的日志的模式?例如,它是否总是包含一个特定的文本,如
"ELB-HealthChecker/2.0? -
172.11.11.11 - - [01/Dec/2020:05:49:54 +0000] "GET / HTTP/1.1" 200 1875 "-" "ELB-HealthChecker/2.0" "-" -感谢您的回复,这是我的日志,我没有模式,是否可以排除这些?
-
以一种简单的方式,您可以执行
exclude_lines: ['ELB-HealthChecker']之类的操作,它会排除包含文本ELB-HealthChecker的所有行。如果需要,您也可以使用更复杂的基于正则表达式的模式。要在filebeat.yml中使用它,请参考elastic.co/guide/en/beats/filebeat/current/…。 -
我有两个应用程序作为 docker 容器运行,对于一个应用程序,我配置了如下的 logstash 管道。输入 { beats { port => 5044 } tcp { port => 5000 } } filter { json { source => "message" remove_field => "message" } if [level] == 10 { mutate { add_field => { "log -level" => "trace" } } } if [level] == 20 { mutate { add_field => { "log-level" => "debug" } } } 对于其他应用程序,我得到这样的日志,信息: ::ffff:172.11.11.11 - GET / 123 - 1.232 ms 我的要求是如果消息中的信息必须在日志级别添加“信息”。如何做到这一点?