2017年1月27日金曜日

remot3.it を使ってみたのでメモ

概要

remot3.itWeaved が提供するサービスで RapsberryPi などのシングルボードコンピュータを管理、運用するためのサービスです
昔作成した Weaved アカウントで remot3.it が使えたので使い方を簡単に紹介します

環境

  • RaspberryPi 8.0 (Jessie kernel 4.1.7+ #817)
  • weavedconnectd 1.3-06k

最新の weavedconnectd パッケージのインストール

remot3.it を使うためにインストールします
apt でインストールできないので deb ファイルをダウンロードしてインストールします

remot3.it へのデバイス登録

インストールした weavedconnectd を使って CUI から RaspberryPi を remot3.it に登録します

  • sudo weavedinstaller

を実行すると対話形式でデバイスを登録することになります
簡単に流れとポイントを紹介します

  1. 1) Sign in to your existing Weaved account を選択
    • Weaved に登録したユーザ名とパスワードを使ってログイン
  2. 1) Attach/reinstall Weaved to a Service を選択
  3. 1) Remot3.it (Fleet management) を選択 (これが表示されない場合は最新の weavedconnectd がインストールされていません)
    • remot3.it に登録するデバイス名を設定します

という流れになります
Registering Service Attachment yoshiP....... というログが表示されてエラーが出なければ登録完了です

===========  Installed Weaved Services  =================
Protocol        Port    Service         Weaved Name
=========================================================
SSH             22      sshd            yoshiPi
rmt3            ---     ----            yoshiP

こんな感じで一覧に表示されます
自分は SSH Protocol は元々設定していたのですが、削除して再度設定し直しました
そうしないと remot3.it のコンパネから SSH コマンドを発行することができません
おそらく古い weavedconnectd で登録した SSH Protocol だと remot3.it に対応していないためだと想います

https://www.remot3.it/app/ にアクセスしてログインしてデバイスの一覧に以下のように表示されれば OK です
try_remot3it_device_list.png

remot3.it 経由の SSH

では remot3.it 経由で SSH してみましょう
この機能は Weaved にもあった機能です

デバイスを選択するとダイアログが表示されます
その中の SSH にあるデバイスを選択して Confirm をクリックしましょう
try_remot3it_check_ssh_command.png

すると remot3.it 経由で SSH できるコマンドを発行してくれます

スクリプトの実行

これが Weaved にはなくて remot3.it に追加された新たな機能の 1 つです
簡単にいうと remot3.it にアップロードしたシェルスクリプトを remot3.it に追加されたデバイスすべてに対して一斉に実行することができます

今回は以下のシェルスクリプト使います
https://github.com/weaved/misc_bins_and_scripts/blob/master/remot3.it_scripts/pi_demo_script_remot3it.sh
remot3.it が公式で出しているサンプルになります

まずスクリプトをアップロードします

左メニュー Storage -> Upload

でダイアログが表示されるのでシェルスクリプトファイルを選択します
「Executable script or program」を選択し Upload をクリックしましょう
アップロードしたスクリプトは Storage -> Scripts で確認できます

実行してみましょう
デバイスの一覧でスクリプトを実行したいデバイスのチェックボックスを選択します
Actions で「Execute Script」を選択しましょう
するとダイアログが表示されアップロードしたスクリプトがあるので、選択して Confirm をクリックします
try_remot3it_exec_script.png

これでスクリプトが実行されます
デバイス一覧に 0/1 Updating というログが表示されこれが Completed になれば実行完了です

今回の場合はデバイスリストのカラムにある statusA からE までの値を更新するシェルスクリプトになっています
なので、ここの値が更新されれば問題なく実行できたことになります
もう少し詳しく話すとアップロードした pi_demo_script_remot3it.sh -> /usr/bin/task_notify.sh -> remot3.it の API をコール という流れになってしました

ちなみに /usr/bin/task_notify.sh は weavedconnectd をインストールした際に一緒にインストールされます

最後に

紹介は以上です
今回は 1 台で試しましたがこれが 100 台とかになるとかなり便利なツールになると思います

ちょっと気になったのはスクリプトのデバッグとかはどうやってやるのかなと思いました
スクリプトの実行ログを確認する箇所もなかったのでスクリプトにログを吐くように仕込むのか、毎回 SSH ログインして期待した結果になっているのか確認する必要があるのかなと思いました

参考サイト

0 件のコメント:

コメントを投稿