サンプル EPAgent プラグインの拡張機能

サンプル EPAgent プラグインは、さらなる設定が可能なサンプル スクリプトを提供します。
apmsaas
スタンドアロン EPAgent はダウンロードできなくなりました。また、この機能は、DX APM SaaS および DX APM オンプレミス(20.x 以降)で APM インフラストラクチャ エージェントの EPAgent 拡張機能を使用してサポートされるようになりました。実装の詳細は、こちらを参照してください。ただし、既存のユーザは、ここで説明する手順を使用して、レガシー スタンドアロン EPAgent を DX APM SaaS または DX APM オンプレミス(20.x 以降)に接続できます。詳細については、「スタンドアロン EPAgent のインストールおよび設定」と「クラウド プロキシ」を参照してください。
サンプル EPAgent プラグインは、さらなる設定が可能なサンプル スクリプトを提供します。
2
2
ステートフルまたはステートレスなプロセスを監視するため、サンプル スクリプトを設定します。
以下の手順に従います。
  1. ご使用の環境に合わせてサンプル スクリプト ファイルをダウンロードします。
    Windows:
    epagent-plugins-win.tar.gz
    Linux:
    epagent-plugins-unix.tar.gz
  2. ファイルを ampia/extensions/deploy ディレクトリにコピーします。
  3. インフラストラクチャ エージェントを再起動します。
    Windows の場合
    : サンプル プラグインは ampia/extensions/EPAgent-plugins-win ディレクトリに展開されます。
    Linux
    の場合: サンプル プラグインは apmia/extensions/EPAgent-plugins-unix ディレクトリに展開されます。
  4. スクリプトを設定します。
    1. ampia/extensions/<file_name>/bin ディレクトリに移動します。
      Windows の場合
      : ampia/extensions/EPAgent-plugins-win/bin ディレクトリに移動します。
      Linux
      の場合: apmia/extensions/EPAgent-plugins-unix/bin ディレクトリに移動します。
    2. テーブルに従って、スクリプトを目的に合うよう修正します。たとえば、ファイル パスなどのログ リーダー情報を修正します。
サンプル EPAgent プラグイン スクリプト
サンプル拡張機能には、最小限の構成で使用できるプラグイン スクリプトのライブラリが含まれています。各プラグインの機能およびサポートされているオペレーティング システムは下表のとおりです。
プラグイン
機能
サポートされている環境
プロセス可用性チェック
特定の名前を持つ実行中のプロセスを検索
Linux、Windows
OS レベル ディスク統計
読み取り/書き込み、トランザクション時間、待機時間 %、ディスク容量などをレポート
Windows
Apache ログ リーダー
HTTP エラー数、トランザクション数、平均トランザクション サイズをレポート
Linux、Windows
WebLogic ログ リーダー
エラー数、警告数をレポート
Linux、Windows
WebSphere ログ リーダー
エラー数、警告数をレポート
Linux、Windows
IIS ログ リーダー
タイプごとのエラー数、使用されたページ数、IP アドレスごとのユーザ数をレポート
Windows
HTTP サービス可用性
HTTPS サービス可用性
接続の成功/失敗、接続の往復時間、平均スループット/帯域幅をレポート
Linux、Windows
すべてのサンプル プラグインで、Perl バージョン 5.00503 以降が必要です。
サンプル IA EPAgent プラグインの説明
以下のセクションでは、サンプル EPAgent プラグインが提供する各プラグインに関する具体的な情報を記載します。
windows processAvailability.pl および linux processAvailability.pl
このプラグインは、引数の値で渡されたものと一致するプロセス名の数と同じ値のメトリックを返します。返されるメトリックのタイプは、「IntCounter」です。
生成されるメトリック
これら 2 つの /bin/processAvailability.pl プラグインによって生成されるメトリックの詳細については、「プロセスの可用性メトリック」を参照してください。
コマンド ライン引数
これらのプラグインにはそれぞれ、以下の 5 つのオプションのコマンド ライン引数が必要です。
一致
検索用の Perl の正規表現
resource
メトリック名のリソース部
subResource
メトリック名のサブリソース部
metric
メトリック名の主要部
distinctMatch
この引数は値を持たず、各正規表現のそれぞれに一致するカウントを保持し、レポートするかどうかを決定します。このオプションは、指定されていれば、subResource 引数の値に優先します。
以下の例では、「sh」文字で始まるプロセスの数をレポートします。
perl processAvailability.pl -match ^sh
windows diskStats.pl
このプラグインは、Windows パフォーマンス モニタによる統計情報に基づいたディスクの使用率および容量の統計をレポートします。
このプラグインがすべての統計情報を適切にレポートするには、
diskperf -y
コマンドを発行する必要があります。その後で、新しい設定をアクティブ化するためにマシンを再起動する必要があります。
生成されるメトリック
/bin/diskStats.pl プラグインによって生成されるメトリックの詳細については、「ディスク統計情報(Windows)メトリック」を参照してください。
コマンド ライン引数
このプラグインでは、コマンド ライン引数としてディスク名を指定します。ディスク名が指定されていない場合、すべてのディスクに関する情報がレポートされます。
  • たとえば、以下のコマンドは、すべてのローカル ディスクについてのメトリックをレポートします。
    perl diskStats.pl
  • 以下のコマンドは、ディスク c: および d: のみについてのメトリックをレポートします。
    perl diskStats.pl c: d:
