AWS IoT + CloudWatchでさらっと可視化

こんにちは。技術3課の森です。 東京での生活をしている最中、乗り換える必要のない電車に乗ってたはずなのに、人がいっぱい降りるから一緒に降りてしまい、 目的地をあっさりと通過してしまった経験を本日しました。

AWS IoTとCloudWatchで可視化

以前、nakamuraが書いたブログに似たことをやってみました。 ただやるだけではなく、できるだけManagementConsoleを使わずにやってみたかったので、いくつかプログラミングを交えてやってみました。

実行環境の準備

まずは環境の準備から始めます。以下の3つをインストールしてください。
  • AWS CLI
  • AWS SDK for Python
  • mosquitto (MQTT Broker)
  • jq

実行環境の作成

実行環境の構成

まずは構成です。 今回デバイスは自分のPCを使い、mosquittoでPublishするようにします。

環境作成スクリプト

まずはAWS IoTのPolicyとThingsを作成します。 ここは簡単に作りたかったので、 AWS CLI + Bash を使って作成しています。

データ

PublishするJSONデータを作成します。 単純なものであれば、手で作成する方が早いですが、今回はより多く送ってみようということで、 初心者PythonistがJSONで300項目を用意するプログラムを作成してみました。 ここだけは事前にCloudWatchのPutMetricDataを許可したRoleを作成しておいてください。

データをPublish

ここでやっとPublishします。何度でも実行できるようにシェルスクリプトで実装しました。 実装したシェルスクリプトを実行します。

Publishしたデータを可視化

先ほど実行したシェルスクリプト。結果はCloudWatchのメトリクスから確認することができます。 今回は少し異なるデータも用意し、Publishしたため、下の図のようにデータ出力結果が斜めの線になっています。

まとめ

今回はシェルスクリプトやPythonを使って何度でも簡単に実行できるようにしたことと OSSでも実現はできるものの安価で簡単に可視化できるCloudWatchを使いました。 ただ、これが正解ではなく、適材適所、そのシチュエーションを考えて、 どういったAWSサービスを使って、DataSourceや可視化するツールを選択する必要があります。 「こんな感じでするともっとかっこいい」とかあれば、教えていただけると次のネタにさせてもらいます。

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

COMMENT ON FACEBOOK