ソースタイプ構造の絞り込み

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:9分
  • ソースタイプ構造内で抽出されたプロパティをカスタマイズして、ヘルスログアナリティクス での内部ログメッセージの読み取り方法と例外のディスカバリー方法を微調整します。

    始める前に

    必要なロール:evt_mgmt_admin

    手順

    1. 移動先 すべて > Health Log Analytics (ヘルスログアナリティクス) > データ入力 > ソースタイプ構造.
    2. レコードを開きます。
      注:
      • デフォルトでは、ヘルスログアナリティクス で内部ログメッセージからトランスポートヘッダーを自動的に分離するために、[自動抽出 (Auto extraction)] が選択されています。
      • [ソースタイプ構造 (Source Type Structure)] フォームが初めて表示される際には、 ヘルスログアナリティクス がログサンプルを自動的にフェッチします。後続のセッションで、[サンプルをリフレッシュ (Refresh Samples)] を選択して最新のサンプルをフェッチします。
    3. オプション: 既存の JavaScript 関数がログ行にどのように作用するかに注意してください。
      1. サンプルメッセージを [手動サンプルのテスト (Test manual sample)] フィールドに追加します。
      2. [移動 (Go)] を選択します。
      3. [キー/値マッピング (Key/Value Mapping)] タブで、JavaScript 関数がログ行にどのように作用するかに注意してください。
    4. [生の入力サンプル (Raw input sample)] フィールドで、ログメッセージを選択します。

      JavaScript 関数をテストする際、ヘルスログアナリティクス はこのサンプルメッセージを使用して、ログ行に対して自動抽出と JavaScript 関数の両方の影響を受けた結果を表示します。

      次のフィールドは読み取り専用です。
      フィールド 説明
      期間 (ミリ秒) すべてのサンプルの処理時間 (ミリ秒)。
      削除済み すべてのサンプルで削除されたログの総数。
      エラー すべてのサンプルで発生したエラーの総数。
      タイムスタンプ抽出エラー (Timestamp extraction failures) すべてのサンプルで発生したタイムスタンプ抽出エラーの数。
      重大度抽出エラー (Severity extraction failures) すべてのサンプルで発生した重大度抽出エラーの総数。
      メッセージ抽出エラー (Message extraction failures) すべてのサンプルで発生したメッセージ抽出エラーの総数。
      冗長なプロパティ (Lengthy properties) すべてのサンプルにおける冗長なプロパティの総数。
      冗長なプロパティとは、256 文字を超えるプロパティのことです。
      注:
      ヘルスログアナリティクス では、このようなプロパティは抽出されないため、Elasticsearch でのキーワードとしてインデックス付けされることはありません。
    5. 自動的に抽出されたプロパティをカスタマイズする JavaScript 関数か、ソースタイプ構造にプロパティを追加する JavaScript 関数を定義します。
      1. JavaScript コンソールで、用意されているデフォルトの JavaScript 関数を変更するか、既存のカスタム JavaScript 関数を変更する、あるいは新しい関数を定義します。
        注:
        ヘルスログアナリティクス には、デフォルトの JavaScript 関数以外にも、ソースタイプ構造を絞り込むための JS 関数テンプレートがいくつかあります。このテンプレートは、カスタムスクリプトコードの開始点として機能します。 この機能は、ヘルスログアナリティクス アプリケーション (バージョン 20.0.11 - July 2021、ServiceNow ストアから入手可能) でサポートされています。
        JS 関数テンプレート 説明
        Extract Key_Values Using Regex

        正規表現を使用してログを一連の「キー:値」ペアとして解析し、特定の正規表現パターンを識別するためのスクリプト。ソースタイプに送信されるログデータに応じて、内部メッセージまたはログ行全体のいずれかを解析します。ソースタイプ構造にロードされたサンプルで、データがどのように表示されるかを確認できます。

        このプロセスは反復的です。すべての「キー:値」ペアペアが見つかるまで繰り返されます。

        Extract Key_Values Using split-regex

        正規表現を使用してログを一連の「キー:値」ペアとして解析し、特定の正規表現パターンを識別するためのスクリプト。このプロセスでは、最初に LIST フォームの値をキャプチャし、次に Java 分割関数を使用して「キー:値」ペアを作成します。

        生の入力に含まれるデータの形式によっては、正規表現による「キー:値」ペアの抽出よりもこちらの関数の方が効率が良いことがあります。生の入力とは、ヘッダー検出が渡される内部メッセージまたは完全な生ログ (ヘッダー検出が無効かその特定ログで機能しない場合) です。

        JSON Parse - flatten 生の入力から別のテキスト文字列の一部である JSON 情報を抽出するためのスクリプト。たとえば、情報はより長い内部メッセージの一部として記述された JSON 要求であるかもしれません。

        内部 JSON セクションは分割が困難です。このような場合、「キー:値」ペアを「フラット化」または解析するためにこのスクリプトを使用できます。

        Extract a new field from raw input 新しいフィールドのパターンを識別するために、キャプチャグループで正規表現を使用して、生の入力から新しいフィールドを抽出するためのスクリプト。
        Parse XML format XML 形式を識別するために、正規表現を使用して XML 形式から「キー:値」ペアを抽出するためのスクリプト。

        このプロセスは反復的です。すべての「キー:値」ペアペアが見つかるまで繰り返されます。

        Set numerical severity level as textual values 重大度の数値を、対応する重大度のテキスト値に変換するためのスクリプト。
        注:
        システムがログの重大度レベルを正しく識別できるようにするには、重大度をテキスト形式で指定する必要があります。重大度が数値のまま残らないようにしてください。
        Trim function 値から文字列を囲む二重引用符を削除するためのスクリプト。

        この関数を適用すると、「キー:値」ペアの出力値を囲むその他の文字を削除できます。

        ソースタイプ構造を絞り込むための JavaScript 関数は、次のオブジェクトを使用します。
        表 : 1. シグネチャ:function construct (sample, output)
        オブジェクト 説明
        sample サンプルメッセージから抽出された内部メッセージ。
        output キーと値のペアマップを含むオブジェクト。
      2. [テスト] を選択して JavaScript 関数をテストします。
      3. 関連リストで JavaScript 関数の結果を確認し、必要に応じて変更を加えます。
        • [キー/値マッピング (Key/Value Mapping)] タブには、システムの自動抽出と組み合わされた JavaScript 関数が生の入力サンプルに及ぼす影響が示されます。

          必要に応じてキーを変更できます。

          • [分類] フィールドで、プロパティの分類をリセットできます。使用可能なタイプは、次のとおりです。
            タイプ 説明
            メーター (Meter) この分類のプロパティは、各ログメッセージでのプロパティの出現回数における例外を検出します。自動根本原因分析の一部として、この値の数量の変化が示されます。
            注:
            メーターとして分類されたプロパティは、リソースを消費します。
            ステータスコード、応答コード、アクション、またはパターン
            ゲージ この分類のプロパティは、継続的に報告される数値の例外を検出します。
            注:
            分類が [ゲージ] のプロパティはリソースを消費します。
            CPU、メモリ、または応答時間
            タイムレスゲージ この分類のプロパティは、継続的に報告されない数値の例外を検出します。この値の例外については、いつ発生したかに関わらず通知されます。
            注:
            この機能は、ヘルスログアナリティクス アプリケーション (バージョン 20.0.11 - July 2021、ServiceNow ストアから入手可能) でサポートされています。
            自動根本原因 (ARC のみ) (Automatic Root Cause (ARC Only)) この分類のプロパティは、別の例外の自動根本原因分析の一部としてプロパティを報告します。プロパティ自体を例外として報告することはありません。 ユーザー名、IP アドレス、アプリケーションコンポーネント、またはデータセンター
            無効 この分類のプロパティでは、自動根本原因分析での計算や表示は行われません。
            注:
            無効として分類されたプロパティは、リソースを節約します。
          • [アサインするラベル (Labels to assign)] フィールドで、ラベルにプロパティを設定できます。
            ラベル 説明
            タイムスタンプ イベントのタイムスタンプを保持するプロパティ。
            注:
            ヘッダープロパティ検出が有効で、ソースタイプにタイムスタンプがない場合は、トランスポートヘッダーからタイムスタンプが抽出されます。ヘッダー検出が無効になっている場合や、ヘッダー検出がデータ入力の関連ログ行に対して機能しない場合は、すべてのログ行に適切なタイムスタンプが必要です。
            重大度 ログの重大度レベルを表すプロパティ。
            メッセージ ログメッセージ。システムは、このプロパティを使用してデータ内のテキストパターンを識別します。
            ホスト イベントの送信元のホストを表すプロパティ。
            注:
            ヘッダープロパティ検出が有効で、ソースタイプにホストがない場合は、トランスポートヘッダーからホストが抽出されます。ヘッダー検出が無効になっている場合や、ヘッダー検出がデータ入力の関連ログ行に対して機能しない場合は、すべてのログ行にホストが必要です。
            外部 ID (External ID) このイベントタイプの一意の識別子として機能するプロパティ。たとえば、Windows イベントログのイベント ID です。
          • [キーの名前を変更 (Rename key)] フィールドで、キーの名前を変更できます。
        • [結果のキーと値 (Outcome Key-Value)] タブには、JavaScript 関数でデータがどのように処理されるかが表示されます。
        • 残りのタブには、エラー、メッセージ抽出エラー、重大度抽出エラー、タイムスタンプ抽出エラー、および冗長なプロパティが表示されます。
        注:
        新しい JavaScript 関数が思うように動作しない場合は、[JS 関数を元に戻す (Revert JS Function)] 関連リンクを選択することで、公開されている最新の関数に戻すことができます。
      4. オプション: 必要な調整を行い、JavaScript 関数をもう一度テストします。
    6. [テンプレートを保存] オプションを選択して、JavaScript 関数を保存します。
      JavaScript 関数を新しいテンプレートとして保存するか、現在選択されているテンプレートを上書きすることができます。
      • JavaScript 関数を新しいテンプレートとして保存するには、[テンプレート名] フィールドに新しい名前を入力します。
      • [JS 関数テンプレート (JS function templates)] フィールドで現在選択されているテンプレートを上書きするには、[テンプレート名] フィールドを空のままにします。
    7. [公開] を選択して、JavaScript 関数をデータベースに保存します。

    タスクの結果

    JavaScript 関数が公開されると、 ヘルスログアナリティクス は、それを使用して内部ログメッセージの読み取り方法と例外のディスカバリー方法を微調整します。

    新しいスクリプトが、選択可能な JS 関数テンプレートのリストに自動的に追加されます。 この機能は、ヘルスログアナリティクス アプリケーション (バージョン 20.0.11 - July 2021、ServiceNow ストアから入手可能) でサポートされています。

    次のタスク

    残りのデータ入力セットアップタスクを続行します。すべてのログソースが存在していて、アクティブであることを確認し、必要に応じてタイムスタンプ形式を追加します。