項目抽出

ログイベントには、異なる形式で様々な項目が記載されています。Site24x7アプリケーションログの項目抽出を使用して、ログ項目にカスタムな解析ルールを作成し、必要な情報の抽出を行えます。例えば、様々なメッセージが記載されているログで、メッセージ項目からいくつかの情報をプルしたい場合、正規表現ルールを追加して、抽出項目の作成を行えます。これにより必要な情報を抽出できます。

設定方法

  1. Site24x7にログインします。
  2. Site24x7サーバー監視エージェント(Windows | Linux)をダウンロードし、インストールします。
  3. 管理 > アプリケーションログ > ログの種類 > ログの種類の追加に移動します。

ログの種類の追加方法の詳細はこちら

例:メッセージ項目からドメインとSSL時間を抽出

次のサンプルログで、最初のログにドメイン名とSSLハンドシェイク時間が含まれています。

サンプルログ

[Thu Aug 12 14:52:23 IST 2022|DEBUG|39]:SSL Handshake Time https://zylker.com :42

[Thu May 12 14:37:51 IST 2022|DEBUG|30]: Object.wait break after up notification received...

[Thu May 12 14:37:51 IST 2022|DEBUG|42]: Up Notification received... breaking the waiting thread....

上記サンプルログに一致するログパターンは次のとおりです。

ログパターン

[$Datetime:date:EEE MMM dd HH:mm:ss z yyyy$|$LogLevel$|$Time$]:$Message$

項目抽出を使用して、カスタムな解析ルールを作成し、ログデータのメッセージ項目からドメイン名とSSLハンドシェイク時間を抽出できます。

項目抽出の作成手順

  1. サンプル出力の表で、メッセージ項目名にカーソルを合わせて、Field configuration settings iconアイコンをクリックします。項目設定の編集リンクのクリックでもアクセスできます。
  2. 開かれた「メッセージ - 項目設定」ウィンドウで、右側の抽出項目を乳六します。項目設定の編集リンクからのアクセスの場合は、左側のペインから必要な項目を選択し、抽出項目を入力します。
    1. 表示名:表示名を入力します。
    2. 正規表現:項目を解析するカスタムなルールを追加します。例えば、次の正規表現ルールを追加します:SSL\sHandshake\sTime\s(?<Domain>.*)\s:(?<SSLTime>\d+)
    3. カスタム項目名(DomeinならびにSSLTime)が自動的に画面に追加され、表示されます。カスタム項目の正確なデータタイプを選択します。現在、アプリケーションログでは、文字列と数のデータタイプがサポートされています。パーセント、IOPS、バイト、キロバイト、数といった単位をドロップダウンから選択します。
    4. ルールの追加をクリックして、カスタムな解析ルールを追加します。
    5. ルールの追加、編集、削除といったアクションを行えます。
  3. 適用をクリックして、項目設定を適用します。
  4. 保存をクリックして、設定をログプロファイルに関連付けてください。

例:メッセージ フィールドからZIPファイルの圧縮された長さと実際の長さを抽出

次のサンプルログには様々な長さのZIPファイルの抽出についてのメッセージが記載されています。

サンプルログ

[Thu Aug 12 14:52:23 IST 2022|DEBUG|39]: HttpConnection : After successful gzip extraction downloaded response(22015) was extracted to 80132 of content-length -1

上記サンプルログに一致するログパターンは次のとおりです。

ログパターン

[$Datetime:date:EEE MMM dd HH:mm:ss z yyyy$|$LogLevel$|$Time$]:$Message$

上記の手順を行って項目抽出を作成し、次の正規表現を使用して、圧縮と実際の長さの項目を取得します。

正規表現ルール

HttpConnection.response\((?<Compressed>.*)\)\swas\sextracted\sto\s(?<ActualLength>\d+).

カスタム項目名 (CompressedならびにActualLength)が、自動で画面に追加されて、表示されます。

例:メッセージ項目からユーザーメールとIPアドレスを抽出

次のサンプルログには、ユーザーのメールアドレスとIPアドレスが含まれています。

サンプルログ

Jun 7 09:22:38 10.8.0.36 : %ASA-4-722051: Group <GroupPolicyVPNCert> User <demo123@gmail.com> IP <127.0.0.1> IPv4 Address <127.0.0.1> IPv6 address <::> assigned to session

上記サンプルログに一致するログパターンは次のとおりです。

ログパターン

$Datetime:date$ $MachineIp$ : $Message$

上記の手順で項目抽出を作成し、次の正規表現を用いて、メールアドレスとIPアドレスの項目を取得します。

正規表現ルール

User\s<(?<User>.*)>\sIP\s<(?<IP>.*?)>
カスタム項目名(UserならびにIP)が自動で画面に追加されて、表示されます。

同じ項目に対して複数のルールを追加できます。例えば、同じメッセージ項目に上記全てのルールを組み合わせることができます。

次のダッシュボードで、抽出項目(ssltimeならびにcompressed)を抽出し、必要なの情報(Maximum SSL TimeAverage Download SizeAverage SSL TimeMaximum Compressed)を取得しています。

次のクエリを使用して、100を超過しているSSL時間のログを取得できます。
logtype="EumDemo" and message_ssltime>100

抽出項目のクエリ中に、fieldname_derivedfieldname形式を使用して、データのクエリを行う必要があります。例えば、message_ssltimeが、上記クエリで、メッセージ項目名とSSL時間の抽出項目を表現しています。

抽出項目で抽出した項目ごとにグループ分けしたい場合は、次のサンプルクエリを使用してください。
logtype="EumDemo" groupby message_domain

抽出項目名はアルファベット文字列のみ使用できます。例えば、次の正規表現はアルファベット以外の文字列が含まれているため、使用できません。
User\s*<(?<User_1>.*)>\s*IP\s*<(?<IP>.*?)>

関連ガイド

保存検索
アラート
複数ログパターン

トップ