この引数を使用して結果の範囲を限定することをお勧めします。
これらのプラグインは、<
webserver
>LogReader.cfg ファイルで設定されているメトリックに基づくメトリックをレポートします。
それぞれの Web サーバのアプリケーション ログファイル パーサには、それぞれ独自の環境設定ファイルがあります。そのファイルには、スリープ遅延、サブリソース名、リソース名、ログファイル ディレクトリ、およびログファイル名パターンのデフォルトの値が設定されています。
プラグインは、ログ ファイルに新しいエントリが追加されるまで、Enterprise Manager へのレポートを開始しません。
生成されるメトリック
これらのプラグインによって生成されるメトリックの詳細については、以下で説明します。
コマンド ライン引数
これらのプラグインにはそれぞれ、以下の 4 つのオプションのコマンド ライン引数が必要です。
logfileDir
ログファイルが格納されるディレクトリ。
sleepTime
新しいメッセージをログファイルにログするかをチェックする間の(遅延)秒数
logfile
生成されるログファイルの名前に対応する正規表現
subResource
メトリック名のサブリソース部
例:
perl apacheLogReader.pl -sleepTime 30 -logfileDir "c:/Apache/logs"
このプラグインは、指定した URL における HTTP サービスの可用性およびパフォーマンスに基づくメトリックをレポートします。
生成されるメトリック
httpSvcAvailability.pl プラグインによって生成されるメトリックの詳細については、「HTTP/HTTPS サービス可用性メトリック」を参照してください。
コマンド ライン引数
このプラグインには、以下の 3 つのオプションのコマンドライン引数が必要です。
url
オプションでポート番号の指定のあるカンマ区切りの URL セット。ポート番号がサンプルと異なる場合、URL にその番号を含めることができます。URL には、http: または https: も含めることができます。
get
この引数には、サーバに対して発行する、HTTP 要求のカンマ区切りリスト(スペースなし)が必要です。
Web サイトによっては HEAD 要求を受け入れないことがあり、またアプリケーション サーバによっては GET がサポートされないことがあります。
この引数では、GET、HEAD のうち少なくとも 1 つを指定する必要があります。
GET と HEAD の両方が指定されると、プラグインによって HEAD が
まず実行され、続いて GET が実行されます。
: -request HEAD
metric
返されるメトリックのカンマ区切りリスト
  • av = 使用可能/接続可能(0= 不可、1= 可)
  • rt = 往復応答時間(接続の場合)
  • tp = スループット(キロバイト。返された/往復応答のキロバイト数)
  • all = すべての統計情報
