Filebeat中用于syslog文件的错误时间戳

时间:2016-02-09 15:41:49

标签: linux timestamp syslog filebeat

我在客户端上使用filebeat配置了ELK服务器。配置似乎没问题但是当我用kibana搜索我的日志时,每个syslog条目都会在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 感谢

1 个答案:

答案 0 :(得分:1)

您可以将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.