问题描述
我正在尝试使用Gray日志创建日志系统, 我有这样的日志
Mon Aug 17 16:53:10 2020
NAS-IP-Address = 172.20.101.1
User-Name = "netconf"
Acct-Status-Type = Start
Acct-Session-Id = "ACCTID20200817112721000fe14d000000001040717"
Acct-Authentic = RADIUS
NAS-Identifier = "NR-DELHI-NRTCC-CR-01"
Framed-IP-Address = 172.20.16.6
NAS-Port-Type = Virtual
Event-Timestamp = "Aug 17 2020 16:57:21 IST"
Tmp-String-9 = "ai:"
Acct-Unique-Session-Id = "23be63c276bbda95385d118ff93ba298"
Timestamp = 1597663390
Mon Aug 17 16:54:15 2020
NAS-IP-Address = 172.20.101.1
User-Name = "netconf"
Acct-Status-Type = Start
Acct-Session-Id = "ACCTID20200817112825000fe14f000000001040719"
Acct-Authentic = RADIUS
NAS-Identifier = "NR-DELHI-NRTCC-CR-01"
Framed-IP-Address = 172.20.16.6
NAS-Port-Type = Virtual
Event-Timestamp = "Aug 17 2020 16:58:25 IST"
Tmp-String-9 = "ai:"
Acct-Unique-Session-Id = "49fcad388a523e7eebea6043529c323e"
Timestamp = 1597663455
实际上,每个块都是一个日志记录,但是问题是Graylog将每一行都视为一个单独的日志,所以我要告诉Graylog将每个块作为一条记录读取。 有没有办法做到这一点,我必须在Gray log中进行一些配置才能实现我的目标。 我有一个主意,但不确定,我正在考虑创建一个bash脚本,该脚本将读取文件并合并属于一个块的行, 但是我不确定该方法是否行得通,所以我想知道是否有任何方法可以通过Graylog本身来实现。 任何建议将不胜感激 最好的问候
解决方法
如果日志文件中的消息以空行开头,则可以使用readmode
模块的imfile
参数:https://www.rsyslog.com/doc/v8-stable/configuration/modules/imfile.html#readmode