ログファイル

本章では 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 コマンド等を利用して適宜整理してください。