Closed1

Telegrafの落とし穴

harrythecodeharrythecode

Inputsの名前が固定

以下のkafka_consumerは固定値。更にInfluxdbへデータを送信するとkafka_consumerと言うMEASUREMENT(他DBで言うテーブル名のこと)が作られます。

  [[inputs.kafka_consumer]]

上記の名前を変える為には以下の行を追加します。

name_override = "anything"

JSON形式だと数値だけしか表示されないんだけど

仕様です。過去にも別ユーザがIssueを立ててますがはっきりとした回答がなく「コミュニティを覗いてみてね!」と書かれてるだけ。

実は「JSON Parser」にきちんと記載があります。

NOTE: All JSON numbers are converted to float fields. JSON strings and booleans are ignored unless specified in the tag_key or json_string_fields options.

(意訳) 全ての数字は変換されるけど文字やBOOL型は無視されるのでtag_keyjson_string_fieldsを使ってね。

なので地道ですが以下のように表示させたいJSON Key名を列挙していきましょう。

[[inputs.kafka_consumer]]
brokers = ["kafka:9092"]
topics = ["my-topic"]
json_string_fields = ["<表示させたいJSON Key名1>","<表示させたいJSON Key名2>"]
data_format = "json"

参考

https://archive.docs.influxdata.com/telegraf/v1.7/concepts/data_formats_input/

https://github.com/influxdata/telegraf/tree/master/plugins/parsers/json

このスクラップは2023/02/09にクローズされました