: all
例:
perl bin/httpSvcAvailability.pl -url https://secure.server.com,http:8080//IIS.server.com
Perl サポートの問題
httpSvcAvailability.pl プラグイン(HTTP)の場合:
httpSvcAvailability.pl プラグイン(HTTP)では、基本的な http サービスの確認用に Perl ライブラリ libwww-per (v5.65 以降)のインストールが必要です。www.activestate.com では、libwww-perl をインストールの一部として含んだ Perl v5.6.1 を提供しています。
httpSvcAvailability.pl プラグイン(HTTPS)の場合:
  • Windows で https サービスを確認するには、Crypt-SSLeay (v0.17.1 以降)をインストールしてください。
  • Linux で https サービスを確認するには、Net-SSLeay (v1.05 以降)をインストールしてください。
ActiveState Perl に含まれる PPM パッケージ マネージャ ツールを使用すると、最も容易にインストールできます。
このプラグインは、iisLogReader.cfg ファイルでの設定に基づくメトリックをレポートします。IA EPAgent プラグインは、ログ ファイルに新しいエントリが追加されるまで、Enterprise Manager へのレポートを開始しません。
生成されるメトリック
iisLogReader.pl プラグインによって生成されるメトリックの詳細については、「IIS ログ リーダー メトリック」を参照してください。
コマンド ライン引数
このプラグインには、以下の 4 つのオプションのコマンドライン引数が必要です。
logfileDir
ログファイルが格納されるディレクトリ。
sleepTime
新しいメッセージをログファイルにログするかをチェックする間の(遅延)秒数
logfile
生成されるログファイルの名前に対応する正規表現
subResource
メトリック名のサブリソース部
例:
perl iisLogReader.pl -sleepTime 30 -logfileDir "c:/Program Files/iis/logs"
iisLogReader.cfg 環境設定ファイル
iisLogReader.cfg ファイルには、iisLogReader.pl ファイル内のコマンド ライン引数の値が含まれています。
それぞれの Web サーバのアプリケーション ログファイル パーサには、それぞれ独自の環境設定ファイルがあります。そのファイルには、スリープ遅延、サブリソース名、リソース名、ログファイル ディレクトリ、およびログファイル名パターンのサンプルの値が設定されています。環境設定ファイルには、一致の照合およびレポートの対象となるメトリックのリストも含まれています。各メトリックの設定では、match(正規表現)、metricType、metricName、および metricValue を指定できます。
LOGFILEDIR[LOGFILEDIR]
関連付けられた Web サーバのログファイルを含むディレクトリの完全パス名。
注:
スラッシュは、Windows パスの有効なパス区切り文字です(円記号も使用できます)。
デフォルト
C:/WINNT/system32/LogFiles/W3SVC1
LOGFILE
読み取るログファイルの名前。この名前は、時間の経過に伴って変化する場合(たとえば、ログファイルの循環利用)、正規表現である必要があります。この照合では、大文字と小文字が区別されません。
この値は、ファイルの名前全体(パスを除く)と一致している必要があります。
IIS が W3C 拡張ログ ファイル形式に設定されている場合、デフォルトはログファイル名と一致するように設定されます。このログ ファイル形式は、iisLogReader.pl プラグインによってサポートされる唯一の形式です。
デフォルト
ex(tend)?\d+\.log
SLEEPTIME
新しいメッセージをログファイルにログするかをチェックする間の(遅延)秒数。
カウンタ メトリックは「間隔ごと」で定義されるため、通常、SLEEPTIME は、Enterprise Manager のタイム スライス(15 秒)以上に設定する必要があります。そうしないと、カウンタ メトリックが不正確になります。
デフォルト
15
RESOURCE
メトリック名のリソース部。この値は、メトリック ツリーの[Agent]ノードの下の最初のノードに対応しています。
デフォルト
IISWebServer
SUBRESOURCE
メトリック名のサブリソース部。この値は、指定した[Resource]ノードの下のサブノードに対応しています。
デフォルト
<空>
LINE_FORMAT
この値は、IIS Web サーバがログに記録する行の形式を厳密に定義します。
行の形式のサブプロパティを、LINE_FORMAT サブプロパティの表で説明します。
デフォルト
該当なし
LINE_FORMAT サブプロパティ
以下の表では、プロパティ LINE_FORMAT、およびそのすべてのサブプロパティについて説明します。
以下の LINE_FORMAT のプロパティは、IIS Web サーバによってログ ファイルに記録されたフィールドと正確に一致する必要があります。一致しない場合、iisLogReader.pl プラグインは一部またはすべてのメトリックをレポートできなくなります。
IIS Web サーバの正確なフィールドは、IIS 管理ツール(または古いバージョンの IIS ではWeb ページ)内で設定されます。IIS4.0 および IIS5.0 で IIS Web サーバ ログのログ記録フィールドを設定できます。
デフォルトでは、IIS Web サーバは以下のフィールドにのみログを記録します。
  • Time
  • クライアント IP アドレス
  • メソッド
  • URI Stem
  • ProtocolStatus
