bash - 将日期时间转换为 kibana 的兼容格式

bash - convert date time into compatible format for kibana

我正在使用 elasticsearch REST API 添加一些要在 kibana 仪表板中使用的数据。 我有这种格式的时间戳 2015-08-04 10:13:14。这种格式似乎与 kibana 不兼容。

是否有任何方法可以将其转换为类似 logstash 时间戳 (2015-08-04T10:13:14.000Z) 或任何其他解决方案来让 kibana 处理此问题?

用 bash 替换为 T 一个空格并追加 .000Z:

a="2015-08-04 10:13:14"
b="${a/ /T}.000Z"
echo "$b"

输出:

2015-08-04T10:13:14.000Z

您可以使用以下方法获得精确的毫秒数:

timestamp=`date +"%Y-%m-%dT%T.%3N"`

Linux command to get time in milliseconds 所示:

  • date +"%T.%N" returns the current time with nanoseconds.

  • date +"%T.%6N" returns the current time with nanoseconds rounded to the first 6 digits, which is microseconds.

  • date +"%T.%3N" returns the current time with nanoseconds rounded to the first 3 digits, which is milliseconds.