設定ファイル(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ファイルが無効になります。

(4) エージェント動作設定画面の設定値を固定する

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ファイルの記述形式
次の表の「項目名」 = [設定値]

表6.1 エージェント動作設定画面の設定値を固定するための設定項目

分類 項目名 エージェント動作設定画面での項目名 項目の説明 設定値 単位
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が同時に起動できる配信プロセス(huliotsend)の最大数です。

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

(5) 監視対象のディレクトリを限定する

監視対象ファイルを格納するディレクトリを、指定したディレクトリおよびその配下のディレクトリに限定できます。

監視対象ファイルを格納するディレクトリとして「/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は起動しません。

(7) ジョブ実行の際、実行するモジュールを指定する

次のジョブで実行するモジュールを指定できます。

  • ファイル転送の配信前ジョブ
  • ファイル転送の正常時ジョブ
  • ファイル転送の異常時ジョブ
  • ファイル配付の正常時ジョブ
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から受け取った引数でモジュールを実行します。

(8) Agentモジュールのアップデートを禁止する

AgentのモジュールはManagerからアップデートできます。lockdown.confの設定によって、Agentモジュールのアップデートを禁止できます。

lockdown.confファイルの記述形式
lockdown_remoteupdate = [設定値]
lockdown_remoteupdate

Agentモジュールのアップデートを禁止する場合、1を指定します。

このオプションに1を指定した場合、ManagerからのAgentモジュールのアップデートはエラーになります。

lockdown.confファイルの記述例
Agentモジュールのアップデートを禁止した場合の、lockdown.confファイルの記述例です。
lockdown_remoteupdate = 1