For AI agents: the complete documentation index is available at /resource/ucidm/docs/on-premise/dev/llms.txt, the full documentation bundle is available at /resource/ucidm/docs/on-premise/dev/llms-full.txt, and this page is available as Markdown at /resource/ucidm/docs/on-premise/dev/operation/log.md.
開発中のドキュメント (dev) を表示しています記載している機能や仕様は、リリースまでに変更または削除されることがあり、リリースを保証するものではありません。リリース済みの最新版はこちら

ログ管理

各コンテナのログをログファイルに出力する際の設定変更手順を示します。 各種デフォルトファイルは弊社RPMパッケージを使ってインストールする際にすべてインストールされます。

Dockerのログ設定に関するドキュメント もあわせてご確認ください。

デフォルト設定

ログ管理に関するデフォルト設定は以下になります。

項目値
ログ保存先/var/log/osstech/ucidm/*.log
過去ログ保存先/var/log/osstech/ucidm/old
ログ保存間隔logrotateのデフォルト設定を利用
ログ保存数logrotateのデフォルト設定を利用

ログはコンテナごとに保存され、 ucidm-<コンテナ名>.log というファイル名で出力されます。 例えば server-api というコンテナのログは ucidm-server-api.log というファイルに出力されます。

カスタム設定

ログ出力に関する設定は以下のファイルに記載されています。

  • /opt/osstech/etc/rsyslog.d/ucidm.conf
template(name="UCIDMDynaFile" type="list") {
  constant(value="/var/log/osstech/ucidm/")
  property(name="syslogtag"
    regex.type="ERE"
    regex.match="0"
    regex.submatch="1"
    regex.expression="(.+)\\[[0-9]+\\]:"
    regex.nomatchmode="ZERO"
    securepath="replace"
  )
  constant(value=".log")
}
if ($syslogtag startswith 'ucidm-') then {
  action(type="omfile" DynaFile="UCIDMDynaFile")
  stop
}

これは /etc/rsyslog.d/osstech.conf 内でロードされており、rsyslogd設定ファイルとなっております。 ログ出力設定を変更する場合は本ファイル、もしくは /etc/rsyslog.conf を編集してください。 ただし、ログを syslog サーバーへ転送する設定はこれらのファイルに書かず、syslog サーバーへの転送 の手順に従ってください。

ログ保存に関する設定は以下のファイルに記載されています。

  • /opt/osstech/etc/logrotate.d/ucidm
compresscmd zstd
uncompresscmd unzstd

/var/log/osstech/ucidm/*.log
{
    olddir old
    notifempty
    missingok
    sharedscripts
    postrotate
    /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}

これは /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=) は次のとおりです。

ユニットタグ
osstech-ucidm-api.serviceucidm-api
osstech-ucidm-agent.serviceucidm-agent
osstech-ucidm-consumer.serviceucidm-consumer
osstech-ucidm-admin-ui.serviceucidm-admin-ui
osstech-ucidm-ui.serviceucidm-ui
osstech-ucidm-passsync.serviceucidm-passsync

ログに付いている facility は、journalctl の -o verbose の出力にある SYSLOG_FACILITY で確認できます。 3 が daemon を表します。

# journalctl -u osstech-ucidm-api -o verbose -n 1 | grep SYSLOG_FACILITY
    SYSLOG_FACILITY=3

facility の変更手順

local0 から local7 の facility の割り当てはサイトごとに異なるため、UCIDM のパッケージは既定値の daemon のままにしています。 facility を変更する場合は、サービスごとに systemd の drop-in ファイルを作成して SyslogFacility= を上書きしてください。

パッケージが配置する /usr/lib/systemd/system/osstech-ucidm-*.service は編集しないでください。 パッケージをアップデートすると上書きされます。

例えば UCIDM API の facility を local0 にする場合は、次のコマンドで drop-in ファイルを作成します。

# systemctl edit osstech-ucidm-api

エディタが開くので、次の内容を記述して保存します。

[Service]
SyslogFacility=local0

設定を反映するために、サービスを再起動します。

# systemctl restart osstech-ucidm-api

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 を作成し、次のように記述します。

if ($syslogtag startswith 'ucidm-') then {
  action(type="omfwd" target="logserver.example.com" port="514" protocol="tcp")
}

このファイルには stop を書きません。 転送したあとも ucidm.conf のルールが評価され、ログファイルにも書き込まれます。

設定を反映するために、rsyslog を再起動します。

# systemctl restart rsyslog

設定例

いくつかのパラメータの設定変更手順を示します。

ログ保存間隔変更手順

ログ保存間隔は /etc/logrotate.conf で定義されたデフォルト設定をそのまま利用します。 システム全体のデフォルト設定を変更する場合は /etc/logrotate.conf を編集してください。 UCIDMのログ保存間隔のみ変更したい場合は /opt/osstech/etc/logrotate.d/ucidm を編集してください。

例えばログ保存間隔を1日に1回にする場合は、daily を設定に追加してください。

compresscmd zstd
uncompresscmd unzstd

/var/log/osstech/ucidm/*.log
{
    daily
    olddir old
    notifempty
    missingok
    sharedscripts
    postrotate
    /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}

他には次のパラメータが設定可能です。

  • weekly 1週間に1度
  • monthly 1ヶ月に1度

より詳細な設定項目はlogrotateのドキュメントを参照してください。

ログ保存数変更手順

ログ保存数は /etc/logrotate.conf で定義されたデフォルト設定をそのまま利用します。 システム全体のデフォルト設定を変更する場合は /etc/logrotate.conf を編集してください。 UCIDMのログ保存数のみ変更したい場合は /opt/osstech/etc/logrotate.d/ucidm を編集してください。

例えばログ保存数を30世代にする場合は、rotate 30 を設定に追加してください。

compresscmd zstd
uncompresscmd unzstd

/var/log/osstech/ucidm/*.log
{
    rotate 30
    olddir old
    notifempty
    missingok
    sharedscripts
    postrotate
    /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}

より詳細な設定項目はlogrotateのドキュメントを参照してください。