【发布时间】:2018-07-13 06:21:02
【问题描述】:
我通过TCP 发送到Logstash json。我想将字段"timestamp" 添加到JSON,日期尽可能长
body.put("timestamp", new Date().getTime());
在logstash 中,我将此字段视为Number。
我如何将我的timestamp 映射到logstash @timestamp 或手动设置@timestamp。我无法更改 Logstash 配置。
数据输入示例:
{
"@message":{
"path":"*****$1:101",
"text":"TEST ERROR 0"
},
"@timestamp":"2018-07-14T22:54:27.579+0300",
"level":"ERROR",
"@tags":["test","java",],
"type":"logs"
}
kibana 中的数据输出 JSON:
{
"_index": "logs-2018.07.14",
"_type": "doc",
"_id": "STdjmmQB0QygPx38jLkS",
"_version": 1,
"_score": null,
"_source": {
"@version": "1",
"@timestamp": "2018-07-14T20:02:30.091Z",
"@message": {
"path": "path",
"requestId": "423-423",
"text": "test"
},
"level": "INFO",
"@tags": [
"test",
"java"
],
"host": "*.*.*.*",
"type": "logs",
"port": 56549
},
"fields": {
"@timestamp": [
"2018-07-14T20:02:30.091Z"
]
},
"sort": [
1531598550091
]
}
附:我需要我自己的timestamp,因为我在线程池中发送消息,我可能会失去排序。
【问题讨论】:
-
I can't change Logstash configuration是什么意思? -
你的问题不清楚,为了清楚起见,你能否引用一些例子来说明你的输入是什么,期望的输出是什么?
-
关于“我无法更改 Logstash 配置” - 我无法访问 elk 服务器