【发布时间】:2015-09-21 18:46:43
【问题描述】:
我正在开发一个 Java 项目来解析我使用 Java Grok 库进行模式识别的日志。我给出的模式如下:
%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\\[%{POSINT:syslog_pid}\\])?: %{GREEDYDATA:syslog_message}
当我尝试解析该行时,
Dec 23 14:30:01 louis CRON[619]: (www-data) CMD (php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log)
它给出以下输出:
syslog_timestamp=Dec 23 14:30:01
syslog_hostname=louis
syslog_program=CRON
syslog_pid=619
syslog_message=(www-data) CMD (php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log)
我想进一步从syslog_message 中提取详细信息,以获取设施和严重性等信息。如何改进 grok 模式以获取这些详细信息?
【问题讨论】: