edge-message-processor.log のログ ローテーションを有効にする

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動
情報

ログ ローテーション(複数のログファイルを使用と非使用にローテーションするプロセス)により、大量のログファイルを生成するシステムの管理が簡素化されます。ログ ローテーションでは、ログファイルの自動ローテーション、圧縮、削除、メール送信が可能です。

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-management-serveredge-routeredge-postgres-serveredge-qpid-server など、他の edge-* コンポーネント(名前が edge- で始まる)にも存在します。

これらの edge-* コンポーネントはそれぞれ、各コンポーネントのコンソールのリダイレクト出力である追加のログファイルを生成します。Message Processor コンポーネントの場合、このファイルは /opt/apigee/var/log/edge-message-processor/edge-message-processor.log と呼ばれます。他の edge-* コンポーネントも同様のファイルを生成します。これらのファイルのローテーションは、logback ライブラリではなく、logrotatecrontab を使用して行われます。

始める前に

ログ ローテーションを有効にする

このセクションの内容は、Edge for Private Cloud バージョン 4.50.00 と 4.51.00 を対象としています。

ログ ローテーションは、大量のログファイルを生成するシステムの管理を容易にするために設計されたメカニズムです。ログファイルの自動ローテーション、圧縮、削除、メール送信が可能です。

デフォルトでは、各 apigee コンポーネントのメインログファイルの一部は、デフォルトのローテーション メカニズムで構成されています。たとえば、Message Processor コンポーネントでは、次のファイルがデフォルトのローテーション メカニズムで構成されています。

  • /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

ただし、apigee コンポーネントの他のログファイルは、デフォルトのローテーションで構成されていません。たとえば、ログ ローテーションは、apigee コンポーネントの Message Processor ファイル edge-message-processor.log でデフォルトで構成されていません。

ログのローテーションは、logrotatelogbacklog4j などのさまざまなユーティリティやフレームワークを使用して有効にできます。このセクションでは、logrotatecrontab を使用して /opt/apigee/var/log/edge-message-processor/edge-message-processor.log ファイルのログ ローテーションを構成する方法について説明します。

Message Processor で edge-message-processor.log のログ ローテーションを有効にする

このセクションでは、Edge Message Processor で /opt/apigee/var/log/edge-message- processor/edge-message-processor.log ログのログルテーションを有効にする方法について説明します。

edge-message-processor.log ファイルのログ ローテーションを有効にする手順は次のとおりです。

  1. Message Processor マシンで /opt/apigee/edge-message-processor/logrotate/logrotate.conf ファイルをエディタで開きます。ファイルが存在しない場合は作成します。次に例を示します。
    vi /opt/apigee/edge-message-processor/logrotate/logrotate.conf
    
  2. 次のようなスニペットをファイルに追加します。
    /opt/apigee/var/log/edge-message-processor/edge-message-processor.log {
        missingok
        copytruncate
        rotate 5
        size 10M
        compress
        delaycompress
        notifempty
        nocreate
        sharedscripts
        }
  3. 変更を保存します。
  4. 次のコマンドを使用して、apigee ユーザーの crontab を開きます。
    sudo crontab -u apigee -e
    
  5. 次の cron ジョブを apigee ユーザーの crontab に追加します。
    0 0 * * * nice -n 19 ionice -c3 /usr/sbin/logrotate -s /opt/apigee/var/run/edge-message-processor/logrotate.status -f /opt/apigee/edge-message-processor/logrotate/logrotate.conf
  6. crontab を保存し、cron ジョブの次の実行中にログのローテーションをモニタリングします。

Message Processor で edge-message-processor.log のログ ローテーションを確認する

  1. スケジュールされた cron ジョブが実行されると、ログファイルがローテーションされます。上記の例では、cron ジョブは毎日午前 0 時 0 分に実行され、edge-message- processor.log ファイルをローテーションします。
  2. /opt/apigee/var/log/edge-message-processor/ ディレクトリに移動し、edge-message-processor.log ファイルがローテーションされていることを確認します。

    ログファイルのリストのサンプル

    ls -ltrh | grep 'edge-message-processor'
    
    -rw-r--r--. 1 apigee apigee  17K Feb  7 00:00 edge-message-processor.log.1.gz
    -rw-r--r--. 1 apigee apigee 5.3K Feb  7 09:12 edge-message-processor.log

    上記の出力は、edge-message-processor.log ファイルがローテーションされ、GZ ファイルとして保存されたことを示しています。

  3. edge-message-processor.log ファイルがローテーションされていない場合は、 Message Processors で edge-message-processor.log のログ ローテーションを有効にするに記載されている手順をすべて正しく実施していることを確認します。手順を省略した場合は、すべての手順を正しく繰り返します。
  4. それでもログ ローテーションが機能しない場合は、Apigee Edge サポートにお問い合わせください。