第5章 Load-balancing サービスインスタンスのログの管理
テナントフローのロギングを有効にするか、amphora ローカルファイルシステムへのログインを抑制することができます。また、コンテナーのセットの syslog レシーバーに管理またはテナントフローログを転送したり、選択したエンドポイントで他の syslog レシーバーに転送することもできます。
TCP syslog プロトコルの使用を選択した場合は、プライマリーエンドポイントに障害が発生した場合に備えて、管理ログとテナントログのオフロード用に 1 つ以上のセカンダリーエンドポイントを指定できます。
さらに、syslog ファシリティー値を設定する、テナントフローログのフォーマットを変更する、カーネル等のソースや cron からのログを含めるように管理ログの範囲を拡張する、等のさまざまなロギング機能を制御できます。
5.1. Load-balancing サービスインスタンスの管理ログのオフロードの有効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Load-balancing サービスインスタンス (amphora) は、ローカルマシンの systemd ジャーナルにログを保存します。ただし、amphora がログを syslog レシーバーにオフロードするように指定して、管理ログを集約することができます。ログのオフロードにより、管理者はログを 1 カ所で管理し、amphora のローテーション後もログを維持することができます。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 source コマンドでアンダークラウドの認証情報ファイルを読み込みます。
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow カスタム YAML 環境ファイルを作成します。
例
vi /home/stack/templates/my-octavia-environment.yaml
$ vi /home/stack/templates/my-octavia-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 環境ファイルの
parameter_defaultsセクションで、OctaviaLogOffloadをtrueに設定します。parameter_defaults: OctaviaLogOffload: true ...parameter_defaults: OctaviaLogOffload: true ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記OctaviaAdminLogFacilityパラメーターで別の値を指定しない限り、デフォルトでは、amphora は syslog ファシリティーの値にlocal1を使用して管理ログをオフロードします。有効な値は、0 〜 7 です。例
parameter_defaults: OctaviaLogOffload: true OctaviaAdminLogFacility: 2 ...parameter_defaults: OctaviaLogOffload: true OctaviaAdminLogFacility: 2 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow amphora は、haproxy 管理ログ、keepalived、amphora エージェントログなどのロードバランサー関連の管理ログのみを転送します。カーネル、システム、およびセキュリティーログ等の amphora からのすべての管理ログを送信するように amphora を設定する場合には、
OctaviaForwardAllLogsをtrueに設定します。例
parameter_defaults: OctaviaLogOffload: true OctaviaForwardAllLogs: true ...parameter_defaults: OctaviaLogOffload: true OctaviaForwardAllLogs: true ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログプロトコルを選択: UDP (デフォルト) または TCP。
プライマリーエンドポイントに障害が発生した場合、amphorae はログプロトコルが TCP の場合にのみログをセカンダリーエンドポイントに送信します。
parameter_defaults: OctaviaLogOffload: true OctaviaConnectionLogging: false OctaviaLogOffloadProtocol: tcp ...parameter_defaults: OctaviaLogOffload: true OctaviaConnectionLogging: false OctaviaLogOffloadProtocol: tcp ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow amphora は、ログメッセージをリッスンする syslog レシーバーが含まれる、Orchestration サービス (heat) で定義されたデフォルトコンテナーのセットを使用します。異なるエンドポイントのセットを使用する場合は、
OctaviaAdminLogTargetsパラメーターでそれらを指定することができます。テナントフローログオフロード用に設定されたエンドポイントは、管理ログオフロードに使用されるエンドポイントと同じにすることができます。
また、ログオフロードプロトコルが TCP の場合、最初のエンドポイントに到達できない際、amphorae は接続が成功するまで、リストされた順序で追加のエンドポイントを試行します。
OctaviaAdminLogTargets: <ip_address>:<port>[, <ip_address>:<port>]
OctaviaAdminLogTargets: <ip_address>:<port>[, <ip_address>:<port>]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
parameter_defaults: OctaviaLogOffload: true OctaviaLogOffloadProtocol: tcp OctaviaAdminLogTargets: 192.0.2.1:10514, 2001:db8:1::10:10514 ...parameter_defaults: OctaviaLogOffload: true OctaviaLogOffloadProtocol: tcp OctaviaAdminLogTargets: 192.0.2.1:10514, 2001:db8:1::10:10514 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは、ログオフロードを有効にすると、テナントフローログもオフロードされます。
テナントフローログのオフロードを無効にする場合は、
OctaviaConnectionLoggingをfalseに設定します。例
parameter_defaults: OctaviaLogOffload: true OctaviaConnectionLogging: false ...parameter_defaults: OctaviaLogOffload: true OctaviaConnectionLogging: false ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、deployment コマンドを実行します。
重要後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。
例
openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml \ -e /home/stack/templates/my-octavia-environment.yaml
$ openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml \ -e /home/stack/templates/my-octavia-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
-
OctaviaAdminLogTargetsまたはOctaviaTenantLogTargetsで特定のエンドポイントを指定しない限り、amphora は RHOSP コントローラー内の他の RHOSP ログと同じ場所 (/var/log/containers/octavia-amphorae/) にログをオフロードします。 適切な場所を確認して、以下のログファイルが存在することを確認します。
-
octavia-amphora.log: 管理ログのログファイル -
(有効な場合)
octavia-tenant-traffic.log: テナントトラフィックフローログのログファイル
-