EDM エージェントのセットアップ(Linux 編)¶
※ NEC AI Accelerator を利用している場合、NEC AI Accelerator 編を参照ください。
インストールに関する注意事項について¶
本ページに記載する手順は、root ユーザーで実施してください。手順中でユーザーを変更する場合は、以下のように記載します。
# su - postgres ← root ユーザーで実行し、postgres ユーザーに切り替えます。
$ initdb ← postgres ユーザーで実行します。
以下を満たしていることを確認してください。Ansible Playbook の実行に必要となります。
-
インターネットに接続できること
-
(RHELのみ) RHELサブスクリプション登録済みになっていること
以下を実行して確認します。# subscription-manager list --available (Available Subscriptions にサブスクリプション情報が出力されることを確認)
はじめに¶
セットアップは以下の流れで実施します。
- IoT Connectivity Engine (ICE Core) のセットアップ
- EDM コンポーネントのセットアップ
- ログ管理Agent をセットアップする
各コンポーネントをセットアップするため、以下のインストール媒体を準備します。X.X.Xにはバージョン番号が入ります。インストール媒体はエッジ機器の任意ディレクトリに配置されていることを前提とします。
Red Hat Enterprise Linux, CentOS の場合¶
| コンポーネント名 | ファイル名 | 格納先 |
|---|---|---|
| ICE Core | iot_connectivity_engine_core-x64-X.X.X.tar.gz | ice |
| EDM コンポーネント | edm_agent_x64-X.X.X.tar.gz | edm_agent |
Debian, Raspbian の場合¶
x64¶
| コンポーネント名 | ファイル名 | 格納先 |
|---|---|---|
| ICE Core | iot_connectivity_engine_core-x64-X.X.X.tar.gz | ice |
| EDM コンポーネント | edm_agent_x64-X.X.X.tar.gz | edm_agent |
arm (32bit)¶
| コンポーネント名 | ファイル名 | 格納先 |
|---|---|---|
| ICE Core | iot_connectivity_engine_core-arm-x.x.x.tar.gz | ice |
| EDM コンポーネント | edm_agent-arm32-x.x.x.tar.gz | edm_agent |
arm (64bit)¶
| コンポーネント名 | ファイル名 | 格納先 |
|---|---|---|
| ICE Core | iot_connectivity_engine_core-arm64-x.x.x.tar.gz | ice |
| EDM コンポーネント | edm_agent-arm64-x.x.x.tar.gz | edm_agent |
注意事項¶
- エッジ機器の時刻にずれがないことを事前確認します
IoT Connectivity Engine (ICE Core) のセットアップ¶
connexive_edm_agent.zipを任意のディレクトリに配置し展開します。
# unzip connexive_edm_agent.zip
iceフォルダの中から、プラットフォームに対応した媒体を選択し、以降の手順を実施します。
ICE Core のファイル展開¶
# mkdir -p /opt/nec/pf/ice
# tar xzf iot_connectivity_engine_core-XXX-X.X.X.tar.gz -C /opt/nec/pf/ice/
# rm iot_connectivity_engine_core-XXX-X.X.X.tar.gz
ICE Core のサービス登録¶
以下のコマンドを実行し、サービスの登録と有効化を行う。
# cp /opt/nec/pf/ice/core/bin/ice-core.service /etc/systemd/system/
# systemctl daemon-reload
# systemctl enable ice-core
以下のコマンドを実行し、ice-core サービスのステータスが Loaded: loaded であることを確認します。
# systemctl status ice-core
● ice-core.service - IoT Connectivity Engine Core
Loaded: loaded (/etc/systemd/system/ice-core.service; enabled; vendor preset: enabled)
~~
※ インストールパス中に日本語やスペースを含む場所にはインストールできません。
※ 以下の設定を行う場合、IoT Connectivity Engine 2.0 - インストール(Linux)/ サービス登録をご参照ください。
- ICE Core をデフォルトと異なる場所にインストールする場合
- pid ファイルと lock ファイルの配置先を変更する場合
ICE Core の接続設定¶
cloud_config.json の設定¶
{ICE Core 接続先}には次のいずれかの値を設定します。- CONNEXIVE Edge Device Management マネージャーを構築したサーバー IP や FQDN 接続先
- エッジ・デバイス管理サービスの接続先
{ユーザー名}と{パスワード}はマネージャー側に設定された値を設定します。
# cd /opt/nec/pf/ice/core/conf/
# cp -p cloud_config.json cloud_config.json.backup
# vi cloud_config.json
{
"default": {
"alias": ["app", "adm"],
"type": "mqtt",
"compatible_mode": "ice-v1",
"config": {
"url": "mqtt://{ICE Core 接続先}:1883",
"timeout": 30000,
"options": {
"username": "{ユーザー名}",
"password": "{パスワード}"
}
}
}
}
※マネージャー側の設定により設定値は変更が必要です。設定パターンは ICE Core の接続設定例 を参照ください。
core_config.json の設定¶
エッジIDは対象機器を一意に特定するための識別子となるため、他の機器と重複しない文字列を指定してください。
- エッジ ID に指定可能な文字列は
a-z A-Z . - _ - エッジ ID に指定可能な文字数は 8~256 文字となります
- uploadセクションにuseFormDataの指定を追加してください
- upload.http.options.auth セクションは ファイル収集の認証設定 でファイル収集に認証を行う設定を行っている場合に必要です。認証情報は ファイル収集の認証設定 - パスワード認証が必要な場合 で作成したアカウントを設定します。
# cd /opt/nec/pf/ice/core/conf/
# cp -p core_config.json core_config.json.backup
# vi core_config.json
{
"version": "X.X.X",
"default_logger": "SYSLOG",
"edge_id": "{エッジ ID}",
"modifiable_home_dir": "",
"heartbeat": {
"enabled": true,
"min_interval": 1800000,
"max_interval": 3600000
},
"native_app": {
"env": {
"LD_LIBRARY_PATH_suffix": "native/lib:native/user_lib",
"default_env": {}
},
"shutdown_timeout": 30000
},
"download": {
"white_dirs": [
"/tmp"
],
"default_timeout": 3600000,
"max_timeout": 3600000,
"check_content_length": true
},
"upload": {
"white_dirs": [
"/tmp"
],
"default_timeout": 3600000,
"max_timeout": 3600000,
"http": {
"options": {
"auth": "{ファイルダウンロード用ユーザの E-Mail}:{ファイルダウンロードユーザ用のパスワード}"
},
"useFormData": false
}
},
"notification": {
"enabled": false,
"initialDelay": 1000
},
"nodered": {
"enabled": false
}
}
詳細な設定手順については、IoT Connectivity Engine 2.0 - インストール(Linux)をご参照ください。
EDM コンポーネントのセットアップ¶
edm_agentフォルダの中から、プラットフォームに対応した媒体を選択し、以降の手順を実施します。
実行ユーザーを作成する¶
以下のコマンドを実行し、ユーザーを新規追加します。
# adduser --uid 1100 edgesw
以下のコマンドを実行し、ユーザーが正常に登録されたことを確認します。
# grep edgesw /etc/passwd
edgesw:x:1100:1100::/home/edgesw:/bin/bash
以下のコマンドを実行し、ファイル末尾に設定を追加します。
※visudo コマンドが存在しない場合 sudo パッケージを事前にインストールしてください。
# visudo
~~ 省略 ~~
edgesw ALL=(ALL:ALL) NOPASSWD: ALL
以下のコマンドを実行し、sudo 設定が正常に行われたことを確認します。
# tail -1 /etc/sudoers
edgesw ALL=(ALL:ALL) NOPASSWD: ALL
EDM コンポーネントのファイル展開¶
# mkdir -p /opt/nec/pf/edm
# tar xvf edm_agent-XXX-X.X.X.tar.gz -C /opt/nec/pf/
# rm edm_agent-XXX-X.X.X.tar.gz
EDM コンポーネントの接続設定¶
prestartup.properties ファイルの tenant_name にマネージャーへの接続情報を追記します。
※設定値はシングルクォーテーションやダブルクォーテーションで囲む必要はありません。
# cd /opt/nec/pf/edm/agent/conf
# cp -p prestartup.properties prestartup.properties.backup
# vi prestartup.properties
tenant_name={テナント名}
(CONNEXIVE Edge Device Management マネージャーへ接続する際の設定例)
tenant_name=NEC
(NEC エッジ・デバイス管理サービスへ接続する際の設定例)
tenant_name=TN1233d6aca098192fba407xyz
EDM コンポーネントの起動¶
以下のコマンドを実行し、EDM コンポーネントを起動します。
# systemctl stop ice-core
# systemctl start ice-core
以下のコマンドを実行し、ice-core サービスのステータスが Active: active (running) であることを確認します。
# systemctl status ice-core
● ice-core.service - IoT Connectivity Engine Core
Loaded: loaded (/etc/systemd/system/ice-core.service; enabled; vendor preset: disabled)
Active: active (running) since 金 2022-03-18 16:09:54 JST; 1min 39s ago
~~ 省略 ~~
動作確認¶
- EDM管理画面を確認する
アクセス先:http://<管理サーバーのIPアドレス>/<テナントIDの値>/ - アカウント情報を入力し、ログインする
- サイドナビゲーションから「エッジ一覧」を選択する
- 追加したエッジが登録されていることを確認する