fluent-bitを利用したログデータのIIJ IOTサービスに蓄積


Fluent Bitは、Treasure Data社が開発したリソースの乏しい組み込み環境でも動作するログ転送プログラムです。

今回は、IIJ IOTサービスを利用して、ラズパイのログデータを蓄積する方法を説明します。
システム構成は、以下の通りです

USBドングルでモバイルアクセスのセットアップ

メーカーのマニュアルを参照して行います
http://www.pixela.co.jp/products/network/pixelamobile/apn/pix_mt100.html
APNの情報など、以下のページを参照して行います
https://manual.iij.jp/iot/doc/14158761.html

fluent-bitのインストール

サーバGPGキーの追加

wget -qO - https://packages.fluentbit.io/fluentbit.key | sudo apt-key add -

OSのバージョンの確認

pi@raspberrypi:~ $ cat /etc/issue
Raspbian GNU/Linux 9 \n \l

ソースリストの更新

sudo su -
Raspbian 9 (Stretch)の場合
echo "deb https://packages.fluentbit.io/raspbian/stretch stretch main" >> /etc/apt/sources.list

Raspbian 8 (Jessie)の場合
echo "deb https://packages.fluentbit.io/raspbian/jessie jessie main" >> /etc/apt/sources.list

aptデータベースの更新

sudo apt-get update

パッケージのインストール

sudo apt-get install td-agent-bit

コンフィグの編集

sudo vim /etc/td-agent-bit/td-agent-bit.conf
[INPUT]
    Name                tail
    Path                /tmp/in_syslog
[OUTPUT]
    Name  http
    Match *
    Host gw.iot.iij.jp
    Port 80
    URI  /v1
    Format json
## TCP方式で送信する場合
[OUTPUT]
    Name  tcp
    Match *
    Host gw.iot.iij.jp
    Port 19921
    Format json

サービスの起動

sudo systemctl start td-agent-bit

IIJ IOTサービスの設定

コンパネで送信デバイスのデータストレージをONに設定します

コンパネでデータ保存設定を行います

ロガーツールでメッセージを送信

sudo logger -u /tmp/in_syslog test_message

結果の確認

IIJ IOTサービス仕様では、10分に一回ファイルに格納されるため、ファイル生成するまで最大10分待ちます

最新のファイルをダウンロードして中身を確認します

[{"date":1583760967.000000,"pri":"13","time":"Mar  9 13:36:07","ident":"pi","message":"test_message"}]

以上、fluent-bitを利用したログデータのIIJ IOTサービスに蓄積の手順でした。