設定ファイル(lockdown.conf)を作成してAgentの動作を規定する
Agentに設定ファイル(lockdown.conf)を作成することで、Agentの動作を規定できます。
- エージェント動作設定画面の設定値を固定する。
- 監視対象のディレクトリを限定する。
- ジョブ実行の際、実行するモジュールを指定する。
- Agentモジュールのアップデートを禁止する。
(1) 設定ファイル(lockdown.conf)の格納場所
lockdown.confファイルは、Agentのインストールディレクトリに作成します。デフォルトのインストールディレクトリは次のとおりです。
- Windowsの場合
- C:\HULFT Family\hulftiot
- Linuxの場合
- /opt/hulftiot
作成済みのlockdown.confファイルを編集する場合は、ファイルのバックアップを取得しておくことをお勧めします。
(2) 設定ファイル(lockdown.conf)を有効にする
lockdown.confファイルを作成または更新したとき、次の手順で有効にできます。
1. IoT機器にlockdown.confファイルを作成、または編集します。
2. IoT機器でAgentを停止します。
3. IoT機器でAgentを再起動します。
以上でlockdown.confファイルが有効になります。
lockdown.confファイルに記載した値を変更した場合、Agentを再起動することで、変更後の値が有効になります。
ただし、いったん有効にした設定を無効にするには、lockdown.confファイルを無効にする必要があります。lockdown.confファイル内で無効にしたい設定項目の行を削除したり、設定値を削除したりしても、設定は無効になりません。無効化の手順については、「(3) 設定ファイル(lockdown.conf)を無効にする」を参照してください。
(3) 設定ファイル(lockdown.conf)を無効にする
lockdown.confファイルは、次の手順で無効にできます。
1. IoT機器でAgentを停止します。
2. IoT機器でlockdown.confファイルを削除します。
3. Managerのエージェント一覧画面からlockdown.confファイルを無効にしたいAgentを削除します。
4. IoT機器でagent.confファイルの「agent_id」の行を削除します。
5. IoT機器でAgentを再起動します。
以上でlockdown.confファイルが無効になります。
Agentの動作は、Managerのエージェント動作設定画面からだけでなく、Agentに設定ファイル(lockdown.conf)を作成することによっても設定できます。ただし、設定ファイル(lockdown.conf)で設定した値については、画面から変更することはできなくなります。
- Agentの設定を固定したい項目だけ、lockdown.confファイルに記載します。lockdown.confファイルに記載されていない項目については、Managerのエージェント動作設定画面で値を変更できます。
- lockdown.confファイルに記載された項目は、Managerの画面で値を参照できますが、値を変更することはできません。
- lockdown.confファイルの変更内容は、次にAgentを起動したときに有効になります。
- lockdown.confファイルに設定値として指定できない値や存在しないパスを記載した場合、Agentは起動エラーになります。
- lockdown.confファイルに記載した項目名が不正の場合は、無視されます。
- lockdown.confファイルの記述形式
-
次の表の「項目名」 = [設定値]
分類 | 項目名 | エージェント動作設定画面での項目名 | 項目の説明 | 設定値 | 単位 |
---|---|---|---|---|---|
Agent-Manager間通信 | polling_interval | ポーリング間隔 | AgentがManagerをポーリングする間隔です。 | 1 ~ 5097600 | 秒 ※1 |
rcvque_polling_interval | 受信キューポーリング間隔 | Agentが受信タスクキューをポーリングする間隔です。 | 1 ~ 5097600 | 秒 ※1 | |
communication_time_limit_enabled | 通信時間制限 | AgentがManagerと通信する時間帯を制限するかどうかを指定します。通信時間制限を行う場合には、「開始時間」、「終了時間」も合わせて指定してください。 |
0:通信可能時間帯を制限しない 1: 通信可能時間帯を制限する |
- | |
start_communication_time | 開始時刻 |
AgentがManagerと通信する時間帯を制限する場合、通信できる時間帯が始まる時刻を指定します。 終了時刻と一緒に指定します。片方だけを指定したり、両方に同じ値を指定したりした場合は、Agentが起動エラーになります。 |
0 ~ 23 | 時 | |
end_communication_time | 終了時刻 |
AgentがManagerと通信する時間帯を制限する場合、通信できる時間帯が終わる時刻を指定します。 開始時刻と一緒に指定します。片方だけを指定したり、両方に同じ値を指定したりした場合は、Agentが起動エラーになります。 |
0 ~ 23 | 時 | |
接続 | connection_retry_count | コネクションリトライ回数 | AgentがHULFTとの接続に失敗した場合に、再接続を試みる回数です。 | 0 ~ 9999 | 回 |
connection_retry_interval | コネクションリトライ間隔 | AgentがHULFTとの接続に失敗した場合に、再接続を試みるまでの待ち時間です。 | 0 ~ 9999 | 秒 | |
socket_timeout | ソケットリードタイムアウト |
AgentとHULFTとのソケット通信で、HULFTからの応答がなかった場合に、Agentがタイムアウトするまでの時間です。 タイムアウトした場合、Agentは通信異常と判断して通信を切断します。 |
10 ~ 259200 | 秒 | |
request_timeout | リクエストタイムアウト |
AgentからManagerへのすべての通信で、Managerからの応答がなかった場合に、Agentがタイムアウトするまでの時間です。 タイムアウトした場合、Agentは通信異常と判断して通信を切断します。 |
10 ~ 259200 | 秒 | |
socket_buffer_size | ソケットバッファサイズ |
AgentがHULFTとのソケット通信で使用するソケットバッファサイズを指定します。 0を指定した場合は、システム値が採用されます。 |
0、4096 ~ 2147483647 | バイト | |
配信 | auto_retry_count | 自動再配信リトライ回数 | 通信エラーでHULFTへのファイル転送に失敗したとき、Agentが再配信を試みる回数です。 | 0 ~ 255 | 回 |
auto_retry_interval | 自動再配信リトライ間隔 | 通信エラーでHULFTへのファイル転送に失敗したとき、Agentが再配信を試みるまでの待ち時間です。 | 0 ~ 9999 | 秒 | |
send_multiplex_level | 配信多重度 |
Agentが同時に起動できる配信プロセス Agent内の転送ファイルの数が配信プロセスの最大数を超えた場合、Agentは超えた分の転送ファイルを、プロファイル転送設定画面で指定された[監視間隔]が経過したあとの、次回のトリガー発火タイミングに持ち越します。 |
1 ~ 99 | 個 | |
受信 | なし※2 | 受信タスクキューサイズ |
受信タスクキューに登録できるファイル配付機能の受信タスクの最大数です。 受信タスクが最大数を超える場合、新しいタスクはキューに追加されません。 |
1 ~ 9999 | 個 |
ジョブ | job_timeout | ジョブタイムアウト |
ファイル転送およびファイル配付の際に実行するジョブの実行結果が返ってこなかったとき、エラーにするまでの待ち時間です。 0を指定した場合は、タイムアウトしないで待機し続けます。 |
0、10 ~ 86400 | 秒 |
履歴 | log_output_mode | 履歴出力モード |
配信履歴を常時出力するか、エラーが発生したときにだけ出力するかを指定します。 0を指定した場合は、エラー時のみ出力します。 1を指定した場合は、常時出力します。 |
0または1 | - |
send_log_pool_size | 配信履歴保管サイズ |
Agentに保管する配信履歴の量を制限する場合、保管する量を指定します。 |
1048576 ~ 1073741824 | バイト ※3 | |
trace_log_pool_size | トレースログ保管サイズ |
Agentに保管するトレースログの量を制限する場合、保管する量を指定します。 |
1048576 ~ 1073741824 | バイト ※3 |
※1 |
: |
ポーリング間隔および受信キューポーリング間隔は、次のように指定してください。 |
設定できる間隔 | 設定値 (秒) | 説明 |
---|---|---|
1秒~59秒 (秒単位) |
1~59 | 1から59を指定してください。 |
1分~59分 (分単位) |
60~3540 |
60の倍数を指定してください。 例) 3分:180、15分:900 |
1時間~23時間 (時間単位) |
3600~82800 |
3600の倍数を指定してください。 例) 3時間:10800、15時間:54000 |
1日~59日 (日単位) |
86400~5097600 |
86400の倍数を指定してください。 例) 3日:259200、15日:1296000 |
※2 |
: |
受信タスクキューサイズは、固定化できません。 |
※3 |
: |
配信履歴保管サイズおよびトレースログ保管サイズは、次のように指定してください。 |
設定できる保管サイズ |
設定値 (バイト) | 説明 |
---|---|---|
1MB~1024MB (メガバイト単位) |
1048576~1073741824 |
1048576の倍数を指定してください。 例) 100メガバイト:104857600、500メガバイト:524288000 |
- lockdown.confファイルの記述例
- ポーリング間隔を1分、受信キューポーリング間隔を1時間で固定した場合の、lockdown.confファイルの記述例です。
-
polling_interval = 60
rcvque_polling_interval = 3600
監視対象ファイルを格納するディレクトリを、指定したディレクトリおよびその配下のディレクトリに限定できます。
監視対象ファイルを格納するディレクトリとして「/usr/AAA/」が指定されている場合、Agentが監視できるファイルは次のとおりです。
- 監視できるファイル
/usr/AAA/a.txt
/usr/AAA/AAA/a.txt
/usr/AAA/BBB/a.txt
- 監視できないファイル
/usr/a.txt
/etc/a.txt
/usr/BBB/a.txt

