構築事例:GridDBとGrafanaを利用したIoTデータ収集システム
電子機器の開発を行うお客様から、電源管理システムについてのデータ管理をしたいというご要望がありました。そこでデージーネットではスケールアウト型NoSQLデータベースで、IoTアプリケーションで生成される膨大な量のデータを把握・分析するために、効率よく処理するGridDBとダッシュボードツールのGrafanaを提案しました。
- お客様が悩まれていた課題
- 電源管理システムから送られてくるデータを収集・分析できていない
- システムから送られるデータのプロトコルやフォーマットが決まっていない
- できればデータの可視化も行いたい
- +導入企業プロフィール
- ★
導入企業業種
製造
ユーザー規模
-
利用OS
CentOS7
導入月
2020年11月
デージーネットが提案した「GridDBとGrafanaを利用したIoTデータ収集システム」
GridDBとGrafanaを利用したIoTデータ収集システムを導入
データ収集可視化のための基本設計
定義として、確認するデータを決め、必要なものだけ恒久的に保存する動きとしました。まず、受信したデータを一度全てGirdDB内のデータベースの一時領域に配置します。そして一時領域より条件にマッチしたものをGirdDB内の恒久領域に保存し、それをGrafanaで確認するようにしました。構成は下記のような図になっています。
打ち合わせの段階では、データの仕様に未定の項目が複数ありました。そのためデータ仕様の変化に柔軟な対応ができる方法や設定を重視しました。送信されるデータ(JSON形式)のカラム名やカラム数が変更や追加、そして蓄積される毎に、JSONデータの例を使用してお客様と認識合わせを繰り返しました。
データ収集にはGridDBを利用
データベースサーバにはビッグデータやIoTデータに適しているGridDBを提案しました。GridDBは、東芝デジタルソリューションズ株式会社が開発しました。オープンソースソフトウェアであるGridDB Community Edition(GridDB CE)は、2016年から公開されており、AGPL(Affero GeneralPublic License、クライアントはApache License,version 2.0)のライセンスの下で利用することができます。インメモリでのデータ管理による高速処理やスケールアウトによる大容量化と負荷分散ができることを特徴としています。GridDBの商用版では、2つの種類があり、NoSQL型データベース製品のGridDB Standard Edition(GridDB SE)と、GridDB SEにSQLインターフェイスを備えた、NewSQL型データベース製品のGridDB Advanced Edition(GridDB AE)があります。GridDBの商用版では、統合運用管理GUIを利用することができます。統合運用管理GUIでは、リポジトリの管理やクラスタ構成、コンテナの管理および操作がWEB画面上で行うことができます。
また、複数のノードで構成されるクラスタで動作も可能です。クラスタは、構成ノード数の半数以上の台数がダウンするとサービスが停止します。そのため、構成するノードの台数によって、何台まで同時にノード障害が発生してもクラスタのサービスが継続できるかが異なります。可用性が必要なシステムであれば、クラスタを構成するノードの台数は3台以上が推奨されています。
GridDBは、コレクションコンテナとIoTに適した時系列コンテナの2種類のコンテナタイプをサポートしています。GridDBのコレクションコンテナは、一般的なキーとデータを管理するコンテナです。GridDBの時系列コンテナでは、時刻(TIMESTAMP)型のキーを持つデータを効率的に管理することができます。今回は、コレクションコンテナに開発したプログラムで使用する情報やデータを格納し、時系列コンテナには、実際にシステムで取得したデータを入れることで、効率良く大量のデータを管理することができました。
また今後、システムからGridDBに送られてくるデータは1秒間に110個程度と予想され、グループが増えることが予定されていました。そのため、クラスタリングによる冗長性の確保やスケールアウトにも対応可能なためGridDBを採用しました。
データの受け取りはFluentd、データ参照にはGrafanaを利用
GridDBに登録するデータ受取には、多くのプロトコル・データフォーマットに対応しているFluentdを提案しました。データの可視化もご希望でしたのでグラフ表示ソフトウェアGrafanaもインストールしました。Fluentdとは、オープンソースのデータログ収集ツールのソフトウェアです。Fluentdは、システムの大量のログファイルを収集、解析し、ストレージに集約、保存を行うツールとして活用します。Fluentdは、プラグインアーキテクチャを採用しており、用途に応じたプラグインと連携することができます。
Grafanaは、Grafana Labsが開発し、オープンソースとして公開しています。Elasticsearch、InfluxDB、MySQL、PostgreSQL、Zabbixなど30種類以上のデータソースからデータを収集し、ダッシュボードとして表示することができます。ダッシュボードは、Webインタフェースから利用できます。また、表やグラフの作成・配置、操作が簡単に行えます。時系列データの解析を行う時には、特に強みを発揮します。また、Grafanaは、LDAPやActiveDirectoryと連携してユーザ管理を行うことができます。そのため、担当者の業務や役割に合わせたダッシュボードを表示することができます。また、SAMLにも対応していて、IdPと連携したシングルサインオンも可能です。認証したユーザをもとに、ユーザとチームの単位でアクセス制御を行うことができます。
データ保存用プログラムの開発
GridDBには集めたデータを保存する機能がなかったため、別でプログラム開発を行いました。設計では、確認用のデータ領域にデータを移動させるようにしました。開発したデータ保存プログラムでは、通常時は1分毎に間引きされたデータを、異常時は前後合わせて6分間分の間引きされていないデータを保存するようにしました。そうすることで、異常発生時に細かくデータを確認でき、通常時のデータと見比べられるようにしました。
導入後の結果
今までになかった、電源管理システムのデータを収集するシステムが実現でき、今後のシステム構築の基盤となるものができました。また、GridDBを導入したおかげで多量のデータにも対応できるようになりました。Grafanaの機能により確認したいもののみグラフ化して表示させることやデータをcsv形式でエクスポートできるので、作成したcsvファイルから細かいデータの詳細を確認して機器故障時の調査等に役立てられるようになりました。
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |
GridDBとGrafanaを利用したIoTデータ収集システムの関連ページ
- GridDB〜MongoDBに代わる高速なNoSQLデータベース〜
- GridDB調査報告書
- 無料で使えるOSSのBIツール比較6選
- Grafana調査報告書
- Grafana〜ダッシュボードツールでデータを可視化〜
- IoTプラットフォームで使われるOSS「IoTデータ収集プラットフォーム」
IoTプラットフォーム・機械学習基盤の構築の事例一覧
- Elasticsearchを使ったログ解析システム構築事例
- Apache Solrによるメール全文検索システム事例
- Graylogによるセキュリティログ管理サーバ事例
- IoT開発基盤構築でのKubernetes活用事例
- IoTプラットフォーム用HTTPプロキシ構築事例
- GridDBとGrafanaを利用したIoTデータ収集システム事例
- Graylogを利用したログ管理サーバの構築事例
- GraylogとLogstashによるログ収集システム構築事例
- GraylogによるLinux/Windowsに対応したログ収集・検索システム構築事例
- ビジネスチャットシステム構築でのKubernetes活用事例