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.
我正在使用 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.