図6.1 Agentがアクセスする範囲
- lockdown.confファイルの記述形式
-
permission_filepath_list = [Agentが監視できるパスを記載したファイル]
-
- permission_filepath_list
Agentが監視できるファイルのパスではなく、監視できるファイルのパスが列挙されたファイルを、絶対パス(ディレクトリとファイル名の組み合わせ)で指定します。
指定したファイルの中に、Agentにアクセスを許可するディレクトリの絶対パスを、改行区切りで記載してください。
ファイル内に相対パスは記載できません。転送ファイルやパスの途中がシンボリックリンクの場合、シンボリックリンクの絶対パスと実ファイルの絶対パスのそれぞれをファイルに記載してください。
- lockdown.confファイルの記述例
- Agentがアクセスできるパスを記載したファイルが/opt/hulftiot/.whitelistの場合の、lockdown.confファイルの記述例です。
-
permission_filepath_list = /opt/hulftiot/.whitelist
lockdown.confファイルに何も記載されていない、またはファイルの記載内容がコメントのみ場合、Agentは起動しません。
(6) 除外するファイルを指定する
下記の監視対象から、除外したいファイルを指定することができます。
-
Agentの監視対象
-
ファイル配布による配置先
Manager画面にて指定された「監視ファイル名」および「配置先ファイル名」にシステムファイルまたは隠しファイルが含まれていた場合でも、監視対象から除外する設定をすることで、ファイル転送やファイル配布の対象にはなりません。
- lockdown.confファイルの記述形式
-
ignore_file_list = [Agentの監視対象や配布ファイルから除外したいファイルリストを記載したファイルパス]
-
- ignore_file_list
Agentの監視対象および配布ファイルから除外したいファイルのパスではなく、除外したいファイル名が列挙されたファイルを、絶対パス(ディレクトリとファイル名の組み合わせ)で指定します。
- lockdown.confファイルの記述例
- Agentの監視対象および配布ファイルから除外にしたいファイル名を記載したファイルが/opt/hulftiot/.ignoreの場合の、lockdown.confファイルの記述例です。
-
ignore_file_list = /opt/hulftiot/.ignore
- .ignoreファイルの記述例
-
「正規表現によるパターン記述の有無」および「Agentの監視対象や配布ファイルから除外にしたいファイル名のパターン」をカンマ(,)区切りで記述します。
複数の除外パターンを登録する場合は、改行区切りで記載してください。
行の先頭に半角の「#」があるときは、コメント行とみなされます。
注意除外したいファイル名にマルチバイト文字が含まれている場合、OSのシステムロケールに合わせて記載してください。
-
# ファイル名のみで指定した場合:どのディレクトリかは関係なく「file-a.txt」を除外 false, file-a.txt # フルパスで指定した場合:対象のパス内の「file-b.txt」を除外 false, /home/guest/work/file-b.txt # ワイルドカード指定 false, /home/guest/work1/* false, /home/guest/work2/*.txt # 正規表現を用いた除外(file-1.txt~file-9.txt) true, file-[1-9].txt
-
lockdown.confファイルに何も記載されていない、またはファイルの記載内容がコメントのみ場合、Agentは起動しません。
-
.ignoreファイルに何も記載されていない、またはファイルの記載内容がコメントのみ場合、Agentは起動しません。
次のジョブで実行するモジュールを指定できます。
- ファイル転送の配信前ジョブ
- ファイル転送の正常時ジョブ
- ファイル転送の異常時ジョブ
- ファイル配付の正常時ジョブ
- lockdown.confファイルの記述形式
-
job_exec_module = [実行するモジュール]
-
- job_exec_module
-
実行するモジュールを、絶対パスで指定します。
このオプションを指定した場合、プロファイル転送設定画面および受信設定画面の次の項目に「ステップ実行」を指定する必要があります。「スクリプト実行」は指定できません。
- 配信前ジョブ実行モード
- 正常時ジョブ実行モード
- 異常時ジョブ実行モード
- ジョブ実行モード
このオプションを指定した場合、プロファイル転送設定画面および受信設定画面の次の項目に入力する文字列は、実行するモジュールの引数に渡す文字列となります。
- 転送設定画面の配信前ジョブ
- 転送設定画面の正常時ジョブ
- 転送設定画面の異常時ジョブ
- 受信設定画面のジョブ
実行に失敗した場合、失敗したモジュールの内容が履歴に表示されます。その際、実行したモジュールの名称は表示されません。
- lockdown.confファイルの記述例
- 実行するモジュールとして/bin/busyboxを指定した場合の、lockdown.confファイルの記述例です。
-
job_exec_module = /bin/busybox
図6.2 実行するモジュールを指定したときのジョブ実行の流れ
1. 実行するモジュールをlockdown.confファイルに指定します。
2. プロファイル転送設定画面および受信設定画面で引数を指定します。
3. Managerから受け取った引数でモジュールを実行します。
AgentのモジュールはManagerからアップデートできます。lockdown.confの設定によって、Agentモジュールのアップデートを禁止できます。
- lockdown.confファイルの記述形式
-
lockdown_remoteupdate = [設定値]
-
- lockdown_remoteupdate
-
Agentモジュールのアップデートを禁止する場合、1を指定します。
このオプションに1を指定した場合、ManagerからのAgentモジュールのアップデートはエラーになります。
- lockdown.confファイルの記述例
- Agentモジュールのアップデートを禁止した場合の、lockdown.confファイルの記述例です。
-
lockdown_remoteupdate = 1