0
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"))}
했지만 작동하지 않았다.