での生のログデータのマッピング ヘルスログアナリティクス

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:9分
  • インスタンスにストリーミングされる生のログデータをマッピングすることで、データの処理方法が決まります。ヘルスログアナリティクス は、ログを自動的に構造化し、例外検出のメトリクスを作成して、データのタグ付け方法に基づいてアラートを表示します。

    始める前に

    必要なロール:evt_mgmt_admin

    このタスクについて

    デフォルトでは、ヘルスログアナリティクス がすべての受信ログ行と適切なタグの自動マッピングを試行します。プロパティが自動的に検出されない場合は、JavaScript 関数を定義してデータ入力ソースを手動でマッピングします。

    JavaScript 関数では、サービスインスタンス (ここではアプリケーションサービスと呼びます) のみをマップする必要があります。コンポーネントとソースタイプのマッピングはオプションです。ヘルスログアナリティクス はログデータからの値の自動抽出を試行します。試行に失敗した場合は、デフォルト値が割り当てられます。コンポーネントをマッピングし、かつソースタイプをマッピングしない場合、またはその逆の場合、システムは欠落している値をログデータから抽出しようとします。これに失敗した場合は、どちらをマッピングしたかに応じて、コンポーネント値をソースタイプに割り当てるか、その逆を行います。 この機能は、ヘルスログアナリティクスアプリケーション (バージョン 20.0.11 - July 2021、ServiceNow Store から入手可能) でサポートされています。

    注:

    (ACC データ入力のみ) フェイルオーバー保護の提供のために エージェントクライアントコレクター が別の MID サーバー に切り替わる場合は、別の ACC データ入力に切り替える必要があります。そのため、すべての ACC データ入力には同じ JavaScript 関数が必要です。ヘルスログアナリティクス は、既存および将来のすべての ACC データ入力に公開されている最新の JavaScript 関数を提供し、以前のスクリプトを置き換えます。この機能は、ヘルスログアナリティクスアプリケーション (バージョン 22.0.12 - 2021 年 12 月以降、ServiceNow Store から入手可能) でサポートされています。エージェントクライアントコレクター ログアナリティクス (ACC-L) のフェイルオーバー保護の詳細については、「エージェントクライアントコレクター ログアナリティクス」を参照してください。

    注:
    生のログデータは、ヘルスログアナリティクス でマッピングおよび構造化される前に操作できます。詳細については、「処理前の生のログデータの編集」を参照してください。

    手順

    1. 移動先 すべて > ヘルスログアナリティクス > マッピング > データ入力マッピング.
    2. レコードを開きます。
      注:
      データ入力マッピングのフォームが初めて表示される際には、ヘルスログアナリティクス がログサンプルを自動的にフェッチします。後続のセッションで、[サンプルをリフレッシュ (Refresh Samples)] を選択して新しいサンプルをフェッチします。
      注:
      HLAエンジンが停止し、データのストリーミングが停止した場合、[データ入力マッピング] ページの上部に通知が表示されます。これが発生した場合は、ServiceNow サポートにお問い合わせください。
    3. オプション: 生のログメッセージ全体を転送するには、[ヘッダー検出を無効化 (Disable header detection)] を選択して、このデータ入力の自動ヘッダープロパティ検出を無効にします。
      詳細については、「でのヘッダープロパティの検出 ヘルスログアナリティクス」を参照してください。
    4. オプション: [テストモード] の値を [オン] に設定して、テストモードを有効にします。
      テストモードでは、ヘルスログアナリティクス はソースタイプ、ソース、または標準フローで作成されるその他のオブジェクトを作成しないで、サンプルデータによる Elasticsearch ストレージの破壊を回避します。詳細については、「でのログデータの自動マッピングとマッピング ヘルスログアナリティクス」を参照してください。
    5. オプション: 現在の JavaScript 関数がログ行にどのように作用するかを表示します。
      1. サンプルメッセージを [手動サンプルのテスト (Test manual sample)] フィールドに追加します。
      2. [移動 (Go)] を選択します。
      3. 既存の JavaScript 関数がログ行にどのように作用するかに注意してください。
    6. [生の入力サンプル (Raw input sample)] フィールドでは、テスト用のログサンプルを選択します。これにより、新しい JavaScript 関数がログ行に及ぼす影響が示されます。
    7. データ入力ソースを正しいサービスインスタンス (ここではアプリケーションサービスと呼びます)、コンポーネント、およびソースタイプにマップする JavaScript 関数を定義します。
      注:
      (ACC データ入力のみ) すべての ACC データ入力によってストリーミングされたデータを、JavaScript 関数を使って処理できることを確認してください。
      1. JavaScript コンソールで、用意されているデフォルトの JavaScript 関数を変更するか、既存のカスタム JavaScript 関数を変更する、あるいは新しい関数を定義します。
        注:
        ヘルスログアナリティクス にはデフォルトの JavaScript 機能以外にも JS 関数テンプレートがあります。これらは、syslog でストリーミングした Linux OS ログ、および Filebeat でストリーミングした Windows イベントログ、または Winlogbeat でストリーミングした Winlogbeat イベントログのデータマッピングを行います。このテンプレートは、カスタムスクリプトコードの開始点として機能します。 この機能は、ヘルスログアナリティクスアプリケーション (バージョン 20.0.11 - July 2021、ServiceNow Store から入手可能) でサポートされています。
        表 : 1. JavaScript 関数テンプレート
        テンプレート 説明
        Linux OS logs streamed with Syslog Linux ログのマッピングに使用するスクリプト。さまざまなデーモンのログを正しいソースタイプ、コンポーネント、およびサービスインスタンス (ここではアプリケーションサービスと呼びます) にマッピングします。
        注:
        この JavaScript 関数が正しく機能するには、ログに Syslog ラッパーが必要です。
        Windows Eventlog streamed with Filebeat Filebeat でストリーミングされる Windows イベントログをマッピングするためのスクリプト。さまざまな Windows サービスをソースタイプ、コンポーネント、およびサービスインスタンス (ここではアプリケーションサービスと呼びます) にマッピングしてグループ化します。
        Windows-Winlogbeat logs streamed with Winlogbeat Winlogbeat でストリーミングされる Windows イベントログをマッピングするためのスクリプト。さまざまな Windows サービスを正しいソースタイプ、コンポーネント、およびサービスインスタンス (ここではアプリケーションサービスと呼びます) にマッピングします。
        生のログデータをマッピングするための JavaScript 関数では、次のオブジェクトを使用します。
        • シグネチャ:function map (sample, metadata)
          オブジェクト 説明
          sample 前処理後の現在のログサンプル。
          metadata 次を含むオブジェクト:
          • イベントストリーム:<メタデータ値> を介したアクセス。例:metadata.eventStream.origin
          • Transform ヘッダー 1:<メタデータ値> を介したアクセス。例:metadata.headers.i1.type
          • Transform ヘッダー 2:<メタデータ値> を介したアクセス。例:metadata.headers.i2.type
          • Transform ヘッダー 3:<メタデータ値> を介したアクセス。例:metadata.headers.i3.type
          • フォールバックアサイン:<メタデータ値> を介したアクセス。例:metadata.fallBacks.host
          注:
          ソースタイプごとに複数のサービスを作成して関連付けることができます。
        • 戻り値のタイプと構造
          注:
          JavaScript 関数は、2 つのエントリーのマップを返します。この戻り値の構造は変更しないでください。
          オブジェクト 説明
          applicationService このサンプルが割り当てられる既存のアプリケーションサービス (つまり、サービスインスタンス)。
          注:
          サービスインスタンスは、ログに関連する例外アラートにバインドされている必要があります。
          component このサンプルがアサインされるコンポーネント。
          sourceType このサンプルがアサインされるソースタイプ。
        • ログメッセージを破棄するには、return drop() を呼び出します。
      2. [テスト] を選択して JavaScript 関数をテストします。

        JavaScript 関数をテストすると、ログサンプルでスクリプトの結果を確認できます。表示されるフィールドの説明については、「JavaScript 関数テスト結果フィールド」を参照してください。

        注:
        新しい JavaScript 関数が思うように動作しない場合は、[JS 関数を元に戻す (Revert JS Function)] 関連リンクを選択することで、公開されている最新の関数に戻すことができます。
      3. オプション: 必要な調整を行い、JavaScript 関数をもう一度テストします。
      4. オプション: 複数のテストの結果を比較します。
        複数のバージョンの JavaScript 関数のテスト結果を比較すると、目的の結果が得られるまでスクリプトを調整することができます。
    8. JavaScript 関数が確定したら、[テンプレートを保存] を選択して保存します。
      JavaScript 関数を新しいテンプレートとして保存するか、現在選択されているテンプレートを上書きすることができます。
      • JavaScript 関数を新しいテンプレートとして保存するには、[テンプレート名] フィールドに新しい名前を入力します。
      • [JS 関数テンプレート (JS function templates)] フィールドで現在選択されているテンプレートを上書きするには、[テンプレート名] フィールドを空のままにします。
    9. [公開] を選択して、JavaScript 関数をデータベースに保存します。

    タスクの結果

    JavaScript 関数が公開されると、ヘルスログアナリティクス は、それを使用してデータ入力ソースをマッピングします。

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

    (ACC データ入力のみ) ヘルスログアナリティクス は、既存および今後のすべての ACC データ入力に対して、公開済みの Javascript 関数を提供します。以前のスクリプトは新しい JavaScript 関数に置き換わります。

    次のタスク

    • (オプション) ヘルスログアナリティクス でマッピングおよび構造化される前に、生のログデータを編集します。このタスクをすぐに実行する場合は、[プリプロセッサーに移動 (Go to Preprocessor)] 関連リンクをクリックして、[データ入力プリプロセッサー (Data Input Preprocessor)] ページに進みます。
    • (オプション) ソースタイプ構造を絞り込み、ログデータの読み込み方法を微調整します。この手順では、自動分類されたプロパティを再分類し、自動マッピングされたラベルを変更できます。