fluentd将类型分配给过滤器中的新字段
问题描述:
我正在使用fluentd从一组传感器中推送一些数据。我推送的数据包含一个“时间戳”字段(以毫秒为单位),我需要在其日期组件(年份,月份等)中进行爆炸。当数据被推送时,我使用了一个过滤器来实现这一点,所以通过一些ruby代码,我可以很容易地分解时间戳。fluentd将类型分配给过滤器中的新字段
<filter *>
@type record_transformer
enable_ruby
<record>
year ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%Y")}
monthnumber ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-m")}
monthname ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%B")}
daynumber ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-d")}
dayname ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%A")}
hour ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-k")}
minutes ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-M")}
seconds ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-S")}
</record>
</filter>
我的问题是,在新的领域是在JSON要纳入分配与字符串类型,而对于一些我的严格需要整数(例如,在今年,monthnumber,daynumber等) 。有没有办法告诉fluentd这些字段必须作为整数添加?
我试着用:
year ${Integer(Time.at(Integer(record['timestamp'])/1000.0).strftime("%Y"))}
,但没有奏效。