我正在查看logstash的时间戳数据,它似乎关闭了4个小时。同样,在摄入过程中,我有一个日期时间: yyyyMMdd HH:mm
这是美国东部时间(纽约)当地的,但在同一个4小时内被视为关闭。
我不确定logstash是如何确定当前时间的,但我想它可能是特定于主机的?当我看着我的机器 date
返回星期一10月19日17:32:25 utc 2020这是一个4小时的差异,从我目前(13:32),但机器是准确的。
我想的是,在这个logstash机器上,对@timestaamp对象有一种误解。我最近的日志存储摄取对象显示:2020年10月19日@09:33:00.000,这是4小时不同。
我假设时间戳是在logstash中设置的,而不是在elastic中设置的,但我可以看到,不知何故,可能存在某种误解。
我目前正在使用最新的docker容器,它们都是7.9.2。摄取的数据时间戳是不正确的,同样,我注意到一些摄取的数据我们正在以上述格式摄取,但没有设置的日期时间来调整。
我期望的最终目标是:修正这个离散性,然后索引所报告的时间戳上的数据,而不是curl请求的时间。
接收的数据:
// http://realtime.portauthority.org/bustime/api/v3/getvehicles?key=hC5Di7VSYU3hjmw2gAqHtKdec&rt=65,67,69,7,71,71A,71B,71C,71D,74&format=json
{
"bustime-response": {
"vehicle": [
{
"vid": "6141",
"rtpidatafeed": "Port Authority Bus",
"tmstmp": "20201019 11:53",
"lat": "40.45320129394531",
"lon": "-79.7513656616211",
"hdg": "176",
"pid": 7788,
"rt": "67",
"des": "Downtown",
"pdist": 0,
"dly": false,
"spd": 0,
"tatripid": "9333",
"origtatripno": "11348066",
"tablockid": "067 -066",
"zone": "",
"mode": 0,
"psgld": "HALF_EMPTY"
}
],
"error": [
{
"rt": "65",
"msg": "No data found for parameter"
},
{
"rt": "7",
"msg": "No data found for parameter"
}
]
}
}
来自kibana的json条目:
{
"_index": "transit-pittsburgh-2020.10.19",
"_type": "_doc",
"_id": "y60WQnUBgX7z6iMwvAaJ",
"_version": 1,
"_score": null,
"_source": {
"@timestamp": "2020-10-19T14:19:00.000Z",
"bustime-response": {
"error": [
{
"msg": "No data found for parameter",
"rt": "65"
},
{
"msg": "No data found for parameter",
"rt": "7"
},
{
"msg": "No data found for parameter",
"rt": "71"
}
],
"vehicle": {
"rtpidatafeed": "Port Authority Bus",
"pdist": 72453,
"tablockid": "067 -066",
"hdg": "66",
"vid": "6141",
"lat": "40.433110918317524",
"rt": "67",
"dly": false,
"origtatripno": "11348056",
"bk_tmstmp": "20201019 14:19",
"tatripid": "9249",
"mode": 0,
"tmstmp": "20201019T14:19",
"pid": 7294,
"psgld": "FULL",
"lon": "-79.7984379359654",
"spd": 20,
"zone": "",
"geo_location": "40.433110918317524,-79.7984379359654",
"des": "CCAC Boyce"
}
},
"@version": "1"
},
"fields": {
"@timestamp": [
"2020-10-19T14:19:00.000Z"
],
"bustime-response.vehicle.tmstmp": [
"2020-10-19T14:19:00.000Z"
]
},
"sort": [
1603117140000
]
}
我注意到的一件事是,bustime-response.vehcile.tmstmp的日期会话将iso日期创建为utc,而接收的日期是一个简单的本地日期 yyyyMMdd HH:mm
我需要转换成东部时区的格式。
1条答案
按热度按时间4c8rllxm1#
如果我理解正确的话,你正在使用
date
与字段一起过滤tmstpm
创建@timestamp
领域。格式
yyyyMMdd HH:mm
的tmstpm
字段中没有任何有关与utc的偏移量的信息,因此如果您使用date
使用此字段筛选而不指定此时间有偏移量,它将被视为utc时间。以你为例,
20201019 11:53
```date {
match => ["tmstmp", "yyyyMMdd HH:mm"]
}
date {
match => ["tmstmp", "yyyyMMdd HH:mm"]
timezone => "America/New_York"
}