Raspberry Pi の温度センサーデータを fluentd で Treasure Data に集める
3666 ワード
温度データがとれたので fluentd で Treasure Data に入れてみたときのメモ。
fluent-plugin-td インストール
以前インストールした fluentd は gem 版なので、Treasure Data のプラグインをインストールする。
Console
$ sudo fluent-gem install fluent-plugin-td
Treasure Data の API キーを確認する
アカウント作成
ここからサインアップしてアカウントを作成する。
API キー確認
Treasure Data のコンソールで My profile
にいってパスワードを入れて API キーを確認する。
fluentd 設定
以前 Raspberry Pi につけた温度センサー(DS18B20)は 1 エントリ 2 行出力される。
今回は in-exec
でやってみた。
/etc/fluent/fluentd.conf
<source>
type exec
command tail -1 /sys/bus/w1/devices/28-00000xxxxxxx/w1_slave | awk '{print substr($10,3)}'
tag td.myapp.temp
format tsv
keys temp
run_interval 10s
</source>
<match td.*.*>
type tdlog
apikey YOUR_API_KEY
auto_create_table
buffer_type file
buffer_path /var/log/td-agent/buffer/td
flush_interval 1m
use_ssl true
</match>
- in-exec で
{"temp":"24500"}
といったデータを取り込む。 - 温度計測タイミングは
run_interval
で、Treasure Data への送信はflush_interval
でコントロールする。 -
auto_create_table
によりタグ名から Treasure Data 上にデータベースとテーブルを自動的に作成してくれる。上記の場合、データベースはmyapp
、テーブルはtemp
となる。
反映には fluentd を再起動する。
buffer 出力先のディレクトリを作成する。また、オーナを fluentd 実行ユーザにする。
Pi
$ sudo mkdir /var/log/td-agent/buffer
$ sudo chown -R fluentd:fluentd /var/log/td-agent
動作確認
しばらくすると(flush_interval
の設定時間) Treasure Data コンソールの Databases にデータベースが追加されている。
テーブルの中にデータが書き込まれていればOK。
参考
Author And Source
この問題について(Raspberry Pi の温度センサーデータを fluentd で Treasure Data に集める), 我々は、より多くの情報をここで見つけました https://qiita.com/daicham/items/0daa0efa8479e9502baa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .