如何为 Splunk 日志手动设置时间戳?

How to manually set timestamp for Splunk logs?

我有一个充满日志的数据库 table,我想通过执行查询以获取日志数组,然后迭代它并 运行 将其上传到 Splunk console.log() 在每个日志上。这几乎可以正常工作,但是 Splunk 为每个日志选择的时间戳是基于我 运行 上传脚本的任何时间。

有什么方法可以转换我的日志对象,以便 Splunk 使用我提供的时间戳?例如,我的一个日志可能如下所示:

{
  id: 2910432221,
  log_timestamp: 2019-08-07T19:04:03.000Z,
  userId: 2331,
  actionId: 45
}

理想情况下,我可以 运行 这样的事情,并且 splunk_timestamp 的值出现在 Splunk 仪表板的 Time 列中。

console.log({
 id: 2910432221,
 splunk_timestamp: 2019-08-07T19:04:03.000Z,
 userId: 2331,
 actionId: 45
})

有可能吗?

Splunk 将尝试通过选择遇到匹配 TIME_FORMAT 的第一个字段来自动识别 _time 值。您可以在 props.conf.

中覆盖它

我认为您的问题出在 json 对象中:您传递给 console.log 的内容 不是 有效的 json 对象。字段名称和值应正确引用。

{
 "id": 2910432221,
 "splunk_timestamp": "2019-08-07T19:04:03.000Z",
 "userId": 2331,
 "actionId": 45
}