一致させるには、デフォルトの iisLogReader.cfg ファイルでもこれら 5 つの LINE_FORMAT サブプロパティのみを有効にします。
初期状態の iisLogReader.pl プラグインでは、IIS Web サーバ ログ設定のデフォルト値を前提としています。このプラグインは、Bytes Transferred を除くすべてのメトリックをレポートできます。Bytes Transferred については、IIS Web サーバによって BytesSent データ フィールドのログが記録されていることと、iisLogReader.cfg サブプロパティ BytesSent のコメント化が解除(有効化)されていることが必要です。IIS Web サーバおよび iisLogReader.cfg の BytesSent の有効化に失敗した場合、Bytes Transferred メトリックは CA Introscope にレポートされません。
サブプロパティ行がコメント化解除されている場合、iisLogReader.pl プラグインは、IIS Web サーバ ログファイルに該当のフィールドがあると想定します。フィールドは、LOGFILEDIR および LOGFILE プロパティによって指定されます。反対に、このサブプロパティ行がコメント化されている場合、iisLogReader.pl プラグインは、ログファイルにはこのフィールドがないものと想定します。フィールドが IIS Web サーバで有効化されている場合、このサブプロパティ行の順序は、IIS Web サーバがデータをログに記録する左から右への順序に一致します。順序を変更しないでください。
DELIMITER
空白(スペース、タブ)の連続
デフォルト
\s+
FIELDS
該当なし
デフォルト
該当なし
FIELDS->Date
アクティビティが発生した日付。YYYY-MM-DD。
デフォルト
\d\d\d\d-\d\d-\d\d
FIELDS->Time
デフォルトで有効です。
アクティビティが発生した時間。グリニッジ標準時での24時間制の HH:MM:SS。
デフォルト
\d\d\d\d-\d\d-\d\d
FIELDS->ClientIPAddress
デフォルトで有効です。
使用するサーバにアクセスしたクライアントの IP アドレス。ピリオドで区切られた 4 つの数字。
デフォルト
\d+\.\d+\.\d+\.\d+
FIELDS->UserName
使用するサーバにアクセスしたユーザの名前。円記号、および英数字の任意の組み合わせ。
デフォルト
[-\\\w]+
FIELDS->ServiceName
クライアント コンピュータ上で実行中だったインターネット サービス。英数字の任意の組み合わせ。
デフォルト
\w+
FIELDS->ServerName
ログ エントリが生成されたサーバの名前。ピリオド、ハイフン、英数字の任意の組み合わせ。
デフォルト
[.-\w]+
FIELDS->ServerIPAddress
ログ エントリが生成されたサーバの IP アドレス。ピリオドで区切られた 4 つの数字。
デフォルト
\d+\.\d+\.\d+\.\d+
FIELDS->ServerPort
クライアントが接続するポート番号。1 桁以上の数字。
デフォルト
\d+
FIELDS->Method
デフォルトで有効です。
クライアントが実行を試行したアクション(たとえば、GET コマンド)。
デフォルト
GET|HEAD|PUT|POST|DELETE
FIELDS->URIStem
デフォルトで有効です。
アクセスされたリソース(HTML ページ、CGI プログラム、またはスクリプトなど)。スペース無しのシーケンス。
デフォルト
\S+
FIELDS->URIQuery
クライアントが実行を試行したクエリ、つまり、クライアントが一致を検索した1 つ以上の検索文字列(ある場合)。スペース無しのシーケンス。
デフォルト
\S+
FIELDS->ProtocolStatus
デフォルトで有効です。
HTTP を使用したアクションのステータス。
デフォルト
\d+
FIELDS->Win32Status
Windows で使用されるアクションのステータス。1 桁以上の数字。
デフォルト
\d+
FIELDS->BytesSent
サーバが送信したバイト数の合計。1 桁以上の数字。
IIS では、このフィールドはデフォルトで有効ではありません。「Bytes Transferred」メトリックを収集するには、このフィールドをオンにする必要があります。
デフォルト
\d+
FIELDS->BytesReceived
サーバが受信したバイト数の合計。1 桁以上の数字。
デフォルト
\d+
FIELDS->TimeTaken
アクションにかかった時間の長さ(ミリ秒単位)。1 桁以上の数字。
デフォルト
\d+
FIELDS->ProtocolVersion
クライアントが使用するプロトコル(HTTP、FTP)のバージョン。HTTP の場合、このバージョンは、HTTP 1.0 か HTTP 1.1 のいずれかです。英数字、スラッシュ、およびピリオドのシーケンスです。
デフォルト
[\w/.]+
FIELDS->Host
クライアントのホストです。英数字、ピリオド、コロンのシーケンスです。
デフォルト
[\w.:]+
FIELDS->UserAgent
クライアント上で使用されているブラウザ。スペース無しのシーケンス。
デフォルト
\S+
FIELDS->Cookie
送信または受信したクッキーの内容(ある場合)。スペース無しのシーケンス。
デフォルト
\S+
FIELDS->Referer
ユーザに現在のサイトを参照させたサイト。スペース無しのシーケンス。
デフォルト
\S+
IIS4.0 および IIS5.0 での IIS Web サーバ ログ記録の設定
インターネット インフォメーション サービス マネージャを起動します。
左側で、使用するコンピュータのツリー ノードを展開します。
以下の 3 つのノードが表示されます。
  • FTP サイト
  • Web サイト
  • SMTP Virtual Server
