ログ解析スクリプトAWStats 7.7ドキュメント |
awstats_updateallは、特定のディレクトリにあるすべての(awstats.model.confを除く)AWStats構成ファイルの更新処理を開始するので、容易にcron/スケジューラジョブをセットアップできます。スキャンされるディレクトリはデフォルトでは/etc/awstatsです。
用法: awstats_updateall.pl now [オプション]ここで、オプションは
-awstatsprog=awstats.plへのパス
-configdir=構成ファイルのディレクトリ
awstats_buildstaticpagesは、-outputオプションで可能なすべてのページをAWStatsの-staticlinksオプションで作成するようにAWStatsを起動します。
用法: awstats_buildstaticpages.pl (awstatsのオプション) [awstats静的ページ作成オプション]ここで、awstatsのオプションは、AWStatsの任意のオプションです。
-config=mysite | mysiteは構成ファイルを指定する(必須)。 |
-update | ページ作成前に更新することを指定する。 |
-lang=LL | HTMLレポートの言語LL(jp,en,de,es,fr,...) |
-month=MM | 以前の月MMのHTMLレポートを出力する。 |
-year=YYYY | 以前の年YYYYのHTMLレポートを出力する。 |
awstats静的ページ作成オプションは、
-awstatsprog=awstatsplへのパス | AWStatsスクリプト(awstats.pl)へのパスを指定する。 |
-dir=出力デイレクトリ | 生成するページのディレクトリ。 |
-builddate=%YY%MM%DD | 生成するページのファイル名に指定日付を付加する。 |
-staticlinksext=xxx | 生成するページの拡張子を.htmlでなく、.xxxにすることを指定する。 |
-buildpdf[=htmldocへのパス] | HTMLページの作成後にPDFファイルを作成することを指定する。このオプションを指定する場合、出力ディレクトリにはアイコンディレクトリ(htmldoc)が必要 |
logresolvemergeはいくつかのログファイルを日付でソートされた一つのファイルにマージします。また、すべてのIPアドレスを逆DNSルックアップしてホスト名に置き換えます。logresolvemergeは、まったく無保証です。それはGNU General Public Licenseで配布されたフリーソフトウェアです(COPYING.txtを参照のこと)。logresolvemergeはAWStatsの一部ですが、他のログアナライザを使用する前に、ログマージやレゾルバとして単独で使用できます。
用法:オプション
-dnslookup | IPアドレスを逆DNSルックアップすることを指定する。 |
-dnscache=file | ページ作成前に更新することを指定する。 |
-showsteps | 8192行ごとにベンチマーク情報を出力する |
-addfilenum | 複数の入力ファイルを使うとき、出力の第一フィールドにファイル番号をつける。 |
logresolvemergeは、コマンドラインで実行され、(日付でソートされた)いくつかのウェブサーバーログファイルをマージし、(必要なら)逆DNSルックアップを実行します。結果ログファイルは標準出力に出力します。
注意: logresolvemergeは1個のファイルをソートする'ソート'ツールではありません。ログファイルがいくつかのファイルに分かれていても、ソートされたログファイルを出力できる(逆DNSルックアップが含まれている場合もありますが)ソフトウェアです。それぞれのログファイルは前もってソートされいなければなりません(すべてのウェブサーバーログファイルはそうなっています)。それで、負荷分散されたサーバのログファイルとか、いくつかの古いログファイルを処理するのに使用できます。
logresolvemergeの第一目的がディスク上でマージすることなしに(まったくディスクスペースを使いません)、またメモリにファイルをロードしないで(まったく余分なメモリを使いません)、ソートされたデータをログアナライザに送ることなを忘れないでください。出力レコードの選択はオンザフライに行われます。
(ログアナライザに使用するために)パイプを通してディスクや、余分ののメモリの使用なしにすばやく、いくつかの、そして/または、大きいログファイルを出力する用途には、logresolvemergeは特に役に立ちます。
注意:入力レコードが「厳密に」ソートされているのではなく、「だいたい」ソートされているのだとしても(これは重いサーバで起こります)、問題にはなりません。出力も「だいたい」ソートされていることになりますが、(AWStatsのような)いくつかのログアナライザのは、そのようなログに対処できます。
警告:ログファイルが古いMACテキストファイル(行がCRで終わっている)であるなら、WindowsやUnixプラットホームでこのツールを実行できません。
警告:ActiveState Perlバージョンの重要なメモリホールのために、大きいログファイルを処理する必要があるなら、別のPerlインタプリタを使用してください。(訳註:ActivePerl build 1003では、200MB程度のファイルに適用して問題ありませんでした。)
ログ形式の自動検出
zcat/bzcatツールがPATHで利用可能であるなら、.gz/.bz2ファイルも処理できます。
新しいバージョンとFAQはhttp://www.awstats.org。
maillogconvertは、(postfix、sendmailまたはqmailサーバの)メールログファイルを人間が読める形式に変換するメールログプリプロセッサです。また、出力形式はAWStatsのようなログアナライザが使用できます。
用法:
perl maillogconvert.pl [standard|vadmin] [年] < logfile > output
最初のパラメタは、メールログファイルがどんな形式であるかを指定します:
2番目のパラメタは、現在の年が正しくない場合に(たとえば2002年のログファイルを処理する場合)、ログファイに格納する年を指定します。いつも4ケタ指定してください。指定されないなら、現在の年が使用されています。
出力が全く指定されないなら、コンソール(stdout)に出力します。
例えば、以下はポストフィックスメールログサーバからの例です。
# 1 Mail fromuser@aol.com -> touser@toserver.com, forward touser@toserver.com -> touser@mainserver.com Jan 01 07:27:31 apollon postfix/smtpd[1684]: connect from remt30.cluster1.charter.net[209.225.8.40] Jan 01 07:27:32 apollon postfix/smtpd[1684]: 2BC793B8A4: client=remt30.cluster1.charter.net[209.225.8.40] Jan 01 07:27:32 apollon postfix/cleanup[1687]: 2BC793B8A4: message-id=<36027278@vneka> Jan 01 07:27:32 apollon postfix/qmgr[13860]: 2BC793B8A4: from=<fromuser@aol.com>, size=2130, nrcpt=1 (queue active) Jan 01 07:27:32 apollon postfix/smtpd[1684]: disconnect from remt30.cluster1.charter.net[209.225.8.40] Jan 01 07:27:38 apollon postfix/local[1689]: 2BC793B8A4: to=<touser@mainserver.com>, orig_to=<touser@toserver.com>, relay=local, delay=6, status=sent ("|/usr/bin/procmail") # 2 Reject: 450 Jan 01 14:05:44 apollon postfix/smtpd[2114]: connect from baby.mainframe.nl[81.29.4.2] Jan 01 14:05:44 apollon postfix/smtpd[2114]: E0C9D3BD9A: client=baby.mainframe.nl[81.29.4.2] Jan 01 14:05:44 apollon postfix/smtpd[2114]: E0C9D3BD9A: reject: RCPT from baby.mainframe.nl[81.29.4.2]: 450 <touser2@toserver.com>: User unknown in local recipient table; from=<> to=<touser2@toserver.com> proto=ESMTP helo=<baby.mainframe.nl> Jan 01 14:10:16 juni postfix/smtpd[2568]: C34ED1432B: reject: RCPT from relay2.tp2rc.edu.tw[163.28.32.177]: 450 <unknownuser@unknownserver.com>: User unknown in local recipient table; from=<> proto=ESMTP helo=<rmail.nccu.edu.tw> # 1 From unknown Jan 01 15:17:05 apollon postfix/smtpd[29866]: connect from tomts12.bellnexxia.net[209.226.175.56] Jan 01 15:17:05 apollon postfix/smtpd[29866]: 578093B8B5: client=tomts12.bellnexxia.net[209.226.175.56] Jan 01 15:17:05 apollon postfix/cleanup[28931]: 578093B8B5: message-id=<20030905131913.EOVH11393.tomts12-srv.bellnexxia.net@tomts12-srv> Jan 01 15:17:06 apollon postfix/qmgr[965]: 578093B8B5: from=<>, size=109367, nrcpt=1 (queue active) Jan 01 15:17:06 apollon postfix/local[32432]: 578093B8B5: to=<touser@mainserver.com>, orig_to=<touser@toserver.com>, relay=local, delay=1, status=sent ("|/usr/bin/procmail") Jan 01 15:17:06 apollon postfix/smtpd[29866]: disconnect from tomts12.bellnexxia.net[209.226.175.56]
が下記のように変換されます:
2004-01-01 07:27:38 fromuser@aol.com touser@toserver.com remt30.cluster1.charter.net localhost SMTP - 1 2130 2004-01-01 14:05:44 <> touser2@toserver.com baby.mainframe.nl - SMTP - 450 0 2004-01-01 14:10:16 <> unknownuser@unknownserver.com relay2.tp2rc.edu.tw - SMTP - 450 0 2004-01-01 15:17:06 <> touser@toserver.com tomts12.bellnexxia.net localhost SMTP - 1 109367
FAQ-COM100を見て、メールログファイルを分析するのにAWStatsとmaillogconvert.plを使用する方法を確認してください。
Urlaliasbuilderは入力ファイルからの'urlalias'ファイルを生成します。入力ファイルはURLのリストを含まなければなりません(AWStats履歴ファイルも使用できます)。それぞれのURLから、スクリプトは、対応するHTMLページを読み込みヘッダー情報(タイトル)を見つけます。次に、URLごとにいくつかのフィールドのある1行を、出力ファイルに出力します:
このファイルは、AWStats urlalias pluginに使用できます。
用法:
urlaliasbuilder.pl -site=www.myserver.com [オプション]
siteパラメタはページを得るウェブサーバーを含んでいます。
ここで、オプションは:
例: urlaliasbuilder.pl -site=www.someotherhost.com
http://www.awstats.orgに新しいバージョンとFAQ
このスクリプはSimon Waightのオリジナルtitle-grabber.plから書かれた。