logging - Logstash Grok 过滤器访问日志
问题描述
有人可以帮我使用 grok 过滤器吗?
我要解析的访问日志是这样的:
10.00.000.00 - - [08/Feb/2019:09:06:54 -0500] "GET /aft_ms_management_1/ms_manage HTTP/1.1" 404 1164
我正在尝试的 Grok 模式是:
grok { match => [ "message", "%{IP:client_ip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:apache_timestamp}\] \"%{WORD:method} /%{NOTSPACE:request_page} HTTP/%{NUMBER:http_version}\" %{NUMBER:server_response} %{NUMBER:bytes}"] }
当我测试 grok 过滤器时,出现以下错误:
:error=>" 带有不匹配括号的结束模式:
但是我在任何地方都看不到任何括号...感谢您的帮助
作为附加信息,我使用以下方法测试我的模式:
input { stdin { } } output { stdout { codec => rubydebug } }
filter {
grok {
match => [ "message", "%{IP:client_ip} %{USER:ident} %{USER:auth} [%{HTTPDATE:apache_timestamp}] \"%{WORD:method} %{NOTSPACE:request_page} HTTP/%{NUMBER:http_version} %{NUMBER:server_response} %{NUMBER:bytes}"
]
} }
解决方案
input { stdin {} }
filter {
grok {
match => { "message" => "%{IP:client_ip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:apache_timestamp}\] \"%{WORD:method} /%{NOTSPACE:request_page} HTTP/%{NUMBER:http_version}\" %{NUMBER:server_response} %{NUMBER:bytes}" }
}
}
output { stdout { codec => rubydebug } }
~
每次去!我发现了如何提供更好的视野。这是我的问题..谢谢
推荐阅读
- string - 从字符串中获取整数月份值
- python - 如何解决python中的ValueError?
- raspberry-pi - 通过 wvdial 发送短信失败(无运营商!重试)
- controller - Strapi beta - 从其他控制器更新其他表
- wpf - 有什么方法可以移植 WPF 应用程序以便它可以在 mac-OS X 上运行?
- java - 为什么 selenium 测试用例在 windows cmd 中运行 testng.xml 时被随机跳过
- xamarin - 如何在后面的代码中为框架设置高度请求?
- c# - 对于某些用户,长时间 ASP.Net 操作超时
- javascript - 错误:0:147:'xFromT':找不到匹配的重载函数
- java - 如果我只在 Spring Boot 中返回 Java 实例数组,则 http 响应正文中有一个空数组