【公式】HULFT IoT EdgeStreaming ファーストステップガイド_2022年4月1日_第5版発行
EdgeStreaming Runtimeのレベルアップ
既存のEdgeStreaming Runtimeを新しいレベルであるEdgeStreaming Runtimeへレベルアップする手順を説明します。
レベルアップの流れ
IoTゲートウェイなどで実行しているEdgeStreaming Runtimeを新レベルへアップグレードするには、新レベルのEdgeStreaming Studioでスクリプトを再度ビルドし、IoTゲートウェイで実行しているスクリプトを置き換える必要があります。
EdgeStreaming Runtimeはスクリプトの実行エンジンであり、新レベルのEdgeStreaming Studioでスクリプトをビルドすることで、スクリプトの実行エンジンであるRuntimeも新レベルに置き換わります。
レベルアップの主な流れは以下のとおりです。
-
EdgeStreaming Studioを新レベルへアップグレードする
-
旧レベルのEdgeStreaming Studioでビルドしたスクリプトの自動実行設定を解除する
-
旧レベルのEdgeStreaming Studioでビルドしたスクリプトをバックアップする
-
旧レベルのファーストステップガイドの「運用」項に記載した設定例を参考に、新レベルのEdgeStreaming StudioでビルドしたスクリプトをIoTゲートウェイで自動実行する設定を行う
-
起動スクリプトを復元する
-
新レベルのEdgeStreaming Studioでビルドしたスクリプトの自動実行を再度設定する
レベルアップの手順は運用中のIoTゲートウェイのOSによって異なります。
ここでは「運用」で例示した、「systemdが使用可能なLinuxが稼働しているIoTゲートウェイで運用を行っていた場合」を例に取り、スクリプトを置き換える設定を行います。
-
EdgeStreaming Studioのレベルアップ
詳細は「EdgeStreaming Studioのレベルアップ」を参照してください。
-
IoTゲートウェイでスクリプトを自動で実行する設定を行っている場合は、その設定を解除します。
-
自動実行しているスクリプトを停止します。
# systemctl stop es-agent.service
-
EdgeStreaming Runtimeを自動で実行する設定を解除します。
# systemctl disable es-agent.service
-
-
旧レベルのスクリプトのバックアップ
旧レベルのスクリプトのバックアップを取得します。
# cd /opt # cp -r ./edge ~/backup/ # rm -r ./edge/*
-
新レベルのEdgeStreaming StudioでスクリプトをIoTゲートウェイに転送する
新レベルのEdgeStreaming Studioでスクリプトを開き、IoTゲートウェイに転送して自動実行の設定を行います。
-
新レベルのEdgeStreaming Studioで、運用したいスクリプトが入っているプロジェクトを開きます。
-
デザイナのプロジェクトエクスプローラで運用したいスクリプトをダブルクリックし、スクリプトを開きます。
設定例は、「スクリプトをIoTゲートウェイに転送する」を参照してください。
-
-
起動スクリプトの復元
起動スクリプト「run.sh」をバックアップから復元します。
# cd /opt/edge # cp ~/backup/edge/run.sh ./
-
スクリプトの自動実行を再度設定
スクリプトの自動実行を再度設定します。
# systemctl enable es-agent.service
これで、旧レベルで動作していたスクリプトを新レベルのスクリプトに置き変えることができました。
念のため、設定が正しく行えたことを確認します。
「systemctl start <サービス名>」でサービスを起動し、「systemctl status <サービス名>」でサービスの状態と標準出力の内容を確認します。
このときエラーが出力されていなければ、スクリプトが正しくサービス化され、起動を行うことができています。
# systemctl start es-agent.service # systemctl status es-agent.service ● es-agent.service - es-agent Loaded: loaded (/etc/systemd/system/es-agent.service; enabled) Active: active (running) since Tue 2020-02-25 06:00:39 CET; 7s ago Process: 1577 ExecStop=/bin/kill -TERM ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 1661 (es-agent) CGroup: /system.slice/es-agent.service └─1661 /opt/edge/es-agent run -c /opt/edge/es-agent.yaml Feb 25 06:00:39 debian run.sh[1661]: time="2020-02-25T05:00:39Z" level=info msg="no plugins to load" file=loade...script Feb 25 06:00:39 debian run.sh[1661]: time="2020-02-25T05:00:39Z" level=info msg="Starting the server on :15601" Feb 25 06:00:39 debian run.sh[1661]: {"cpu":99.99999999779732,"disk_avail":14.960063934326172} Feb 25 06:00:40 debian run.sh[1661]: {"cpu":0,"disk_avail":14.960063934326172} Feb 25 06:00:41 debian run.sh[1661]: {"cpu":0,"disk_avail":14.960063934326172} Feb 25 06:00:42 debian run.sh[1661]: {"cpu":0.9900990099009309,"disk_avail":14.960063934326172} Feb 25 06:00:43 debian run.sh[1661]: {"cpu":0,"disk_avail":14.960063934326172} Feb 25 06:00:44 debian run.sh[1661]: {"cpu":0,"disk_avail":14.960063934326172} Feb 25 06:00:45 debian run.sh[1661]: {"cpu":0,"disk_avail":14.960063934326172} Feb 25 06:00:46 debian run.sh[1661]: {"cpu":0,"disk_avail":14.960063934326172}
【公式】HULFT IoT EdgeStreaming ファーストステップガイド_2022年4月1日_第5版発行