4.5. デフォルトのログファイルパスのオーバーライド
デフォルトのコンテナーを変更し、変更箇所にサービスログファイルへのパスが含まれる場合は、デフォルトのログファイルパスも変更する必要があります。すべてのコンポーザブルサービスには <service_name>LoggingSource
パラメーターがあります。たとえば、nova-compute サービスの場合、このパラメーターは NovaComputeLoggingSource
です。
手順
nova-compute サービスのデフォルトパスをオーバーライドするには、設定ファイルの
NovaComputeLoggingSource
パラメーターにパスを追加します。NovaComputeLoggingSource: tag: openstack.nova.compute file: /some/other/path/nova-compute.log
注記サービスごとに、
tag
およびfile
を定義します。他の値にはデフォルト値が反映されます。特定のサービスの形式を変更することができます。これは Rsyslog 設定に直接渡します。
LoggingDefaultFormat
パラメーターのデフォルト形式は、/(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d+) (?<pid>\d+) (?<priority>\S+) (?<message>.*)$/ です。以下の構文を使用します。<service_name>LoggingSource: tag: <service_name>.tag path: <service_name>.path format: <service_name>.format
より複雑な変換の例を以下のスニペットに示します。
ServiceLoggingSource: tag: openstack.Service path: /var/log/containers/service/service.log format: multiline format_firstline: '/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3} \d+ \S+ \S+ \[(req-\S+ \S+ \S+ \S+ \S+ \S+|-)\]/' format1: '/^(?<Timestamp>\S+ \S+) (?<Pid>\d+) (?<log_level>\S+) (?<python_module>\S+) (\[(req-(?<request_id>\S+) (?<user_id>\S+) (?<tenant_id>\S+) (?<domain_id>\S+) (?<user_domain>\S+) (?<project_domain>\S+)|-)\])? (?<Payload>.*)?$/'