ログファイル¶
本章では RS システムの各コンポーネントが出力するログファイルについて解説します。
ログファイルの内容¶
SMF SDK システムは、動作の状況や発生したエラー等をさまざまなログファイルに書き出します。 それらのログファイルを参照することで、サーバの稼動状況の確認やトラブルの原因の糾明が行えます。
ログファイル概要¶
各サーバが書き出すログファイルの概要は以下の通りです。
サーバ |
名称 |
内容 |
---|---|---|
RS |
api.log event.log monitor.log proxy.log webapp.log |
RS API 呼び出し時に発生したエラー等が記録されます。 イベント API の処理に関する処理結果等が記録されます。 Heartbeat 監視に関する処理内容が記録されます。 ARMS-Proxy との連携処理の内容が記録されます。 ウェブアプリケーションが出力したログが記録されます。 |
ARMS-Proxy |
msg.log proxy.log twistd.log |
SA と交換した ARMS メッセージの内容が記録されます。 実行した処理の内容やエラーが記録されます。 処理系 (Twisted) が発生したエラーが記録されます。 |
Heartbeat |
grapher.log hbserver.log monitor.log |
グラフ描画時のエラー等が記録されます。 Heartbeat パケット受信サーバの処理内容が記録されます。 監視の死活判定に関する処理内容が記録されます。 |
RS のログ¶
本節では、それぞれのログファイルに記録されるログについて説明します。
- api.log
他のログファイルに含まれない、RS-API 全般の処理内容が記録されます。
デフォルトのパス名: /var/service/smf/logs/rs/api.log
- event.log
イベントに関する処理内容が記録されます。
デフォルトのパス名: /var/service/smf/logs/rs/event.log
- monitor.log
Heartbeat サーバとの連携処理に関する情報が記録されます。Heartbeat による死活監視が正常に動作しない場合に参照してください。
デフォルトのパス名: /var/service/smf/logs/rs/monitor.log
- proxy.log
ARMS-Proxy と連携する処理の内容が記録されます。サービスアダプタからのコンフィグの取得や、サービスアダプタの制御がうまく行えない場合に参照してください。
デフォルトのパス名: /var/service/smf/logs/rs/proxy.log
- webapp.log
ウェブアプリケーションが出力するログが記録されます。
デフォルトのパス名: /var/service/smf/logs/rs/webapp.log
ARMS-Proxy サーバのログ¶
- msg.log
ARMS-Proxy とサービスアダプタが交換する ARMS メッセージが記録されます。 特定のサービスアダプタとの Pull や Push に問題が発生している際に、メッセージの交換自体が失敗しているのか、 あるいは通信内容に問題があるのかの切り分けが行えます。
デフォルトのパス名: /var/service/smf/logs/proxy/msg.log
- proxy.log
ARMS-Proxy が実行した処理内容やその際に発生したエラーが記録されます。 サービスアダプタから ARMS-Proxy への ARMS 接続の接続ログや、RS から指示されたサービスアダプタへのPush 処理の実施状況が記録されます。
デフォルトのパス名: /var/service/smf/logs/proxy/proxy.log
- twistd.log
ARMS-Proxy の処理系である Twisted フレームワークのログです。通常は参照する必要はありません。
デフォルトのパス名: /var/service/smf/logs/proxy/twistd.log
Heartbeat サーバのログ¶
- grapher.log
Heartbeat グラフの描画に関わる情報が記録されます。 Heartbeat サーバが受けたグラフ描画要求の内容や、描画要求の処理上のエラーを確認できます。
デフォルトのパス名: /var/service/smf/logs/hb/grapher.log
- hbserver.log
Heartbeat パケットの受信とその解析結果が記録されます。 特定のサービスアダプタから送信された Heartbeat パケットが Heartbeat サーバまで到達したか、またその内容に不備はないのかを確認できます。
デフォルトのパス名: /var/service/smf/logs/hb/hbserver.log
- monitor.log
Heartbeat による死活監視の処理内容が記録されます。 死活監視の UP/DOWN の判定結果を確認できます。
デフォルトのパス名: /var/service/smf/logs/hb/monitor.log
ログファイルの管理¶
ログファイルのパスの変更¶
本節では、各コンポーネントごとにログファイルの出力場所の変更方法を示します。
- RS
RS は Apache Commons Logging を利用してログを出力します。 設定の変更のしかたは、Apache Commons Logging のドキュメントを参照してください。 またデモ環境では Apache Commons Logging のログ出力エンジンとして Apache log4j を利用していますので合わせてドキュメントを参照してください。
- ARMS-Proxy
設定ファイル /var/service/smf/etc/proxy.cfg の以下の設定項目を変更してください。
- msg.log
”msglogfile” に msg.log ファイルのフルパス名を記述してください。
- proxy.log
”logfile” に proxy.log ファイルのフルパス名を記述してください。
- twistd.log
”twistdlogfile” に twistd.log ファイルのフルパス名を記述してください。
logfile: /var/service/smf/logs/proxy/proxy.log msglogfile: /var/service/smf/logs/proxy/msg.log twistdlogfile: /var/service/smf/logs/proxy/twistd.log
- Heartbeat
設定ファイル /var/service/smf/etc/hbserver.conf の以下の項目を変更してください。
- grapher.log
grapher セクションの LogFileNamePrefix 変数に grapher.log ファイルのパス名のプレフィクスを記述してください。
- hbserver.log
hbserver セクションの LogFileNamePrefix 変数に hbserver.log ファイルのパス名のプレフィクスを記述してください。
- monitor.log
monitor セクションの LogFileNamePrefix 変数に monitor.log ファイルのパス名のプレフィクスを記述してください。
[grapher] LogFileNamePrefix = "/var/service/smf/logs/hb/grapher." [hbserver] LogFileNamePrefix = "/var/service/smf/logs/hb/hbserver." [monitor] LogFileNamePrefix = "/var/service/smf/logs/hb/monitor."
古いログの削除¶
RS システムを長期間稼動させると、ログディレクトリに古いログファイルが溜まり、目的とするログファイルを閲覧しにくくなります。 そのため、定期的に古いログファイルを削除するか、別のディレクトリに移動することをお勧めします。
RS システムでは、一日に一度、丁度日付が変わる 00:00:00 にログファイルのローテートが行われます。 最新のログファイル以外は、システム側から参照されたり変更されることはありません。 サイト運用上のポリシーに応じ、find, rm, gzip コマンド等を利用して適宜整理してください。