系统日志文件的 Filebeat 中的错误时间戳
bad Timestamp in Filebeat for syslog file
我已经在客户端配置了带有 filebeat 的 ELK 服务器。配置似乎没问题,但是当我用 kibana 搜索我的日志时,每个系统日志条目都在 2000 年被引用,如下所示:
{
"_index": "filebeat-2000.02.09",
"_type": "syslog",
"_id": "AVLGZIPtL5gIGucGObzD",
"_score": null,
"_source": {
"message": "Feb 9 15:54:01 dev postfix/qmgr[1164]: 7DF9D1803D0: removed",
"@version": "1",
"@timestamp": "2000-02-09T14:54:01.000Z",
"beat": {
"hostname": "dev",
"name": "dev"
},
"count": 1,
"fields": null,
"input_type": "log",
"offset": 156454,
"source": "/var/log/syslog",
"type": "syslog",
.....
当我查看我的 /var/log/syslog 文件时,我有这样一行:
Feb 9 16:36:01 dev postfix/qmgr[1164]: 51F48180484: from=<root@dev>, size=1838, nrcpt=1 (queue active)
Feb 9 16:36:01 dev postfix/local[2884]: 51F48180484: to=<root@dev>, orig_to=<root>, relay=local, delay=0.07, delays=0.05/0/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox)
行首没有年份。
我的问题是,如何添加年份或更改时间戳?
我使用 Debian 8.2
谢谢
您可以将 syslog
设置 $ActionFileDefaultTemplate
从默认值 RSYSLOG_TraditionalFileFormat
更改为 RSYSLOG_FileFormat
,后者具有 TIMESTAMP_ISO8601
格式的时间戳。
编辑 /etc/rsyslog.conf
文件。
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$ActionFileDefaultTemplate RSYSLOG_FileFormat
然后重新启动 rsyslogd
守护程序。
systemctl restart rsyslog
因此日志格式将类似于:
2016-02-07T03:47:14.300009+01:00 foo rhsmd: This system is registered to RHN Classic.
我已经在客户端配置了带有 filebeat 的 ELK 服务器。配置似乎没问题,但是当我用 kibana 搜索我的日志时,每个系统日志条目都在 2000 年被引用,如下所示:
{
"_index": "filebeat-2000.02.09",
"_type": "syslog",
"_id": "AVLGZIPtL5gIGucGObzD",
"_score": null,
"_source": {
"message": "Feb 9 15:54:01 dev postfix/qmgr[1164]: 7DF9D1803D0: removed",
"@version": "1",
"@timestamp": "2000-02-09T14:54:01.000Z",
"beat": {
"hostname": "dev",
"name": "dev"
},
"count": 1,
"fields": null,
"input_type": "log",
"offset": 156454,
"source": "/var/log/syslog",
"type": "syslog",
.....
当我查看我的 /var/log/syslog 文件时,我有这样一行:
Feb 9 16:36:01 dev postfix/qmgr[1164]: 51F48180484: from=<root@dev>, size=1838, nrcpt=1 (queue active)
Feb 9 16:36:01 dev postfix/local[2884]: 51F48180484: to=<root@dev>, orig_to=<root>, relay=local, delay=0.07, delays=0.05/0/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox)
行首没有年份。
我的问题是,如何添加年份或更改时间戳? 我使用 Debian 8.2 谢谢
您可以将 syslog
设置 $ActionFileDefaultTemplate
从默认值 RSYSLOG_TraditionalFileFormat
更改为 RSYSLOG_FileFormat
,后者具有 TIMESTAMP_ISO8601
格式的时间戳。
编辑 /etc/rsyslog.conf
文件。
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$ActionFileDefaultTemplate RSYSLOG_FileFormat
然后重新启动 rsyslogd
守护程序。
systemctl restart rsyslog
因此日志格式将类似于:
2016-02-07T03:47:14.300009+01:00 foo rhsmd: This system is registered to RHN Classic.