インスタンスにストリーミングされる生のログデータをマッピングすることで、データの処理方法が決まります。 ヘルスログアナリティクス は、ログを自動的に構造化し、例外検出のメトリクスを作成して、データのタグ付け方法に基づいてアラートを表示します。
始める前に
必要なロール:evt_mgmt_admin
このタスクについて
デフォルトでは、ヘルスログアナリティクス がすべての受信ログ行と適切なタグの自動マッピングを試行します。プロパティが自動的に検出されない場合は、JavaScript 関数を定義してデータ入力ソースを手動でマッピングします。JavaScript 関数では、アプリケーションサービスのみをマッピングする必要があります。コンポーネントとソースタイプのマッピングはオプションです。 ヘルスログアナリティクス はログデータからの値の自動抽出を試行します。試行に失敗した場合は、デフォルト値が割り当てられます。コンポーネントをマッピングし、かつソースタイプをマッピングしない場合、またはその逆の場合、システムは欠落している値をログデータから抽出しようとします。これに失敗した場合は、どちらをマッピングしたかに応じて、コンポーネント値をソースタイプに割り当てるか、その逆を行います。 この機能は、ヘルスログアナリティクス アプリケーション (バージョン 20.0.11 - July 2021、ServiceNow ストアから入手可能) でサポートされています。
注: (ACC データ入力のみ) フェイルオーバー保護の提供のために エージェントクライアントコレクター が別の MID サーバー に切り替わる場合は、別の ACC データ入力に切り替える必要があります。そのため、すべての ACC データ入力には同じ JavaScript 関数が必要です。ヘルスログアナリティクス は、既存および将来のすべての ACC データ入力に公開されている最新の JavaScript 関数を提供し、以前のスクリプトを置き換えます。この機能は、ヘルスログアナリティクス アプリケーション (バージョン 22.0.12 - 2021 年 12 月以降、ServiceNow Store から入手可能) でサポートされています。エージェントクライアントコレクター Log Analytics (ACC-L) のフェイルオーバー保護の詳細については、「エージェントクライアントコレクター ログアナリティクス」を参照してください。
注: 生のログデータは、
ヘルスログアナリティクス でマッピングおよび構造化される前に操作できます。詳細については、「
処理前の生のログデータの編集」を参照してください。
手順
-
移動先 .
-
レコードを開きます。
注: データ入力マッピングのフォームが初めて表示される際には、ヘルスログアナリティクス がログサンプルを自動的にフェッチします。後続のセッションで、[サンプルをリフレッシュ (Refresh Samples)] を選択して新しいサンプルをフェッチします。
注: ヘルスログアナリティクス AI エンジンが停止し、データのストリーミングが停止した場合、データ入力マッピングページの上部に通知が表示されます。これが発生した場合は、ServiceNow サポートにお問い合わせください。
- オプション:
生のログメッセージ全体を転送するには、[ヘッダー検出を無効化 (Disable header detection)] を選択して、このデータ入力の自動ヘッダープロパティ検出を無効にします。
- オプション:
[テストモード] の値を [オン] に設定して、テストモードを有効にします。
テストモードでは、
ヘルスログアナリティクス はソースタイプ、ソース、または標準フローで作成されるその他のオブジェクトを作成しないで、サンプルデータによる
Elasticsearch ストレージの破壊を回避します。詳細については、「
ログデータの自動マッピングとマッピング」を参照してください。
- オプション:
現在の JavaScript 関数がログ行にどのように作用するかを表示します。
-
サンプルメッセージを [手動サンプルのテスト (Test manual sample)] フィールドに追加します。
-
[移動 (Go)] を選択します。
-
既存の JavaScript 関数がログ行にどのように作用するかに注意してください。
-
[生の入力サンプル (Raw input sample)] フィールドでは、テスト用のログサンプルを選択します。これにより、新しい JavaScript 関数がログ行に及ぼす影響が示されます。
-
データ入力ソースを適切なアプリケーションサービス、コンポーネント、およびソースタイプにマッピングする JavaScript 関数を定義します。
注: (ACC データ入力のみ) すべての ACC データ入力によってストリーミングされたデータを、JavaScript 関数を使って処理できることを確認してください。
-
JavaScript コンソールで、用意されているデフォルトの JavaScript 関数を変更するか、既存のカスタム JavaScript 関数を変更する、あるいは新しい関数を定義します。
注: ヘルスログアナリティクス にはデフォルトの JavaScript 機能以外にも JS 関数テンプレートがあります。これらは、syslog でストリーミングした
Linux OS ログ、および
Filebeat でストリーミングした
Windows イベントログ、または
Winlogbeat でストリーミングした
Winlogbeat イベントログのデータマッピングを行います 。このテンプレートは、カスタムスクリプトコードの開始点として機能します。
この機能は、ヘルスログアナリティクス アプリケーション (バージョン 20.0.11 - July 2021、ServiceNow ストアから入手可能) でサポートされています。
生のログデータをマッピングするための JavaScript 関数では、次のオブジェクトを使用します。
-
[テスト] を選択して JavaScript 関数をテストします。
JavaScript 関数をテストすると、ログサンプルでスクリプトの結果を確認できます。表示されるフィールドの説明については、「JavaScript 関数テスト結果フィールド」を参照してください。
注: 新しい JavaScript 関数が思うように動作しない場合は、[JS 関数を元に戻す (Revert JS Function)] 関連リンクを選択することで、公開されている最新の関数に戻すことができます。
- オプション:
必要な調整を行い、JavaScript 関数をもう一度テストします。
- オプション:
複数のテストの結果を比較します。
複数のバージョンの JavaScript 関数のテスト結果を比較すると、目的の結果が得られるまでスクリプトを調整することができます。
-
JavaScript 関数が確定したら、[テンプレートを保存] を選択して保存します。
JavaScript 関数を新しいテンプレートとして保存するか、現在選択されているテンプレートを上書きすることができます。
-
[公開] を選択して、JavaScript 関数をデータベースに保存します。