LoginSignup
5
3

More than 5 years have passed since last update.

センサデータを fluentd 経由で GCP 上の Elasticsearch に送信して可視化

Posted at

1. はじめに

以前の記事 で、RaspberryPi で収集したセンサデータを、 さくらVPS上に構築した Elasticsearch に送信して、Kibana で可視化しました。
今回は勉強を兼ねて、データを Google Cloud Platform ( GCP ) に送信するように構成を変更します。

2. Server side の設定 ( GCP )

Cloud Launcher からソリューションを検索してデプロイ

Elasticsearch と Kibana がセットになっているものを探します。
「ELK Certified by Bitnami」が良さそうだったので、今回はこれを仮想マシンにデプロイすることにします。

image.png

初期設定画面。
マシンのスペックと、ディスクのサイズを下げました。

image.png

デプロイボタンをクリックすると、デプロイが始まります。

Deployment Manager で情報を確認

デプロイが完了したら、Deployment Manager で各種情報を確認します。
Admin URL にアクセスしてユーザ名とパスワードを入力すると、Kibanaが開きます。
image.png

VPCネットワーク > ファイアウォールルール に設定を追加

自宅のIPアドレスから Elasticsearch(9200番ポート) へのアクセスを許可します。
image.png

3 Sensor side の設定 ( Raspberry PI )

前提条件

以前の記事 の状態が前提です。今回はこれに変更を加えます。

プラグインのインストール

  • fluentd から Elasticsearch に直接格納するためのプラグインをインストールします
sudo fluent-gem install fluent-plugin-elasticsearch

fluentd の設定

  • fluentd の設定ファイルを編集して、データの送信先を変更して、fluentd を再起動します
/home/pi/fluent/fluent.conf
<source>
  @type tail
  format json
  path /home/pi/myroom.log
  pos_file /home/pi/myroom.log.pos
  tag log.myroom
</source>

<match log.myroom>
  @type copy
  <store>
    @type elasticsearch
    type_name myroom
    logstash_format true
    logstash_prefix myroom
    reload_connections false
    hosts http://XXX.XXX.XXX.XXX:9200
  </store>
</match>

4. 確認

GCP 上の Elasticsearch にデータが送られていることを確認しました。
image.png

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3