我通过http套接字将collectd统计信息推送到流畅的实例。后者抱怨来自collectd的时间格式是浮点数而不是整数。以下是collectd的示例输出:
[{...,"time":1473707444.605,"interval":1.000,...]
如您所见,我正在以JSON
格式输出。
我无法用流利的方式修改此字段,因为它立即失败了消息*。所以我必须在collectd中指定不同的时间格式。如果可能的话,我喜欢iso-8601。
任何人都知道该怎么做?我已经搜索了我能找到的所有文档,但到目前为止没有任何内容:(我无法相信这是不可预测的。
*编辑:我不认为Fluentd不允许时间格式化。确实如此。但是,我原来的问题仍然存在,因为我认为时间格式化输出应该是可能的,不是吗?
答案 0 :(得分:0)
Collectd不允许更改发送的时间输出的格式。
答案 1 :(得分:0)
因此,当我尝试在后端数据库(influxdb)中存储“时间”值时遇到了这个问题。尽管收集后不允许更改格式,但也许另一种方法是在发送之前进行转换?
例如,我使用ruby将收集的时间解析为DateTime格式,然后再将其推送到数据库中
require 'date'
DateTime.strptime(collectdJsonStats.time.to_s,'%s')
其中'collectdJsonStats'是您要发送的json blob。