[Web サイト]ノードを右クリックし、[プロパティ]を選択します。
[プロパティ]ダイアログ ボックスが表示されます。
This image of the properties window shows the necessary options selected to configure the IIS Web Server for logging.
Web サイト
]タブを選択し、以下の項目が選択されていることを確認します。
  • [Enable Logging]チェックボックスがオン。
  • [アクティブ ログ形式]ドロップダウン リストで[W3C 拡張ログ ファイル形式]がオン。
[プロパティ]をクリックします。
[拡張ログのプロパティ]ダイアログ ボックスが表示されます。
This image shows the Extended Logging Options window with the options necessary for the plug-in to report metrics.
[General Properties]タブで、ログ ファイル ディレクトリを指定します。iisLogReader.cfg ファイ ル内の LOGFILEDIR プロパティと一致させる必要があります。
[拡張プロパティ]タブの以下のフィールドは、iisLogReader.pl プラグインがそのメトリックのすべてをレポートするのに必要/必須なものです。
  • Time
  • クライアント IP アドレス
  • メソッド
  • URI Stem
  • プロトコルの状態
  • Bytes Sent (Bytes Transferred を表示するために必要です)
有効になっているすべてのフィールドは、LINE_FORMAT->FIELDS セクションの下の iisLogReader.cfg ファイルで有効化(コメント化解除)されたフィールドに一致する必要があります。iisLogReader.cfg ファイルのこの部分は、iisLogReader.pl プラグインに、このログファイルで前提となる正しい行の形式を知らせます。不一致があると、iisLogReader.pl プラグインは、メトリックのレポートに失敗したり、不正確なメトリックをレポートしたりします。