182 Views
March 31, 18
スライド概要
2017-08-23 #SecHack365 博多回
秋葉原生まれ大手町育ちの歌って踊れる江戸っ子インフラエンジニア。 0と1が紡ぐ「ゆるやかなつながり」に魅せられ早20年、 SNSとCGMの力で世界を幸福にするのがライフワーク。 市民、幸福は義務です。 あなたは幸福ですか?
SORACOMでデータ上げて クラウドで分析・可視化する ハンズオン 仲山 昌宏 ( @nekoruri )
1. Azureへのログイン • https://portal.azure.com • 渡されたユーザでログイン 2
2. Event Hubsの作成 (1) 名前空間の作成 • 左の+ボタン • 「モノのインターネット」の「EventHubs」のcreate • 「名前空間の作成」 • 名前:sechack01 ~ 07 • リソースグループ:sechack01 ~ 07 • 場所:東日本 • 右上の🔔通知欄で、終わるのを待つ 3
2. Event Hubsの作成 (2) イベントハブの作成 • 🔔の「デプロイメントが成功しました」をクリック • EventHubs名前空間の概要ページが開く • 「+イベントハブ」をクリック • 名前:input • 「作成」 • 終わるのを待つ 4
2. Event Hubsの作成 (3)送信用キーの作成 • 「概要」からinputを選ぶ • 左の共有アクセスポリシーをクリック • ポリシー名:Send • Claim:送信のみ • 作成 • 完了を待って、できた「Send」をクリック • SORACOMから送信するときに使います • 仲山に言ってくれればSORACOM側に登録します 5
2. Event Hubsの作成 (4)受信用キーの作成 • 左の共有アクセスポリシーをクリック • ポリシー名:Receive • Claim:全部チェックを入れる • 作成 • 完了を待って、できた「Receive」をクリック • 「主キー」の内容をメモを取る 6
3. Stream Analytics (1)作成 • 左の+をクリック • IoTからStream Analytics job • ジョブ名:analytics01 ~ 07 • リソースグループ:さっき指定したグループ名 • 完成待ち • 🔔から、作成したAnalytics jobに移動 7
3. Stream Analytics (2)イベントハブを入力に設定 • 左の「入力」を開いて上の「追加」 • エイリアス:input • ソースタイプ:データストリーム • ソース:イベントハブ • インポートオプション:手動で行う • 名前空間: sechack01 ~ 07 • 名前:input • ポリシー名:Receive • ポリシーキー:さっきメモしたキー 8
3. Stream Analytics (3)PowerBIを出力先に設定 • 左の「出力」を開いて上の「追加」 • エイリアス:output • シンク:Power BI • 先に、下の「サインアップ」をクリックして指示に従い有効化 • 終わったら「承認する」 • データセット名:sechack • テーブル名:sechack • 作成 9
3. Stream Analytics (4)JSON変換のクエリを書く • 「クエリ」 • 以下を入力して「保存」 SELECT input.payloads.pref AS pref, System.Timestamp AS WindowEnd, COUNT(*) AS Count FROM [input] TIMESTAMP BY DATEADD(millisecond, timestamp, '1970-01-01T00:00:00Z') GROUP BY TUMBLINGWINDOW(minute, 1), input.payloads.pref 10
3. Stream Analytics (5)処理開始 • 概要に戻って、上の「開始」 • 設定が開くので、そのまま開始 • しばらくまって、PowerBIを開く • https://app.powerbi.com/ 11
4. PowerBIでリアルタイムグラフ • PowerBIを開く • https://app.powerbi.com/ • 「マイワークスペース」の「データセット」 • sechackのグラフボタンをクリック • グラフ作成 • 視覚化から適当な線グラフとかを選ぶ • 軸にwindowendを、凡例にprefを、値にcountをドラッグ • すごーい! 12
ポイント • 認証情報をデバイスに持たせない • 認証の責務をクラウド(SORACOM)側にオフロード • 自分で可能な限りコードを書かない • SQLなどDSL(ドメイン固有言語)で実現する部分を増やす • 分析など厄介な部分はクラウドに任せる • 可視化とか面倒な部分はだいたいクラウドが提供している 13
発展 • 自分だったらどんなことに使うかイメージしよう 1. RasPi側にログインして送信プログラムを書いてみる 2. SQLをいじってみる 3. グラフをいじってみる 4. Azure MLとか使ってみる 14