Logstash 简明教程
Logstash - Parsing the Logs
Logstash 使用输入插件接收日志,然后使用过滤器插件解析和转换数据。根据输出目标中存在的系统执行日志的解析和转换。Logstash 解析日志数据并仅转发必需的字段。之后,这些字段会转换成目标系统兼容且易于理解的格式。
How to Parse the Logs?
日志解析是通过 GROK (知识图解)模式执行的,你可以在 Github 中找到这些模式:
Logstash 将日志数据与一个指定的 GROK 模版或一个用于解析日志的模版序列(例如常用于 apache 日志的 "%{COMBINEDAPACHELOG}") 进行匹配。
经解析的数据更加结构化,更便于搜索和执行查询。Logstash 在输入日志中搜索指定的 GROK 模版,并从日志中提取匹配的行。你可以使用 GROK 调试器来测试你的 GROK 模版。
GROK 模版的语法为 %{SYNTAX:SEMANTIC}。Logstash GROK 过滤器编写为以下形式:
%{PATTERN:FieldName}
其中,PATTERN 表示 GROK 模版,而字段名称是字段名称,表示输出中的经解析数据。
例如,使用联机 GROK 调试器 https://grokdebugger.com/
Input
日志中的一行示例错误:
[Wed Dec 07 21:54:54.048805 2016] [:error] [pid 1234:tid 3456829102]
[client 192.168.1.1:25007] JSP Notice: Undefined index: abc in
/home/manu/tpworks/tutorialspoint.com/index.jsp on line 11