前へ 目次 索引 次へ
Sun ONE Application Server 7 管理者ガイド

> ## 第 5 章
> ログの使用

> この章では、Sun ONE Application Server のログ機能について解説します。また、ログを利用可能なコンポーネントについても説明します。

> この章では次のトピックについて説明します。

> - ログについて
> - UNIX および Windows の各プラットフォームでのログ
> - ログレベルの使用
> - 仮想サーバーとログについて
> - ロガーについて
> - クライアントサイドのログについて
> - アプリケーションログ出力およびサーバーログ出力のリダイレクト
> - ログファイルの管理
> - コマンド行インタフェースによるログの設定
> - 管理インタフェースによるログの設定
> - エラーログ指令の設定
> - アクセスログファイルの表示
> - イベントログファイルの表示
> - ログのプリファレンスの設定
> - ログアナライザの実行
> - イベントの表示 (Windows 2000 Professional)

> ##

> ログについて

> アプリケーションでログを使用すると、デバッグと診断のための便利なツールとなります。また、開発者の生産性を高めるためにも使用できます。アプリケーションサーバーの独自のログ出力を利用すると、サーバーの設定や配備に関する問題の特定と診断を行うことができます。

> Sun ONE Application Server のログでは、Java のログ API が使用されます。Sun ONE Application Server は、logs ディレクトリにある 2 つのログファイル access.log および server.log にロギング情報を収集して保存します。独自のログファイルにログを収集することもできます。

> ログに記録されたメッセージは、単なるメッセージ以上の情報を提供します。たとえば、次のような追加情報があります。

> - イベントの日時
> - イベントのログレベル。Loglevel ID または名前で指定された Appserver
> - プロセス ID (PID)。appserv プロセスの PID
> - 仮想サーバー ID (vsid)。メッセージを生成した vsid (オプション)
> - メッセージ ID。サブシステムおよび 4 桁の整数値
> - メッセージデータ

> 追加メッセージ情報の種類と順序は、ログに使用されるプラットフォームと、そのプラットフォームで有効なログサービスによって変わります。ログメッセージの仮想サーバー ID を有効にする方法については、「ログサービスの設定」を参照してください。

> ##

> UNIX および Windows の各プラットフォームでのログ

> この節では、ログファイルの作成方法について説明します。次の項目で説明します。

> - server.log でのデフォルトのログ
> - syslog を使用したログ
> - Windows イベントログを使用したログ

> ### server.log でのデフォルトのログ

> UNIX と Windows のどちらのプラットフォームでも、ログファイルは log サブディレクトリの server.log に作成されます。インスタンスのサーバーコンポーネントと仮想サーバーのすべてから得られたログが、このファイルに収集されます。

> デフォルトでは、サーバー全体のログレベルを設定できます。ただし、デフォルトのログレベルをオーバーライドして、特定のサブシステムについて設定することも可能です。また、stdout と stderr をサーバーのイベントログへリダイレクトすることや、オペレーティングシステムのシステムログにログの出力することもできます。さらに、stdout と stderr の内容をサーバーのイベントログに出力することもできます。デフォルトでは、ログメッセージは、指定されたサーバーログファイルと stderr に送られます。

> その他、ログメッセージに仮想サーバー ID を加える機能もあります。これは、複数の仮想サーバーを使用する際、同じログファイルへメッセージを記録するのに便利な機能です。ログメッセージをシステムログに書き込むこともできます。その場合、server.log ファイルではログされません。ログの生成と管理には、UNIX では syslog ログサービスが使用され、Windows ではシステムログサービスが使用されます。

> また、server.xml 属性を使用して、このファイルの内容を管理することもできます。server.xml ファイルの詳細については、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> #### server.log の例

> server.log の例を次に示します。

> タイムスタンプ、 ログレベル、 (PID vsid(オプション)):メッセージ ID:メッセージ

> [01/Aug/2002:11:39:31] INFO ( 1224): CORE1116:Sun ONE Application Server 7.0

> [01/Aug/2002:11:39:36] INFO ( 1224):CORE5076:Using [Java HotSpot(TM) Server VM, Version 1.4.0_02-20020712] from [Sun Microsystems Inc.]

> [01/Aug/2002:11:39:50] INFO ( 1224): JMS5023: JMS service successfully started. Instance Name = domain1_server1, Home = [D:¥install_7_29¥imq¥bin].

> [01/Aug/2002:11:39:53] INFO ( 1224):CIS0056:Creating TCP ServerConnection at [EndPoint [IIOP_CLEAR_TEXT:192.18.145.66:3700:false]]

> [01/Aug/2002:11:39:53] INFO ( 1224):CIS0057:Created TCP ServerConnection at [EndPoint [IIOP_CLEAR_TEXT:192.18.145.66:3700:false]]

> [01/Aug/2002:11:39:54] INFO ( 1224):CIS0054:Creating TCP Connection from [-] to [EndPoint [IIOP_CLEAR_TEXT:192.18.145.66:3700:false]]

> 注 | コンパイル済み JSP に関するログメッセージのリダイレクト コンパイル済み JSP に関するログメッセージは、デフォルトで管理サーバーのログファイル ({domain_root}/{domain_name}/admin-server/logs/server.log) 内に格納されます。 すべてのメッセージが同じファイルに記録されるため、コンパイル済み JSP を使ってアプリケーションを配備する際に発生した例外やエラーが、その共通のログファイル内の膨大なメッセージの中で見失われる危険性があります。複数のアプリケーションを指定されたドメインに属する複数のインスタンスに配備する場合、管理サーバーのログメッセージを注意深く調べて、特定のアプリケーションの JSP に関する例外が発生していないか確認する必要があります。これは冗長な作業です。 したがって、コンパイル済み JSP を使って配備されたアプリケーションに関するメッセージは、管理サーバーの server.log ファイルではなく、サーバーインスタンスの server.log ファイルに記録することをお勧めします。 Sun ONE Application Server インスタンスの server.log ファイルにログメッセージをリダイレクトするには、Application Serverでログファイルのパスを変更します。詳細については、「ログサービスの設定」を参照してください。

> ### syslog を使用したログ

> ログの一元化が必要となるような安定した動作環境には、syslog の使用が適しています。診断やデバッグのためにログの出力が頻繁に要求されるような環境では、個々のサーバーインスタンスや仮想サーバーのログのほうが管理が容易になります。

> 注 | サーバーインスタンスおよび管理サーバーのログデータをすべて 1 つのファイルに格納すると、読み取りやデバッグが困難になります。問題なく動作している配備済みアプリケーションだけに、syslog のマスターログファイルを使用することをお勧めします。 ログに記録されたメッセージには、Solaris デーモンアプリケーションによるその他のログがすべて混在します。

