サーバログ
サーバログ(英: Server log)は、サーバ上での活動によって自動的に生成されるログファイルなどを指す。
目次 |
[編集] 概要
主なサーバログとしては、以下のものがある。
- ハードウエアの物理的状況(電源電圧、CPU周波数、ファン回転数、温度等)
- ハードウエア認識の有効・無効の状況
- OSの動作状況
- リソース状況(メモリー利用率、ハードディスク利用率等)
- ユーザ認証の成功・失敗状況
- サービスへのアクセス記録やエラー状況(Webサーバ、FTPサーバ等)
これらのログは常時追記保存され、リアルタイムで監視を行ったり、一定期間ごとに解析して異常を抽出するために使われる。
[編集] Webサーバ
典型例としては、Webサーバでのページ要求履歴を保持するログがある。W3C はWebサーバ向けの標準フォーマット[1]を定めているが、それ以外の独自フォーマットも存在する。新たなエントリは一般にファイルの最後尾に追加される。要求に関する情報として、クライアントIPアドレス、要求日付/時間、要求されたウェブページ、HTTPコード、バイト数、ユーザエージェントが記録され、一般にHTTPリファラ情報(そのページに移動したときのリンク元ページ)が追加される。これらのデータは1つのファイルにまとめて記録されるか、個別のログ(アクセスログ、エラーログ、リファラログ)に記録される。しかし、一般にサーバログはユーザー固有の情報は収集しない。
これらのファイルは一般のインターネットユーザーの目に触れることはなく、サイトの管理者などが利用する。Webサーバのログを統計的に解析することで、一日あるいは一週間の時間帯ごとのトラフィックパターンを割り出したり、リファラやユーザーエージェントを分析できる。Webサーバのログを分析することで、サイト管理の効率化、ホスティングリソースの適正化、販売方針の調整の補助となる。
[編集] Linux
Linuxではサーバログは/var/log/ディレクトリ以下に、主にテキストファイルとして記録される。主なログファイルは/var/log/messagesと/var/log/secureなどであり、syslogdサービス(syslogサーバ機能)を通して書き込まれる。また、syslogdサービスを通さずに直接ログファイルを出力するプログラムもあり、例えばApache Webサーバは独自のログファイルを/var/log/httpd/ディレクトリ以下に直接書き込む仕組みになっている。
ログローテーション
サーバログは自動的に一定期間ごとに別ファイルに切り出され、圧縮ファイルとして保管される。この仕組みをログローテーションという。Linuxではこの処理のためlogrotateサービスを利用するのが一般的であり、標準設定では1週間に1回ファイルの切り分けと圧縮保存が行われる(頻度などは設定ファイルで設定可能)。
ログ解析
サーバ管理者の利便性を考慮し、各種のログファイルを自動解析してレポートを作成するツールが存在する。例えばログファイル全般のものとしてはlogwatchがあり、毎朝各種ログファイルからエラー抽出などを行い、管理者にメールを送信することが出来る。また、特定のサービスに特化した解析ツールも存在し、例えばWebサーバのログに対してはAnalogやWebalizerなどのツールが良く使われている。
データセンター内で多数のサーバやネットワーク機器のログを、(SNMPや独自の通信プロトコルを用いて)ネットワーク経由で集約し、リアルタイムでの状況表示や高度な集計作業を行う商用ソフトも、企業等では広く利用されている。
[編集] Microsoft Windows
Microsoft Windows にはイベントログがあり、形式はバイナリで、イベントビューアなどで閲覧できる。また、サードパーティのsyslogサービスをインストールすることにより、syslogイベントを受け取ることも出来る。
[編集] 脚注
[編集] 関連項目
[編集] 外部リンク
- W3C Extended Log File Format
- Syslog.org ロギング情報、議論、ヘルプなどのサイト
- Breadboard BI Web Analytics Webログ分析に関するオープンソースプロジェクト
- Cronolog ログ・ローテーションを行うプログラム
- Should I Use Page Tags, Log Files or a Hybrid Solution? ページタグとサーバログの比較