我正在处理一些Dell Equallogic DAS并将日志集中在我的ELK堆栈上。问题是Equallogic日志是" syslog"但似乎他们没有遵循标准。
这里有一些消息字段的例子:
<134>1130040:274:netmgtd: 9-Sep-2016 09:44:24.600275:rca_ocp.c:2137:AUDIT:myUser:25.7.14:GUI: Account USER logged in from XXX.XXX.XXX.XXX to XXX.XXX.XXX.XXX, using local authentication. User privilege is group-admin.
<134>1130040:274:netmgtd: 8-Sep-2016 09:44:24.600275:rca_ocp.c:2137:AUDIT:myUser:25.7.14:GUI: Account USER logged in from XXX.XXX.XXX.XXX to XXX.XXX.XXX.XXX, using local authentication. User privilege is group-admin.
<12>1127894:1029550:MgmtExec: 8-Sep-2016 00:00:00.026477:DefaultSnapshotSchedule.cc:902:WARNING::8.3.65:Free space is below threshold of 15 percent for pool default. Default Snapshot Schedule will run with max-keep set to 1.
有没有人为此提供解析器或知道解析它的最佳方法?
或者,rca_ocp.c:2137
的含义是什么?对我来说听起来像是对类和行的引用。
到目前为止,这是我对此的表达:
%{SYSLOG5424PRI:syslog_pri}%{SYSLOGPROG:syslog_program}%{SPACE}%{EQLDATE:timestamp}:%{JAVAFILE:unknownInfo}:%{INT:unknownInt}:%{WORD:severity}:%{GREEDYDATA:message}
EQLDATE %{MONTHDAY}-%{MONTH}-%{YEAR}%{SPACE}%{TIME}
我选择JAVAFILE
只是一个随机字符串,我知道它不是。
非常欢迎任何帮助或建议!
答案 0 :(得分:0)
戴尔在其官方文档中将其定义为Member on which the event occurred
这些只是c文件,例如,在以下事件中logevent.c
负责该事件,
351:0:logevent:24-Oct-2013 08:36:25.470001:logevent.c:242:WARNING:25.3.0:User has initiated a clean halt restart.
您使用JAVAFILE
似乎很好。这是grok的美妙之处,并非所有内容都必须具有预定义的模式,您可以使用正则表达式创建自定义模式并将其添加到预定义模式中。