ログ ローテーション - 複数のログファイルをローテーションするプロセスです。 システムの管理が簡素化され、 生成される場合があります。ログ ローテーションにより、自動ローテーション、圧縮、 削除、メール送信などの操作を行えます
Edge for Private Cloud の各 apigee
の主なログファイル
デフォルトの回転メカニズムが設定されています。たとえば、
Message Processor コンポーネントでは、次のファイルがデフォルトのローテーションで構成されています。
logback を使用したメカニズムです。
/opt/apigee/var/log/edge-message-processor/logs/system.log
/opt/apigee/var/log/edge-message-processor/logs/events.log
/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
/opt/apigee/var/log/edge-message-processor/logs/configurations.log
/opt/apigee/var/log/edge-message-processor/logs/transactions.log
他の edge-*
コンポーネント(その名前)にも同様のファイルがあります。
先頭が edge-
など)の場合は、edge-management-server
のように指定します。
edge-router
、edge-postgres-server
、edge-qpid-server
。
edge-*
コンポーネントはそれぞれ、リダイレクトされる追加のログファイルも生成します。
各コンポーネントのコンソールから出力されます。Message Processor コンポーネントの場合は
このファイルの名前は /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
です。
他の edge-*
コンポーネントでも、同様のファイルが生成されます。これらのファイルは行われるわけではありません。
logback ライブラリを使用しますが、logrotate
と crontab
を使用します。
始める前に
logrotate
の構成について理解を深めるために、 logrotate manual。crontab
の構成について理解を深めるために、 crontab マニュアル。
ログ ローテーションを有効にする
Edge for Private Cloud バージョン 4.52 以降では、edge-*
をインストールすると
次の crontab
エントリは、
このログのローテーションは、apigee
ユーザーの crontab
に自動的に作成されます。この cron ジョブは
時刻(デフォルトは 1 時間)に設定され、logrotate
ユーティリティを使用してログをローテーションします。edge-*
が複数ある場合
コンポーネントが同じノードにインストールされている場合(オールインワン インストールや
Router と Message Processor を 1 つのノードにインストールすると、各コンポーネントにはそれぞれ固有の cron エントリが
それぞれのログをローテーションします。
注:
edge-*
コンポーネントのインストール中に、 自動的にセットアップされ、logrotate
cronjob の場合は、使用するサイレント構成ファイルでフラグ「ENABLE_LOGROTATE=n」を設定します。 必要ありません。インストール時に cron ジョブが設定されていない場合は、 後のステップに沿って コンポーネントのlogrotate
cron を有効化します。- コンポーネント
edge-router
の場合、追加のlogrotate
cron ジョブがあります。 デフォルトで構成されます。この cron は、Nginx によって生成されたアクセスログとエラーログをローテーションします。
次の例は、さまざまな構成と管理オペレーションを示しています。 示しています
ノードの cron エントリを表示する
sudo crontab -u apigee -l
コンポーネントの logrotate
cron エントリを表示する
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
たとえば、edge-message-processor の logrotate
cron を表示するには、次のコマンドを実行します。
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
コンポーネントをlogrotate
の設定
コンポーネントの logrotate
構成はファイルで確認できます。
$APIGEE_ROOT/<component>/logrotate/logrotate.conf
。
たとえば、edge-message-processor の場合、ノードの logrotate
構成は次のようになります。
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
にあります。
コンポーネントの logrotate
cron を有効にする
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
たとえば、edge-message-processor の logrotate
cron を有効にするには、次のコマンドを実行します。
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
コンポーネントの logrotate
cron を無効にする
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
たとえば、edge-message-processor の logrotate
cron を無効にするには、次のコマンドを実行します。
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
特定の logrotate
コマンドの cron スケジュールを変更する
logrotate
cron スケジュールを変更するノードで、それぞれの
コンポーネントの構成オーバーライド ファイルが作成されます。edge-*
コンポーネントの構成オーバーライド ファイル
以下の表を参照してください。
コンポーネント | 構成オーバーライド ファイル |
---|---|
edge-message-processor |
$APIGEE_ROOT/customer/application/message-processor.properties |
edge-management-server |
$APIGEE_ROOT/customer/application/management-server.properties |
edge-router |
$APIGEE_ROOT/customer/application/router.properties |
edge-postgres-server |
$APIGEE_ROOT/customer/application/postgres-server.properties |
edge-qpid-server |
$APIGEE_ROOT/customer/application/qpid-serverproperties |
適切なオーバーライド ファイルを開き、次の構成オーバーライドを設定します。 以下の例 毎時 0 分に実行される cron ジョブをオーバーライドします。
conf_logrotate_cron_duration=0 * * * *
構成のオーバーライドを設定するには:
apigee
ユーザーがファイルを読み取れることを確認します。- 新しい cron スケジュールをコンポーネントに適用します。
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
たとえば、新しい cron スケジュールを edge-message-processor の logrotate
に適用するには、次のように入力します。
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
変更が適用されたことを確認するには、cron エントリを確認するか、コンポーネントの
logrotate
cron エントリ。
その他の logrotate
構成
前述の cron スケジュール変更の手順と同様に、次のコマンドを実行できます。 その他の構成の変更も可能です。次の表に、これらの構成を示します。
構成 | 説明 |
---|---|
conf_logrotate_bin_location |
logrotate バイナリの場所。デフォルト: /usr/sbin/logrotate |
conf_logrotate_status_file |
logrotate のランタイム ステータスをキャプチャするステータス ファイル - 読み取り/書き込み権限があることを示す
apigee 人のユーザー。デフォルト: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
ローテーションするログ。ワイルドカードを含めることができます。デフォルト:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
ローテーション回数。デフォルト: 「5」 |
conf_logrotate_compress |
ローテーションされたファイルを圧縮するかどうか。デフォルト: 「compress」 |
conf_logrotate_compress_type |
圧縮のタイプ。デフォルト: 「delaycompress」。圧縮を延期する 最後にローテーションされたファイルを次の logrotate サイクルに振り向けます。 |
conf_logrotate_size |
ローテーションのログサイズの上限。デフォルト: 「10M」 |
独自のログ ローテーション メカニズムと cron を使用する
構成が <component>.log のローテーションの要件を満たしていない場合
logrotate などのツールを使用して、独自のログ ローテーションのメカニズムを活用できます。
使用できます。たとえば、Apigee が提供する構成では、サイズでログをローテーションできますが、
日時やその他の要因に基づいてログをローテーションする場合に使用します。そのような場合は、
Apigee が提供する logrotate
cron を無効にし、必要に応じて独自の cron ジョブを設定します。
Apigee のログ ローテーションの cron エントリを参照する必要がある場合は、ファイル
$APIGEE_ROOT/
。たとえば
edge-message-processor
。このファイルは
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
。このファイル
cron エントリと、ログ ローテーションのために Apigee によって実行されるコマンドの両方が含まれています。もし
logrotate
を使用したいが Apigee の構成ファイルを使用したくない場合は、
logrotate
を所有
構成ファイルを開き、同様の logrotate
コマンドを使用してログ ローテーションを実行します。