ここに表示されているのは Apigee Edge のドキュメントです。
Go to the
Apigee X のドキュメントに移動します。 info
ログ ローテーションとは、使用中の複数のログファイルをローテーションするプロセスで、 多数のログファイルを生成するシステムの管理を簡素化します。ログ ローテーションにより、ログファイルの自動ローテーション、圧縮、 削除、メール送信が可能になります。
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 のマニュアルをご覧ください。crontab構成に慣れていない場合は、 crontab のマニュアルをご覧ください。
ログ ローテーションを有効にする
このセクションは、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 では、デフォルトでログ ローテーションは構成されていません。
ログ ローテーションは、logrotate、
logback、log4j などのさまざまなユーティリティ/フレームワークを使用して有効にできます。このセクションでは、logrotate と crontab を使用して /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 ファイル:
- Message Processor マシンでエディタを開き、
/opt/apigee/edge-message-processor/logrotate/logrotate.confファイル を開きます。ファイルが存在しない場合は、作成します。 次に例を示します。vi /opt/apigee/edge-message-processor/logrotate/logrotate.conf
- 次の例に示すように、スニペットをファイルに追加します。
/opt/apigee/var/log/edge-message-processor/edge-message-processor.log { missingok copytruncate rotate 5 size 10M compress delaycompress notifempty nocreate sharedscripts }
- 変更を保存します。
- 次のコマンドを使用して、
apigeeユーザーのcrontabを開きます。sudo crontab -u apigee -e
- 次の 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
crontabを保存し、cron ジョブの次の実行時にログ ローテーションをモニタリングします。
Message Processor で edge-message-processor.log のログ ローテーションを確認する
- スケジュールされた cron ジョブが実行されると、ログファイルがローテーションされます。上記の例では、
cron ジョブは毎日午前 0 時 0 分に実行され、
edge-message- processor.logファイルがローテーションされます。 -
/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 ファイルとして保存されていることを示しています。 -
edge-message-processor.logファイルがローテーションされていない場合は、Message Processor で edge-message-processor.log のログ ローテーションを有効にするで説明されているすべての手順を正しく実行していることを確認してください。手順が抜けている場合は、すべての手順をもう一度正しく繰り返します。 - ログ ローテーションが機能しない場合は、Apigee Edge サポートにお問い合わせください。