> syslog ログファイルと syslogd を連動させ、システムログデーモンと共に使用する場合は、syslog.conf ファイル設定して、次のことを実行できます。

> - 適切なシステムログにメッセージを記録する
> - メッセージをシステムコンソールに書き出す
> - ログに記録されたメッセージを、ユーザーのリストや、ネットワークを介して別のホストの syslogd に転送する

> 注 | Sun ONE Application Server をインストールした時点では、サーバーのログサービス要素属性 use-system-logging は無効です。つまり、デフォルトでは、ログは UNIX の syslog または Windows の Windows イベントログに収集されません。syslog や Windows イベントログにログを収集するには、この属性を server.xml の Server 要素で有効に設定する必要があります。『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。use-system-logging を設定する前に、を参照してください。

> #### syslog の設定

> /etc ディレクトリの syslog.conf を設定して、重要度の低いメッセージを個別のファイルに収集すると、管理や読み取りが容易になります。

> #### syslog を設定するには、次の手順に従います。

> 1. 重要度の低いメッセージを個別のファイルに保存するために、Solaris の syslog.conf ファイルに次のコマンドを追加します。

> daemon.debug /var/adm/iasdebug

> 注 | Windows のイベントログにログメッセージを収集するときには、INFO、WARNING、SEVERE、ALERT、FATAL の各レベルのメッセージだけが記録されます。

> 2. syslogd にハングアップシグナルを送ります。次のコマンドを使用します。

> kill -HUP <PID syslogd>

> 3. 管理インタフェースで管理サーバーに移動し、「システムログに書き込み」オプションを選択します。変更を保存し、適用します。管理サーバーを再起動して、変更を有効にします。

> Solaris syslog.conf ファイルの設定例を次に示します。

> #ident"@(#)syslog.conf 1.5 98/12/14 SMI "/* SunOS 5.0 */

> #

> # Copyright (c) 1991-1998 by Sun Microsystems, Inc.

> # All rights reserved.

> #

> # syslog configuration file.

> #

> # This file is processed by m4 so be careful to quote (`') names

> # that match m4 reserved words. Also, within ifdef's, arguments

> # containing commas must be quoted.

> #

> *.err;kern.notice;auth.notice /dev/sysmsg

> *.err;kern.debug;mail.crit /var/adm/messages

> daemon.info;daemon.err;daemon.debug;daemon.alert;daemon.crit;daemon.warning /var/adm/iaslog

> daemon.debug /var/adm/iasdebug

> #daemon.notice; /var/adm/iaslognotice

> #daemon.warning; /var/adm/iaslogwarning

> #daemon.alert; /var/adm/iaslogalert

> #daemon.err; /var/adm/iaslogerr

> #*.alert;kern.err;daemon.err operator

> #*.alert root

> *.emerg *

> # if a non-loghost machine chooses to have authentication messages

> # sent to the loghost machine, un-comment out the following line:

> #auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost)

> mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost)

> #

> # non-loghost machines will use the following lines to cause "user"

> # log messages to be logged locally.

> #

