SORACOM Lagoon の Free プランで Harvest のデータをグラフ表示

 前回の記事では if-up2019 で発表された Unified Endpoint のことを書きましたが、他にもいくつか発表があり、そのうちの一つとして SORACOM Lagoon に Freeプランと Proプランが追加されたという発表がありました。

blog.soracom.jp

 今までは月額で980円ということで、興味はあったものの試していなかったのですが、 Freeプランでは一人で使ってみる分には無料で使えるので、改めて使ってみました。

SORACOM Lagoon の利用開始設定

 Lagoon を使うには利用設定が必要になります。ユーザコンソールの共通メニューから ダッシュボード作成・共有 をクリックします。

f:id:akanuma-hiroaki:20190223123230p:plain

 Lagoon の利用開始設定の画面が表示されますので、 SORACOM Lagoon の利用を開始する ボタンをクリックします。

f:id:akanuma-hiroaki:20190223123507p:plain

 料金プランの選択ダイアログが表示されますので、 Freeプラン を選択して 続行する をクリックします。

f:id:akanuma-hiroaki:20190223123648p:plain

 Lagoon を利用するためのパスワードを設定します。アカウントには現在ユーザコンソールにログインしているメールアドレスが使われ、そのメールアドレスとここで設定するパスワードで Lagoon を利用できるようになります。パスワードを入力したら 利用開始 をクリックします。

f:id:akanuma-hiroaki:20190223123822p:plain

 すると Lagoon のユーザが追加されますので、 SORACOM Lagoon console にアクセス をクリックします。

f:id:akanuma-hiroaki:20190223124058p:plain

 Lagoon へのログインフォームが表示されますので、先ほど設定した時のメールアドレスとパスワードを入力して Lagoon にログインします。

f:id:akanuma-hiroaki:20190223124208p:plain

Lagoon で Harvest のデータを表示する

 Lagoon では SORACOM Harvest に収集したデータを簡単に表示することができますので試してみます。 Lagoon にログインすると下記のように Home Dashboard が表示されますが、最初は何もありません。ダッシュボードを追加するために、まずは左上の Home をクリックします。

f:id:akanuma-hiroaki:20190223124611p:plain

 Home 画面で 新しいダッシュボード をクリックします。

f:id:akanuma-hiroaki:20190223124807p:plain

 ダッシュボードには様々なパネルを追加することができます。今回はグラフ表示のために Graph を選択します。

f:id:akanuma-hiroaki:20190223124907p:plain

 パネルが追加されたら Panel Title をクリックして表示されるメニューから 編集 をクリックします。

f:id:akanuma-hiroaki:20190223161915p:plain

 Lagoon のデータソースには Harvest 以外にも Grafana が選択できます。 default だと Harvest のデータが使用されますので、今回は default のままにします。

f:id:akanuma-hiroaki:20190223162046p:plain

 今回は Harvest に前回の記事で Unified Endpoint を試した時のサンプルデータが入っていますので、そのうちの一つの項目である humidity が対象として表示されています。今回はもう一つの項目である temperature も表示しますので、 クエリを追加 をクリックして対象データを追加します。

f:id:akanuma-hiroaki:20190223204319p:plain

 追加したデータの方では temperature を選択して、下記のように2つのデータを対象とします。

f:id:akanuma-hiroaki:20190223204538p:plain

 対象データを設定すると、デフォルトでは直近6時間分のデータが表示されるのですが、今回のデータを登録したのは一週間前なので、対象期間を変更してみます。 Last 6 hours と表示されているところをクリックすると、対象期間が選択できますので、今回は 先週の今日 をクリックします。

f:id:akanuma-hiroaki:20190223204714p:plain

 すると一週間前の1日分のデータが表示されます。データは1日のうちの一部だけなので、グラフでデータが表示されている部分をドラッグして選択します。

f:id:akanuma-hiroaki:20190223204837p:plain

 すると選択した部分が拡大して表示されます。対象期間を簡単に選択できるので便利ですね。

f:id:akanuma-hiroaki:20190223205021p:plain

 グラフを見やすくする為に少し設定を変更してみます。 全般 タブを選択してタイトルと説明文を設定します。

f:id:akanuma-hiroaki:20190223164422p:plain

 次に タブで各軸のラベルを設定します。

f:id:akanuma-hiroaki:20190223171913p:plain

 ここまででひとまずの設定ができたので、設定画面からダッシュボードの名前を設定して保存しておきます。

f:id:akanuma-hiroaki:20190223172845p:plain

ダッシュボードの共有(Makerプラン以上)

 ちなみに Lagoon では他の Lagoon ユーザにダッシュボードを共有することができます。画面上部の 共有 ボタンをクリックします。

f:id:akanuma-hiroaki:20190223173426p:plain

 共有用のリンクが表示されますので、このリンクを他のユーザに共有することでダッシュボードにアクセスしてもらうことができます。

f:id:akanuma-hiroaki:20190223173827p:plain

 ただし、その為には Lagoon のユーザを追加する必要がありますが、 Freeプランでは登録できるユーザ数は一人(自分)だけなので、ユーザを追加しようとしても下記のようにエラーが表示されて追加できません。複数ユーザで使用する場合には Maker 以上のプランにする必要があります。

f:id:akanuma-hiroaki:20190223174110p:plain

アラートを追加する

 Lagoon ではデータの内容によってアラートを出すことが可能です。まずはアラートの通知方法を設定するために、チャンネルを作成します。左のメニューから 通知チャンネル を選択します。

f:id:akanuma-hiroaki:20190223194956p:plain

 チャンネルリストの画面が表示されますが、最初はまだチャンネルがないので、表示されている チャンネルを追加 ボタンをクリックします。

f:id:akanuma-hiroaki:20190223195138p:plain

 チャンネルの設定フォームが表示されます。通知方法としては slack や webhook など様々なものが選択可能です。今回は Email を選択します。対象のメールアドレスはセミコロンで区切って複数指定することが可能です。 送信テスト をクリックするとテストメールが送信されます。正しく設定できたら 保存 をクリックします。

f:id:akanuma-hiroaki:20190223195323p:plain

 作成されたチャンネルはリスト画面に表示されます。

f:id:akanuma-hiroaki:20190223195456p:plain

 次にダッシュボードの編集画面の アラート タブから アラートを作成 ボタンをクリックします。

f:id:akanuma-hiroaki:20190223195649p:plain

 アラートの設定画面からアラートの条件を設定します。 query では対象のデータ項目と対象の時間を設定できます。今回は温度を対象にするので、 B を対象として、5分間のデータを対象にします。条件としては平均値、最小値など様々な方法が指定できます。今回は最大値( max() )を使用して、5分間の最大値が23を超えた場合にアラートを出します。

f:id:akanuma-hiroaki:20190223200136p:plain

 通知の送り先としては先ほど作成したチャンネルを指定します。メールの文面は自由に設定できます。

f:id:akanuma-hiroaki:20190223200334p:plain

 指定した閾値を超えると下記のようなメールが送られてきます。

f:id:akanuma-hiroaki:20190223200416p:plain

まとめ

 センサー等で集めたデータを可視化するのは自分でやると結構な手間がかかる部分ですが、 Lagoon を使うことで Harvest に入っているデータであれば画面から設定するだけで簡単に可視化することができました。今回 Freeプランができたことで、開発者が自分で使うぐらいであれば無料で使うことができるので、デバイスで取得したデータは json で Unified Endpoint を経由して Harvest に投げ込んでおいて Lagoon で可視化するという、サーバサイドの一連の処理を無料で簡単に用意することができるようになりました。ますますプロトタイピングのハードルが下がりましたね。