ログ管理
各コンテナのログをログファイルに出力する際の設定変更手順を示します。 各種デフォルトファイルは弊社RPMパッケージを使ってインストールする際にすべてインストールされます。
Dockerのログ設定に関するドキュメント もあわせてご確認ください。
デフォルト設定
ログ管理に関するデフォルト設定は以下になります。
ログはコンテナごとに保存され、 ucidm-<コンテナ名>.log というファイル名で出力されます。
例えば server-api というコンテナのログは ucidm-server-api.log というファイルに出力されます。
カスタム設定
ログ出力に関する設定は以下のファイルに記載されています。
/opt/osstech/etc/rsyslog.d/ucidm.conf
これは /etc/rsyslog.d/osstech.conf 内でロードされており、rsyslogd設定ファイルとなっております。
ログ出力設定を変更する場合は本ファイル、もしくは /etc/rsyslog.conf を編集してください。
ただし、ログを syslog サーバーへ転送する設定はこれらのファイルに書かず、syslog サーバーへの転送 の手順に従ってください。
ログ保存に関する設定は以下のファイルに記載されています。
/opt/osstech/etc/logrotate.d/ucidm
これは /etc/logrotate.d/osstech 内でロードされており、logrotate設定ファイルとなっております。
ログ保存設定を変更する場合は本ファイル、もしくは /etc/logrotate.conf を編集してください。
syslog の facility
UCIDM の各サービスのログに付く syslog の facility について示します。
facility の既定値
UCIDM の各サービスは、ログを標準出力に出力します。
systemd の journald がこのログを受け取り、rsyslog は journald からログを読み込みます。
ログに付く facility は、各サービスの systemd のユニットの SyslogFacility= で決まります。
UCIDM のどのユニットも SyslogFacility= を指定していないので、facility は systemd の既定値の daemon になります。
各ユニットと、ログに付くタグ (SyslogIdentifier=) は次のとおりです。
ログに付いている facility は、journalctl の -o verbose の出力にある SYSLOG_FACILITY で確認できます。
3 が daemon を表します。
facility の変更手順
local0 から local7 の facility の割り当てはサイトごとに異なるため、UCIDM のパッケージは既定値の daemon のままにしています。
facility を変更する場合は、サービスごとに systemd の drop-in ファイルを作成して SyslogFacility= を上書きしてください。
パッケージが配置する /usr/lib/systemd/system/osstech-ucidm-*.service は編集しないでください。
パッケージをアップデートすると上書きされます。
例えば UCIDM API の facility を local0 にする場合は、次のコマンドで drop-in ファイルを作成します。
エディタが開くので、次の内容を記述して保存します。
設定を反映するために、サービスを再起動します。
drop-in ファイルはサービスごとに作成します。 ほかのサービスの facility も変更する場合は、facility の既定値 の表にあるユニットごとに同じ手順を実施してください。
変更後の facility は、facility の既定値 と同じ journalctl のコマンドで確認できます。
local0 は 16 と表示されます。
syslog サーバーへの転送
UCIDM のログを syslog サーバーへ転送する設定を示します。
/opt/osstech/etc/rsyslog.d/ucidm.conf は、UCIDM のログをファイルに書き込んだあと、stop でそれ以降のルールの評価を打ち切ります。
このため、/etc/rsyslog.d/osstech.conf より後に評価されるルールには、UCIDM のログが届きません。
例えば /etc/rsyslog.conf の末尾に daemon.* @@logserver.example.com:514 と書いても、UCIDM のログは転送されません。
転送のルールは、/etc/rsyslog.d/ に osstech.conf より前に並ぶ名前のファイルを作成して記述してください。
例えば /etc/rsyslog.d/10-ucidm-forward.conf を作成し、次のように記述します。
このファイルには stop を書きません。
転送したあとも ucidm.conf のルールが評価され、ログファイルにも書き込まれます。
設定を反映するために、rsyslog を再起動します。
設定例
いくつかのパラメータの設定変更手順を示します。
ログ保存間隔変更手順
ログ保存間隔は /etc/logrotate.conf で定義されたデフォルト設定をそのまま利用します。
システム全体のデフォルト設定を変更する場合は /etc/logrotate.conf を編集してください。
UCIDMのログ保存間隔のみ変更したい場合は /opt/osstech/etc/logrotate.d/ucidm を編集してください。
例えばログ保存間隔を1日に1回にする場合は、daily を設定に追加してください。
他には次のパラメータが設定可能です。
weekly1週間に1度monthly1ヶ月に1度
より詳細な設定項目はlogrotateのドキュメントを参照してください。
ログ保存数変更手順
ログ保存数は /etc/logrotate.conf で定義されたデフォルト設定をそのまま利用します。
システム全体のデフォルト設定を変更する場合は /etc/logrotate.conf を編集してください。
UCIDMのログ保存数のみ変更したい場合は /opt/osstech/etc/logrotate.d/ucidm を編集してください。
例えばログ保存数を30世代にする場合は、rotate 30 を設定に追加してください。
より詳細な設定項目はlogrotateのドキュメントを参照してください。