> ifdef(`LOGHOST', ,

> user.err /dev/sysmsg

> user.err /var/adm/messages

> user.alert 'root, operator'

> user.emerg *

> )

> 詳細については、syslog.conf のマニュアルページを参照してください。

> syslog.conf に変更を加えた場合、変更内容を適用するには、Sun ONE Application Server を再起動する必要があります。

> syslog にログを行うと、Sun ONE Application Server のすべてのログが、その他のデーモンアプリケーションのログと同一のファイルに記録されます。このため、ログに記録されたメッセージには、Sun ONE Application Server 固有のメッセージと、特定のサーバーや仮想サーバーインスタンスのメッセージを区別するために、次のような情報が付加されます。

> 4. 一意のメッセージ ID
> 5. タイムスタンプ
> 6. インスタンス名
> 7. プログラム名 (appservd または appserv-wdog)
> 8. プロセス ID (appserv プロセスの PID)
> 9. スレッド ID (オプション)
> 10. サーバー ID

> サーバーインスタンスと仮想サーバーインスタンスの両方に対するログサービスを、server.xml ファイルで設定できます。仮想サーバーインスタンスのログサービス設定については、「仮想サーバーとログについて」を参照してください。サーバーインスタンスのログサービス設定については、「管理インタフェースによるログの設定」を参照してください。

> ログレベルについては、適用されるサブシステムおよびコンポーネントの管理インタフェースで設定します。

> UNIX の動作環境で使用される syslog のログメカニズムの詳細については、端末プロンプトで次の man コマンドを入力してください。

> man syslog

> man syslogd

> man syslog.conf

> #### syslog メッセージの例

> syslog メッセージの例を次に示します。

> タイムスタンプ,ホスト名 [インスタンス名], [サブシステム], [vsid], メッセージID, ログレベル, メッセージデータ

> Jul 19 14:33:18 strange /usr/lib/nfs/lockd[164]: [ID 599441 daemon.info] Number of servers not specified. Using default of 20.

> Jul 19 14:33:20 strange ntpdate[181]:[ID 558275 daemon.notice] adjust time server 192.18.56.149 offset 0.06702 6 sec

> Jul 19 14:38:13 strange xntpd[248]:[ID 204180 daemon.info] synchronisation lost

> Jul 19 14:38:47 strange server1 appservd[374]:[ID 702911 daemon.info] INFO ( 374): CORE1116:Sun ONE Application Server 7.0

> Jul 19 14:38:48 strange server1 appservd[374]:[ID 702911 daemon.info] FINE ( 374):Collecting statistics for up to 1 processes with 128 threads, 200 listen sockets, and 1000 virtual servers

> ### Windows イベントログを使用したログ

> Windows の動作環境で使用されるイベントログメカニズムの詳細については、Windows ヘルプシステムの索引でイベントログというキーワードを探してください。

> ##

> ログレベルの使用

> この節では、ログレベルと、Sun ONE Application Server の各サブシステムにログレベルを割り当てる方法について説明します。

> 次の項目があります。

> - ログレベルについて
> - syslog 設定に使用するログレベル

> ### ログレベルについて

> Sun ONE Application Server は、標準 JDK 1.4 のログレベルを使用して、ログでの情報選択を行います。Sun ONE Application Server には、標準 JDK のログレベルに加えて、server.log とのマッピングをより直観的にすることと、Solaris との統合を密接にすることを目的に設計されたログレベルが追加されています。

> ログに記録されたメッセージは、server.log に配信されるとき、「Sun ONE Application Server のログレベルの server.log へのマッピング」の定義に従って、ログレベルにマップします。

> 注 | 管理サーバーおよびデフォルトのアプリケーションサーバーインスタンスに対する server.log ファイル (または syslog) のデフォルトのログレベルは、INFO です。アプリケーションサーバーインスタンスでデフォルトのログレベルを使用する場合は、エラーと情報メッセージが記録されます。こうしたメッセージを記録しない場合は、server.xml ファイルのログレベル、または管理サーバーの管理インタフェースとデフォルトのサーバインスタンスに設定されているログレベルを、WARNING または SEVERE に変更します。 サーバーに対するデフォルトのログレベルは、log-service 要素によって設定できます。この設定は、ログレベルが「default」に設定されているすべての要素に反映されます。

> ログを有効に設定すると、Sun ONE Application Server サブシステムごとに、ログレベルを割り当てることができます。ログレベルは、実行時に記録されるメッセージ情報の量を調整するのに役立ちます。ログレベルは、目的のサブシステムの server.xml ファイルで指定されます。ログレベルを指定するには、選択したサブシステムの管理インタフェースを使用するか、server.xml ファイルを直接編集して、選択したサブシステムに適切なログレベルを設定します。

> 警告 | server.xml ファイルを手動で編集すると、構文エラーでサーバーの起動が失敗する可能性があります。設定ファイルを手動で編集する方法については、『Sun ONE Application Server 管理者用設定ファイルリファレンス』の「設定ファイルの手動編集」を参照してください。

> 管理インタフェースでログレベルを設定する例は、「JMS サービスのログレベル」の図に示されています。各サブシステムやコンポーネントに対するログレベルを server.xml ファイルで直接設定する方法については、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> 「ログ レベル」の表に示されているログレベルは、JDK 1.4 ロギング API 仕様の要件に合致しています。ただし、ALERT と FATAL は Sun ONE Application Server 固有のログレベルであり、JDK 1.4 ロギング API では実装されていません。

> 次の表は、Sun ONE Application Server のメッセージに割り当てられたログレベルを重要度の低いものから順に表しています。左側の列は Sun ONE Application Server でのログレベル指定を示し、右側の列は各ログレベルについての簡単な説明です。

> 表 5-1 ログ レベル

> ログレベル | 説明
> --- | ---
> FINEST FINER FINE | デバッグメッセージの冗長性の程度を示すメッセージ。FINEST は最大の冗長性を示す
> CONFIG | さまざまな静的設定情報に関連するメッセージ。特定の設定に関連する問題をデバッグする場合に使用できる
> INFO | 主にサーバー設定またはサーバーの状態に関する通知メッセージ。すぐに対処する必要があるエラーではない たとえば、設定の変更通知が受信され、メッセージブローカーに関する新しいトピックが作成されたというメッセージなどが記録される
> WARNING | 警告を示すメッセージ。通常、メッセージとともに例外が発行される
> SEVERE | 通常のアプリケーションの実行を阻害するような極めて重要なイベントを示すメッセージ
> ALERT* | ユーザーに特定の対処を行うように警告するメッセージ
> FATAL* | サーバーの実行を継続するには適していない致命的なエラーを示すメッセージ。サーバーのクラッシュの直前に表示される典型的なメッセージ
> * Sun ONE Application Server に固有のログレベル

> 注 | INFO よりも重大度の低いログレベル (FINEST、FINER、FINE、および CONFIG) のメッセージは、デバッグに関係する問題を解決するための情報が含まれ、テクニカルサポートに問い合わせる際に有効となります。通常、ログレベルが INFO より低いメッセージは、ローカライズされません。

> ### syslog 設定に使用するログレベル

> syslog の使用時に Sun ONE Application Server で設定できるログレベルを、次の表に示します。左側の列は Sun ONE Application Server でのログレベル指定を示し、右側の列は syslog 機能で対応するログレベルを示します。

> 表 5-2 Sun ONE Application Server のログレベルの server.log へのマッピング

> Sun ONE Application Server | syslog レベル
> --- | ---
> FINEST | LOG_DEBUG
> FINER | LOG_DEBUG
> FINE | LOG_DEBUG
> CONFIG | LOG_INFO
> INFO (デフォルト) | LOG_INFO
> WARNING | LOG_WARNING
> SEVERE | LOG_ERR
> ALERT | LOG_ALERT
> FATAL | LOG_CRIT

> ##

> 仮想サーバーとログについて

> Sun ONE Application Server には、仮想サーバーインスタンスを設定できます。アプリケーションサーバーインスタンス内の各仮想サーバーには、独自の ID があり、独自のログファイルを設定することもできます。仮想サーバーごとにログファイルを割り当てると、特定のトランザクションおよびリソースのサーバーアクティビティを追跡しやすくなります。

> 管理インタフェースで仮想サーバーのログファイル名を指定するには、ディレクトリツリーから「HTTP サーバー」のリンクへ移動し、仮想サーバーのフォルダ下のサーバーインスタンス要素を開いて、右フレームに「一般」タブを表示します。「ログファイル」フィールドに、仮想サーバーのログファイルのパスと名前を入力します。「仮想サーバーログファイル名の設定」の図は、設定する場所を示しています。

> 注 | ログを有効にしてアプリケーションを実行すると、アプリケーションからのログメッセージには、仮想サーバー ID が記録されません。

> 図 5-1 仮想サーバーログファイル名の設定

> ログに記録された複数の仮想サーバーからのメッセージを、単一のサーバーログファイルに直接収集することもできます。この場合は、server.xml ファイル内の log-service 要素の log-virtual-server-id を有効にすることもできます。これによって、異なる仮想サーバーからのログメッセージを区別できます。

> <log-service level="FINEST" log-stdout="false" log-stderr="false" echo-log-messages-to-stderr="false" create-console="false" log-virtual-server-id="true" use-system-logging="false">

> </log-service>

> <http-listener>

> <virtual-server-class>

> <virtual-server id="server1" http-listeners="http-listener-1" hosts="strange" mime="mime1" state="on" accept-language="false"/>

> <virtual-server id="server2" hosts="strange" mime="mime1"/>

> </virtual-server-class>

> </http-listener>

> この例では、<log-service log-virtual-server-id="true"> によって、各ログメッセージに virtual_server_id が挿入されます。これによって、異なる仮想サーバーからのメッセージを区別することができます。virtual-server 要素に「log-file」の属性を指定しないと、すべての仮想サーバーから単一の同じファイルへメッセージが記録されます。

> ##

> ロガーについて

> ログの有効化と無効化は、サブシステムのレベルで選択できます。サブシステム単位のログ制御は、server.xml ファイルで指定します。『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。各サブシステムは、JDK 1.4 ログ API の要件を満たす独自のロガーを持ちます。

> 次の表では、左側の列はサブシステムを示し、右側の列は各サブシステムに対応する server.xml ファイルの要素を示します。

> 表 5-3 Sun ONE Application Server のサブシステムとその場所

> サブシステム | 要素
> --- | ---
> 管理サーバー | <admin-service>
> EJB コンテナ | <ejb-container>
> Web コンテナ | <web-container>
> MDB コンテナ | <mdb-container>
> Sun ONE Message Queue (JMS サービス) | <jms-service>
> セキュリティサービス | <security-service>
> Java Transaction Service (JTS) | <transaction-service>
> Object Request Broker (ORB) | <iiop-service>
> デフォルトハンドラ1 | <log-service>

> 1デフォルトハンドラは、特定のサブシステム (ユーティリティクラスなど) に関連付けられていないすべての server.xml エントリに対するデフォルトのロガーになります。

> 図 5-2 JMS サービスのログレベル

> 注 | Windows プラットフォームでは、Windows の server.log にログを収集するよう選択した場合、INFO、WARNING、SEVERE、ALERT、FATAL の各レベルのメッセージだけが Windows イベントログに記録されます。

> 「ログ レベル」の表は、Sun ONE Application Server のメッセージに割り当てられたログレベルを重要度の低いものから順に示しています。これらのログレベルは、JDK 1.4 ログ API 仕様の要件に合致しています。ただし、ALERT と FATAL は Sun ONE Application Server 固有のログレベルであり、JDK 1.4 ログ API ではサポートされていません。

> ##

> クライアントサイドのログについて

> ACC (Application Client Container) には独自のログサービスがあり、ログはローカルファイルにのみ記録されます。

> 通常、ACC はアプリケーションサーバーとは別のホストで、独自のプロセスによって動作します。そのため、独自のログインフラストラクチャと独自のログファイルを持ちます。ACC の設定は、sun-acc.xml ファイルに保持されます。

> ACC のクライアントサブシステムログ要素は、log-service です。要素と属性を次の表に示します。それぞれ、指定のデフォルト値と値の範囲があります。

> 表 5-4 ACC ログ要素

> 要素 | 属性 | 説明
> --- | --- | ---
> log-service | file | ACC ログファイル。空または存在しない場合、stdout に記録される
> log-service | level | ACC ログレベル

> sun-acc.xml ファイルの例は、『Sun ONE 管理者用設定ファイルリファレンス』に記載されています。

> ##

> アプリケーションログ出力およびサーバーログ出力のリダイレクト

> アプリケーションコンポーネントと J2EE アプリケーションの単体テストの実行時には、開発者のためにアプリケーションログとサーバーログを利用できるようにしておく必要があります。Windows プラットフォームでは、開発者はサーバーログメッセージをデスクトップのコマンドウィンドウに表示することを好みます。一方、UNIX プラットフォームでは、サーバーインスタンスを起動した端末ウィンドウ内で stderr を実行してログメッセージストリームを出力するか、tail -f コマンドを使ってログファイル内に書き込まれたログメッセージを表示するほうが、開発者にとって好都合です。

> server.xml ファイル内の一部の属性を stdout および stderr に設定すると、記録されたメッセージをログファイルや端末ウィンドウに出力することができます。stdout および stderr の詳しい使用方法については、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> ログサービスについては、「ログサービスの設定」を参照してください。

> ##

> ログファイルの管理

> アクセスログファイルとイベントログファイル (server.log) が自動的にアーカイブされるように設定できます。指定した時刻、または指定した間隔で、ログがローテーションされます。Sun ONE Application Server は、古いログファイルに保存日時を含めた名前を付けて保存します。

> 注 | 複数の仮想サーバーを作成し、仮想サーバーごとにログファイルを関連付けることができますが、仮想サーバーごとのログのローテーションはサポートされていません。

> たとえば、1 時間おきにアクセスログファイルをローテーションし、このファイルを「access.199907152400」という名前で保存するように設定することができます。ログファイルの名前は、年、月、日、および 24 時間形式の時間が連結された単一の文字列になります。ログアーカイブファイルの形式は、設定したログローテーションの種類によって異なります。

> 注 | これらの機能は、主に Solaris 以外のプラットフォームに提供されます。 Solaris では、これらの機能はデフォルトでは有効になっていません。Solaris のネイティブのオペレーティングシステムログ管理機能 (Solaris 9 では logadm) を使用する必要があります。Solaris 8 では、「Solaris cron ユーティリティを使用した logadm のスケジュール実行」で説明している cron 機能がログ管理ユーティリティとして適しています。

> ログローテーションには、オペレーティングシステムによって 4 種類の方法があります。以下、これらの方法について説明します。説明する項目は次のとおりです。

> UNIX および Windows

> - 内部デーモンログローテーション
> - スケジューラベースのログローテーション

> Solaris 9

> - Solaris logadm ユーティリティの使用。詳細については、「Solaris logadm ユーティリティを使用したローテーション」を参照してください。

> Solaris (任意のバージョン)

> - Solaris cron ユーティリティの使用。詳細については、「Solaris cron ユーティリティを使用したローテーション」を参照してください。

> ### 内部デーモンログローテーション

> 内部デーモンログローテーションは、UNIX と Windows の両方のオペレーティングシステムで使用できます。内部デーモンログローテーションは HTTP デーモン内で実行され、サーバーインスタンスの起動時だけに設定できます。この方法でローテーションされるログは、次の形式で保存されます。

> access.<YYYY><MM><DD><HHMM>

> error.<YYYY><MM><DD><HHMM>

> ログファイルをローテーションし、新しいログファイルの使用を開始するベースとして使用される時間を指定できます。たとえば、ローテーションの開始時刻が午前 0 時で、ローテーションの間隔が 1440 分 (1 日) の場合、現在時刻に関係なく保存直後に新しいログファイルが作成され、ローテーションの開始時刻まで情報を収集します。ログファイルは毎日午前 0 時にローテーションされるため、アクセスログのタイムスタンプは午前 0 時、ファイル名は access.199907152400のようになります。同様に、ローテーションの間隔を 240 分 (4 時間) に設定した場合、午前 0 時から 4 時間おきにログがローテーションされます。アクセスログファイルには、午前 0 時から午前 4 時まで、午前 4 時から午前 8 時まで、という順に 4 時間で収集された情報が保存されます。

> ログローテーションが有効になっている場合は、サーバーの起動時にログファイルのローテーションが開始されます。ローテーションされる最初のログファイルでは、現在時刻から次のローテーション時刻までの間の情報が収集されます。前の例を使用して、開始時刻を午前 0 時に設定し、ローテーションの間隔を 240 分に設定した場合、現在時刻が午前 6 時とすると、ローテーションされる最初のログファイルには午前 6 時から午前 8 時の間に収集された情報が保存され、次のログファイルには午前 8 時から午後 12 時 (正午) までの間に収集された情報が保存されます。

> ### スケジューラベースのログローテーション

> スケジューラによるログローテーションでは、すぐにログファイルをアーカイブすることも、サーバーで特定の日の特定の時間にログファイルをアーカイブするように設定することもできます。ログファイルをその場でアーカイブするには、管理インタフェースの左側のペインで「管理サーバー」を選択します。次に、右のページの最上部にある「ログ」リンクをクリックします。次に、「ログローテーション」をクリックします。最後に、「アーカイブ」をクリックします。

> スケジューラを使用する方法でローテーションされるログは、元のファイル名の後にローテーションされた日時が追加された名前で保存されます。たとえば、午後 4 時 30 分にローテーションされる access は access.24Apr-0430PM という名前になります。

> ログローテーションは、サーバーの起動時に初期化されます。ローテーションを有効にすると、Sun ONE Application Server によってタイムスタンプ付きのアクセスログファイルが作成され、サーバーの起動時にローテーションが行われます。

> ローテーションが開始されると、事前にスケジューリングされている「次のローテーション時刻」が過ぎてからアクセスログファイルまたはエラーログファイルに記録する必要のある要求やエラーが発生した場合、Sun ONE Application Server により新しいタイムスタンプ付きのログファイルが作成されます。

> 注 | Windows プラットフォームの場合、および Solaris で syslog 以外のファイルでサーバーログを収集する場合は、このサーバーログをアーカイブする必要があります。

> ログファイルをアーカイブし、schedulerd 制御メソッドを使用するには、管理インタフェースの左側のペインから「アプリケーションサーバーインスタンス」を選択してください。次に、右のページの最上部にある「ログ」リンクをクリックします。次に、「ログのローテーション」をクリックし「スケジュールベースのログローテーション」ボックスをクリックします。最後に、「了解」をクリックします。scheduler の現在の状態が示されます。

> ### Solaris logadm ユーティリティを使用したローテーション

> Solaris 9 オペレーティングシステムには、ログに記録されたメッセージを使って関数の配列を実行するユーティリティ logadm が組み込まれています。

> Sun ONE Application Server では、Solaris cron ユーティリティからログローテーションタスクを実行する場合に、このユーティリティが役立ちます。「Solaris cron ユーティリティを使用した logadm のスケジュール実行」を参照してください。

> ログファイルについて、次に示すログローテーションの詳細を指定できます。

> - システム上でローテーションする全ログファイル名
> - ローテーション間隔
> - ローテーションをトリガーする条件
> - 保存するバックアップログファイル数
> - 保存するバックアップログファイルの名前規則

> 上記の詳細は、次の場所にある logadm.conf ファイルで指定されます。

> n /etc/logadm.conf

> サンプルの logadm.conf ファイルを、次に示します。

> # Copyright 2001-2002 Sun Microsystems, Inc. All rights reserved.

> # Use is subject to license terms.

> #

> # ident "@(#)logadm.conf 1.2 02/02/13 SMI"

> #

> # logadm.conf

> #

> # Default settings for system log file management.

> # The -w option to logadm(1M) is the preferred way to write to this

> # file,

> # but if you do edit it by hand, use "logadm -V" to check it for

> # errors.

> #

> # The format of lines in this file is:

> # <logname> <;options>

> # For each logname listed here, the default options to logadm

> # are given. Options given on the logadm command line override

> # the defaults contained in this file.

> # # logadm typically runs early every morning via an entry in

> # root's crontab (see crontab(1)).

> #

> /var/log/syslog -C 8 -P 'Tue Jul 9 10:10:00 2002' -a 'kill -HUP `cat

> /var/run/syslog.pid`' /var/adm/messages -C 4 -P 'Tue Jul 30 10:10:00 2002' -a

> 'kill -HUP `cat /var/run/syslog.pid`' /var/cron/log -c -s 512k -t /var/cron/olog

> /var/lp/logs/lpsched -C 2 -N -t '$file.$N'

> #

> # The entry below is used by turnacct(1M)

> #

> /var/adm/pacct -C 0 -N -a '/usr/lib/acct/accton pacct' -g adm -m 664 -o adm -p never

> #

> # The entry below will rotate SUN One application server's default logfile

> # every day provided the current logfile size is >= 512k. It will compress

> # the old log file before archiving it and also delete the old files after 30 days

> # . The compression is done with gzip(1) and the resulting log file has

> # the suffix of .gz.

> /var/appserver/domains/domain1/server1/logs/server.log -A 30d -s 512k -p 1d -z

> 上記とは別に、logadm コマンドを対話形式で呼び出すことにより、特定のファイルでログローテーションを起動することもできます。

> 次の例では、syslog をローテーションし、8 個のログファイルを保持します。古いログファイルは、/var/log ディレクトリではなく、/var/oldlogs ディレクトリに格納されます。

> % logadm -C8 -t'/var/oldlogs/syslog.$n' /var/log/syslog

> 対話形式のコマンド行オプションを使用して、/etc/logadm.conf で指定されているファイルでローテーションを行うこともできます。また、オプションを変更することもできます。

> /etc/logadm.conf ファイルとコマンド行の両方でオプションが指定されている場合は、/etc/logadm.conf ファイルで指定されているオプションが最初に適用されます。このため、コマンド行オプションが /etc/logadm.conf のオプションをオーバーライドします。次に例を示します。

> % logadm /var/appserver/domains/domain1/server1/logs/server.log -p now

> 上記のコマンドは、/etc/logadm.conf で設定されているファイルに対するすべてのオプションを使用して、指定されたファイルをローテーションします。

> 注 | 同時に複数のオプションを指定すると、オプション間で暗黙的に AND が適用されます。つまり、ログをローテーションするには、すべての条件が満たされる必要があります。

> logadm ユーティリティとそのオプションの詳細については、次のように入力してマニュアルページを参照してください。

> % man logadm

> または

> % logadm -h

> ### Solaris cron ユーティリティを使用したローテーション

> Solaris 8 では、cron ユーティリティを使用して、アプリケーションサーバーのログローテーションを実行できます。次のコマンドを使用します。

> % crontab -e

> 環境変数 $EDITOR で定義されたエディタが起動し、cron エントリのリストが表示されます。

> 注 | このコマンドでは、エディタの終了後、すぐに /etc/cron.d/logchecker スクリプトが実行されます。このスクリプトは、変更または追加されたcrontab のエントリを cron デーモンに送ります。cron デーモンはこの方法で追加されたエントリをただちにピックアップして、ログローテーションがすぐに起動します。 ログローテーションを有効にするために cron デーモンを再起動する必要はありません。

> この節には次の項目があります。

> - crontab エントリの形式について
> - Solaris cron ユーティリティを使用した logadm のスケジュール実行

> #### crontab エントリの形式について

> crontab ファイルの各行には、6 個のフィールドを設定します。各フィールドは、空白またはタブで区切られます。最初の 5 個のフィールドは、次の項目を指定する整数値です。

> - 分 (0-59)
> - 時間 (0-23)
> - 日付 (1-31)
> - 月 (1-12)
> - 曜日 (0-6、0 が日曜日)

> この形式を使用して、アクセスログファイルとイベントログファイルのローテーション間隔と、ローテーションの繰り返しのスケジュールを設定します。たとえば、

> 0 0 * * 1-5

> /opt/SUNWappserver7/appserver/domains/domain1/server1/bin/rotatelogs

> 0 12 * * 1-5

> /opt/SUNWappserver7/appserver/domains/domain1/server1/bin/rotatelogs

> 0 * * * 1-5

> /opt/SUNWappserver7/appserver/domains/domain1/mainserver/bin/rotatelogs

> この例では、server1 のアクセスログファイルとイベントログファイルが、月曜日から金曜日までの毎日、午前 0 時と正午にローテーションされます。mainserver のログファイルは、月曜日から金曜日までの毎日、1 時間ごとにローテーションされます。

> crontab ファイルは、/var/spool/cron/crontabs/ に格納されます。crontab ファイルの作成は、エンドユーザーとしても root としても行うことができます。ユーザーの権限によって、次のコマンドで見ることのできる crontab エントリは異なります。

> % crontab -l username

> #### Solaris cron ユーティリティを使用した logadm のスケジュール実行

> cron コマンドは、指定された日時にコマンドを実行するプロセスを起動します。/var/spool/cron/crontabs ディレクトリの crontab ファイルで見つかった命令に基づいて、コマンドが定期的なスケジュールで設定されます。

> cron で使用される定期的にスケジュールされたコマンドの例として、次の crontab エントリは logadm を毎日午前 0 時に起動します。

> 0 0 * * 0-6 logadm

> ユーザーは、 crontab(1) コマンドを使用する独自の crontab ファイルを送信できることに注意してください。

> cron が実行するすべてのアクションに関するログを保持するには、CRONLOG=YES (デフォルト) を /etc/default/cron ファイルで指定する必要があります。/etc/cron.d/logchecker は、ログファイルがシステムの ulimit を超過していないかどうかをチェックするスクリプトです。超過している場合、ログファイルは /var/cron/olog に移動されます。

> ##

> コマンド行インタフェースによるログの設定

> サーバーインスタンスおよび仮想サーバーインスタンスのコマンド行から、ログサービスの内容を設定できます。

> 注 | この節の例では、すべてのコマンドは、環境変数が設定済みであることを前提としています。

> サーバーインスタンスのすべての log-service 属性を取得するには、次のように入力します。

> asadmin> get instance_name.log-service.*

> log-service 属性は、「ログサービス属性」の表に説明されています。

> サーバーインスタンス名を指定したコマンド例を次に示します。

> asadmin> get server1.log-service.*

> server1 インスタンスのログサービスに関する属性の一覧が表示されます。set コマンドを使用すると、表示された属性をそれぞれ設定できます。

> 仮想サーバーインスタンスの仮想サーバー ID をログに記録するには、端末プロンプトに次のコマンドを入力します。

> asadmin> get instance_name.LogVirtualServerId

> LogVirtualServerId の現在の状態が表示されます。状態が false の場合は、次のように set コマンドを使用して有効にできます。

> asadmin> set instance_name.LogVirtualServerId=true

> 仮想サーバーインスタンスのログファイル名を設定するには、次の set コマンドを使用します。

> asadmin> set instance_name.virtual-server.<virtual server id>.logFile=<log file>

> たとえば、次のようなログファイルの設定コマンドを発行できます。

> asadmin> set instance2.virtual-server.instance2.logFile=/space/IAs7se/appserver7/appse rv/domains/domain1/instance2/logs/log

> コマンド構文の詳細については、コマンド行インタフェースのヘルプを参照してください。

> asadmin の使用方法の詳細については、付録 A 「コマンド行インタフェースの使用」を参照してください。

> ##

> 管理インタフェースによるログの設定

> この節では、Sun ONE Application Server の管理インタフェースを使って、サーバーワイド (グローバル) な要素、指令、およびアプリケーションコンポーネントに適用できるログサービスオプションを設定する方法を説明します。

> この節には次の項目があります。

> - ログサービスの設定
> - アプリケーションサーバーコンポーネントおよびサブシステムのログ設定
> - エラーログ指令の設定

> ### ログサービスの設定

> ログサービスは、server.xml ファイルの J2EE サービス要素カテゴリ内の要素で指定します。『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。ログサービスは、次のログファイルを含むシステムログサービスを設定するために使用されます。

> - サーバーログ
> - アクセスログ
> - トランザクションログ
> - 仮想サーバーログ

> システムログサービスの設定では、ログサービス要素の属性値を指定します。

> 図 5-3 サービスインスタンスのログサービス管理

> 「サービスインスタンスのログサービス管理」の図で示されるように、管理インタフェースでは、次に示すログサービス要素の属性を設定できます。

> - ログファイル
> - デフォルトログレベル
> - 標準出力をイベントログとして記録
> - 標準エラー出力をイベントログとして記録
> - 標準エラー出力にエコー
> - コンソールを作成
> - 仮想サーバー ID をログ
> - システムログに書き込み

> ログサービスのリンクには、管理インタフェースの左側のペインで、サーバーインスタンスのツリー階層を展開するとアクセスできます。次の表に、設定可能な属性とそのデフォルト値および許容値の範囲を示します。

> 表 5-5 ログサービス属性

> 属性 | デフォルト値 | 説明
> --- | --- | ---
> file | server.log1 | 省略可能。サーバーログの名前または場所をオーバーライドする。サーバーログが格納されているファイルおよびディレクトリは、サーバーを実行するユーザーアカウントに関係なく、常に書き込み可能な状態にしておくことが必要
> level | INFO | 省略可能。別の要素によってサーバーログに記録されるメッセージのデフォルトタイプを制御する。有効な値 (降順) は以下のとおり。FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE、ALERT、FATAL 各値は、それよりも低いレベルの値のすべてのメッセージをログに記録する。たとえば、FINEST ではすべてのメッセージが記録され、FATAL では FATAL メッセージだけが記録される。デフォルト値は INFO であり、INFO、WARNING、SEVERE、ALERT、FATAL のすべてのメッセージがログに記録される
> log-stdout | True | 省略可能。true の場合、stdout 出力がサーバーログにリダイレクトされる。有効な値は on、off、yes、no、1、0、true、false
> log-stderr | True | 省略可能。true の場合、stderr 出力がサーバーログにリダイレクトされる。有効な値は on、off、yes、no、1、0、true、false
> echo-log-messages-to-stderr | True | 省略可能。true の場合、サーバーログに加えてログメッセージが stderr に送信される。有効な値は on、off、yes、no、1、0、true、false
> create-console | False | 省略可能。true の場合、stderr 出力用に Windows オペレーティングシステムのコンソールウィンドウが作成される。有効な値は on、off、yes、no、1、0、true、false
> log-virtual-server-id | False | 省略可能。true の場合、仮想サーバー ID が仮想サーバーログに表示される。複数の virtual-server 要素が同じログファイルを共有している場合に有用
> use-system-log | False | true の場合、UNIX syslog サービスまたは Windows イベントログを使ってログの作成と管理が行われる

> 1server 要素の log-root 属性で指定されたディレクトリ

> ### アプリケーションサーバーコンポーネントおよびサブシステムのログ設定

> この節では、ログを有効にし、Sun ONE Application Server コンポーネントおよびサブシステムのログレベルを選択する方法について説明します。Java トランザクションサービスコンポーネントには、複数のログファイルがあります。ログレベルの設定方法は、ほとんどのコンポーネントおよびサブシステムに共通です。そのため、ログレベルを選択する手順は、指定したコンポーネントおよびサブシステムのグループについて 1 回だけ記載します。

> 次のコンポーネントおよびサブシステムでは、サーバーメッセージのログ方法を選択できます。これらのコンポーネントおよびサブシステムの詳細については、このマニュアルで説明されているその他の項目を参照してください。

> - ORB -「CORBA ベースのクライアントのサポートの設定」
> - Web コンテナ -「J2EE サービスの設定」
> - EJB コンテナ -「J2EE サービスの設定」
> - MDB コンテナ -「J2EE サービスの設定 (EJB コンテナ内)」
> - Java トランザクションサービス -「J2EE サービスの設定」
> - JMS サービス -「Java Message Service」
> - 仮想サーバー -「仮想サーバーの使用」

> #### ログレベルの指定方法

> ORB、Web コンテナ、EJB コンテナ、MDB コンテナ (EJB コンテナ内)、Java トランザクションサービス、および JMS サービスのログレベルを指定するには、次の手順に従います。

> 1. 管理インタフェースの左側のペインで、アプリケーションサーバーインスタンスを展開し、編集するコンポーネントおよびサブシステムを表示します。
> 2. 編集するコンポーネントまたはサブシステムのリンクをクリックします。
> 3. 管理インタフェースの右側のペインで、「ログレベル」ドロップダウンリストから、いずれかのログレベルパラメータを選択します。ログレベルについては、「ログレベルについて」を参照してください。

> #### ログレベルの指定方法 (仮想サーバー)

> ログファイルを指定するには、次の手順に従います。

> 1. 管理インタフェースの左側のペインで、アプリケーションサーバーインスタンスを展開し、HTTP サーバーサブシステムを表示します。
> 2. 「HTTP サーバー」リンクをクリックします。
> 3. 「仮想サーバー」リンクをクリックします。
> 4. 編集するサーバーインスタンスのリンクをクリックします。
> 5. 管理インタフェースの右側のペインの「一般」タブで、「ログファイル」フィールドに編集するディレクトリパスとファイル名を入力します。

> #### トランザクションログの場所の指定方法 (Java トランザクションサービス)

> トランザクションログの場所を指定するには、次の手順に従います。

> 1. 管理インタフェースの左側のペインで、アプリケーションサーバーインスタンスを展開し、トランザクションサービスサブシステムを表示します。
> 2. 「トランザクションサービス」リンクをクリックします。
> 3. 管理インタフェースの右側のペインの「詳細」フィールドグループで、「トランザクションログの位置」フィールドに編集するディレクトリパスとファイル名を入力します。

> ### エラーログ指令の設定

> Sun ONE Application Server の init.conf ファイルには、エラーログ指令が含まれています。次の指令があります。

> - エラーログの日時形式: ErrorLogDateFormat 指令では、サーバーログで使用する日付形式を指定する
> - ログのフラッシュ間隔: LogFlushInterval は、アクセスログがメモリから access.log ファイルへフラッシュされるまでの最大間隔 (秒単位) を決定する
> - Pid ログ: PidLog では、ベースサーバープロセスのプロセス ID (pid) を記録するファイルを指定する。サーバーサポートプログラムによっては、このログがサーバールートの logs/pid にあると見なす場合もある

> init.conf の全指令の詳細については、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> ##

> アクセスログファイルの表示

> 管理サーバーとアプリケーションサーバーインスタンスのどちらの HTTP ログファイルも表示できます。

> 管理サーバーの HTTP ログを表示するには、管理インタフェースの左側のペインで「管理サーバー」を選択し、右側のページで「ログ」タブを選択します。「HTTP アクセスログを表示」リンクが表示されます。このリンクを選択すると、設定済みのアクセスログが表示されます。表示されるログの例は、「管理サーバーの HTTP アクセスログ表示」の図に示されています。

> 図 5-4 管理サーバーの HTTP アクセスログ表示

> アプリケーションサーバーインスタンスのアクセスログを表示するには、管理インタフェースの左側のペインで表示するサーバーインスタンスをクリックします。右側のペインで「ログ」タブをクリックします。表示したいログのリンクをクリックすると、該当のサーバーインスタンスのアクティブな設定済みアクセスログが表示されます。「アプリケーションサーバーインスタンスのアクセスログ表示」の図に例を示します。

> 図 5-5 アプリケーションサーバーインスタンスのアクセスログ表示

> ##

> イベントログファイルの表示

> 管理サーバーとアプリケーションサーバーインスタンスのどちらのアクティブなイベントログファイルも表示できます。

> 管理サーバーのイベントログを表示するには、左側のペインで「管理サーバー」を選択し、右側のページで「ログ」タブを選択します。「イベントログを表示」リンクが表示されます。このリンクを選択すると、設定済みのイベントログが表示されます。表示されるログの例は、「管理サーバーのイベントログ表示」の図に示されています。

> 図 5-6 管理サーバーのイベントログ表示

> 管理サーバーインスタンスのイベントログを表示するには、管理インタフェースの左側のペインでサーバーインスタンスを選択し、右側のペインで「ログ」タブを選択します。「イベントログを表示」リンクが表示されます。このリンクを選択すると、設定済みのイベントログが表示されます。表示されるログの例は、「アプリケーションサーバーインスタンスのイベントログ表示」の図に示されています。

> 図 5-7 アプリケーションサーバーインスタンスのイベントログ表示

> ##

> ログのプリファレンスの設定

> インストール時に、サーバーに対して access という名前のアクセスログファイルが作成されます。アクセスをログに記録するかどうか、どのような形式でログを行うか、およびクライアントがリソースにアクセスした場合にサーバーでそのクライアントのドメイン名を検索する必要があるかどうかを指定することによって、リソースに対するアクセスログをカスタマイズできます。

> 複数の仮想サーバーに対して 1 つのログファイルを使用するには、server.xml ファイルの LogVsId をイベントログに関して有効に設定する必要があります。詳細については、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。LogVsID の設定は、管理インタフェースの「管理サーバー」の「ログ」 タブでも行うことができます。

> 管理インタフェースで「仮想サーバー ID をログ」を有効にするには、次の手順に従います。変更内容は管理サーバーの再起動後に反映されます。

> 1. 管理インタフェースの左側のペインで「管理サーバー」をクリックします。
> 2. 右側のページで「ログ」タブをクリックします。
> 3. 「仮想サーバー ID をログ」のチェックボックスをクリックします。
> 4. 「保存」ボタンをクリックして、変更を Sun ONE Application Server に適用します。

> この設定に対する変更を有効にするには、Sun ONE Application Server を再起動する必要があります。

> ##

> ログアナライザの実行

> flexanlg は、ログファイルの報告に使用するログアナライザツールです。ログアナライザは、syslog 以外のファイルにログを記録する場合にのみ使用できます。

> ログアナライザを使用すると、アクティビティの要約情報、もっとも頻繁にアクセスされる URL、サーバーがもっとも頻繁にアクセスされる時間など、デフォルトサーバーの統計情報を生成できます。ログアナライザでは、デフォルトサーバー以外の仮想サーバーの統計情報を生成できません。ただし、「アクセスログファイルの表示」で説明されているように、各仮想サーバーの統計情報を参照することは可能です。

> 注 | ログアナライザを実行する前に、サーバーログのローテーションを行う必要があります。詳細については、「ログファイルの管理」を参照してください。

> コマンド行からログアナライザコマンドを実行するには、flexanlg ツールを実行します。このツールは install_dir/bin/flexanlg ディレクトリにあります。

> flexanlg を実行するには、コマンドプロンプトに次のコマンドとオプションを入力します。

> flexanlg [ -P ] [-n name] [-x] [-r] [-p order] [-i file]* [ -m metafile ]* [ o file][ c opts] [-t opts] [-l opts] [-h help]

> コマンドオプション (* の付いたオプションは繰り返し可能)

> -i filename

> 入力ログファイル (複数可)

> -P

> プロキシログ形式

> -n servername

> サーバーの名前

> -x

> HTMLで出力

> -r

> IP アドレスをホスト名で解決

> -p [ c, t, l ]

> 出力順、デフォルトでは、カウント数 (c)、時間統計情報 (t)、一覧 (l) の順

> -m filename

> メタファイル (複数可)

> -o filename

> 出力ログファイル。デフォルトは stdout

> -c [ h, n, r, f, e, u, o, k, c, z ]

> 以下の項目のカウント数。デフォルトは h, n, r, e , u, o, k, c

> h: 合計ヒット数

> n: 304 Not Modified 状態コード (ローカルコピーを使用)

> r: 302 Found 状態コード (リダイレクト)

> f: 404 Not Found 状態コード (ドキュメントが見つからない)

> e: 500 Server Error 状態コード (設定ミス)

> u: 一意の URL の合計数

> o: 一意のホストの合計数

> k: 転送された合計 K バイト数

> c: キャッシュによって保存された合計 K バイト数

> z: どの項目もカウントしない

> -t [ sx, mx, hx, xx, z ]

> 一般的な統計情報を検索。デフォルトは、s5m5h24x10

> s (number): ログの上位 number 個を秒単位で検索

> m (number): ログの上位 number 個を分単位で検索

> h (number): ログの上位 number 個を時間単位で検索

> u (number): ログの上位 number 個をユーザー単位で検索

> a (number): ログの上位 number 個をユーザーエージェント単位で検索

> r (number): ログの上位 number 個を参照元単位で検索

> x (number): ログの上位 number 個をその他のキーワードで検索

> z: 一般的な統計情報を検索しない

> -l [ cx, hx ]

> 指定されたサブオプションの一覧を作成。デフォルトは、c+3h5

> c (x, +x): 最も頻繁にアクセスされた URL

> x: x 個のエントリのみ一覧表示

> +x: アクセス回数が x を超えた場合のみ一覧表示

> h (x, +x): サーバーに最も頻繁にアクセスしたホストまたは IP アドレス

> x: x 個のエントリのみ一覧表示

> +x: アクセス回数が x を超えた場合のみ一覧表示

> z: 一覧を作成しない

> 例: flexanlg コマンドの使用

> flexanlg -i /var/opt/SUNQappserver7/domains/domain1/server1/logs/access

> 注 | ログアナライザを実行する前に、サーバーログのアーカイブを行う必要があります。

> ##

> イベントの表示 (Windows 2000 Professional)

> Sun ONE Application Server は、server.log ファイルにエラーのログを記録し、イベントビューアには深刻なシステムエラーのログを記録します。イベントビューアでは、システム上のイベントを監視できます。イベントビューアには、基本設定の問題によって発生したエラーを表示できます。基本設定による問題は、エラーログが記録される前に発生することがあります。

> イベントビューアを使用するには、次の手順に従います。

> 1. 「スタート」メニューから、「プログラム」、「管理ツール」の順に選択します。「管理ツール」プログラムグループの「イベントビューア」を選択します。
> 2. 「ログ」メニューから「アプリケーション」を選択します。

> イベントビューアにアプリケーションログが表示されます。Sun ONE Application Server のエラーには、https-serverid というソースラベルが付いています。

> 3. こうしたラベルをログ内で検索するには、「表示」メニューから「検索」を選択します。アップデートされたログエントリを表示するには、「表示」メニューから「最新の情報に更新」を選択します。

> イベントビューアの詳細については、ご使用のシステムのマニュアルを参照してください。

> 前へ 目次 索引 次へ

> Copyright 2003 Sun Microsystems, Inc. All rights reserved.