ボリュームログ管理

docker はボリュームという機能でホストとコンテナ間でファイルを共有することができます。 KE2.0 ではこれを利用して、一部のコンテナでログをボリュームに記録している場合があります。

プロセスログおよび監査ログの記録場所

シングル構成ではプロセスログおよび監査ログは docker の kompira_log ボリュームに記録されます。

docker ボリュームがホスト上のどこに配置されているかは、docker volume ls コマンドで知ることができます。 例えば以下のようにコマンドを実行することで kompira_log のサーバ上での場所が分かります。

$ docker volume ls -f name=kompira_log --format="{{.Mountpoint}}"
/var/lib/docker/volumes/ke2_kompira_log/_data

docker volume コマンドで表示されたディレクトリを確認すると、プロセスログおよび監査ログが記録されているはずです。

$ sudo ls -l /var/lib/docker/volumes/ke2_kompira_log/_data
合計 4
-rw-r--r--. 1 root root    0  7月 24 11:44 audit-ap-ke2-server1.log
-rw-r--r--. 1 root root 3668  7月 24 11:44 audit-ke-ke2-server1.log
-rw-r--r--. 1 root root    0  7月 24 11:44 process-ke-ke2-server1-0.log
-rw-r--r--. 1 root root    0  7月 24 11:44 process-ke-ke2-server1-1.log

ただし、デプロイ時に環境変数 KOMPIRA_LOG_DIR でログの出力先を指定している場合は、kompira_log ボリュームではなく指定したディレクトリに記録されます。

また、Swarm クラスタ構成では setup_stack.sh 実行時に指定した共有ディレクトリ (SHARED_DIR) 配下の $SHARED_DIR/log がデフォルトの KOMPIRA_LOG_DIR となり、そこにログが記録されます。