で処理する前に生のログデータを編集する ヘルスログアナリティクス
生のログデータを変更し、ログメッセージを MID サーバーで処理する前、つまり ヘルスログアナリティクス マッピングと構造化の前に、ログメッセージを削除または分割することができます。たとえば、ユーザー名とパスワードをアスタリスク (*) に置き換えることで、機密データが ヘルスログアナリティクス に到達するのを防ぐことができます。
始める前に
必要なロール:evt_mgmt_admin
手順
- 移動先 すべて > ヘルスログアナリティクス > データ入力 > データ入力プリプロセッサ.
-
レコードを開きます。
注:前処理フォームが初めて表示される際には、ヘルスログアナリティクス がログサンプルを自動的にフェッチします。後続のセッションで、[ サンプルを更新] を選択して新しいサンプルを手動でフェッチします。
- オプション:
組織の生のログからのログサンプルが表示されないようにするには、[生のログサンプルを無効化 (Disable raw log samples)] を選択します。
ログが ヘルスログアナリティクス に公開されないようにするには、このオプションを選択します。
- オプション:
既存の JavaScript 関数がログ行にどのように作用するかに注意してください。
- サンプルメッセージを [手動サンプルのテスト (Test manual sample)] フィールドに追加します。
- [移動 (Go)] を選択します。
- 既存の JavaScript 関数がログ行にどのように作用するかに注意してください。
- [生の入力サンプル (Raw input samples)] フィールドでは、テスト用のログサンプルを選択します。これにより、新しい JavaScript 関数がログ行に及ぼす影響が示されます。
-
生のログデータが ヘルスログアナリティクス でマッピングおよび構造化される前にそのデータを変更する JavaScript 関数を定義します。
注:
(ACC データ入力のみ) フェイルオーバー保護の提供のために エージェントクライアントコレクター が別の MID サーバー に切り替わる場合は、別の ACC データ入力に切り替える必要があります。そのため、すべての ACC データ入力には同じ JavaScript 関数が必要です。ヘルスログアナリティクス は、既存および将来のすべての ACC データ入力に公開されている最新の JavaScript 関数を提供し、以前のスクリプトを置き換えます。この機能は、ヘルスログアナリティクスアプリケーション (バージョン 22.0.12 - 2021 年 12 月以降、ServiceNow Store から入手可能) でサポートされています。エージェントクライアントコレクター ログアナリティクス (ACC-L) のフェイルオーバー保護の詳細については、「エージェントクライアントコレクター ログアナリティクス」を参照してください。
-
JavaScript コンソールで、用意されているデフォルトの JavaScript 関数を変更するか、既存のカスタム JavaScript 関数を変更する、あるいは新しい関数を定義します。
注:データ前処理用のデフォルトの JavaScript 関数に加えて、ヘルスログアナリティクス は Scrubbing という名前の JavaScript 関数テンプレートを提供しています。この JavaScript 関数は、メールアドレス、社会保障番号、パスワードなどの個人を特定できる情報を生のログデータから削除します。このテンプレートは、カスタムスクリプトコードの開始点として機能します。 この機能は、ヘルスログアナリティクスアプリケーション (バージョン 20.0.11 - July 2021、ServiceNow Store から入手可能) でサポートされています。注:(ACC データ入力のみ) すべての ACC データ入力によってストリーミングされたデータを、JavaScript 関数を使って処理できることを確認してください。生のログデータを前処理するための JavaScript 関数では、次のオブジェクトを使用します。
- シグネチャ:function process (sample, metadata)
オブジェクト 説明 sample 現在のログサンプル。 metadata イベントストリームを含むオブジェクト。 イベントストリームにアクセスするには、metadata.eventStream 関数を呼び出します。イベントストリームはオブジェクトであるため、その各プロパティにアクセスするには、metadata.eventStream.origin または metadata.eventStream.LocalPort 関数を呼び出します。
利用可能なイベントストリームプロパティのリストには、[イベントストリーム:メタデータを介したアクセス (Event Stream: access via metadata)] タブでアクセスできます。
- 戻り値のタイプと構造注:JavaScript 関数は、2 つのエントリーのマップを返します。この戻り値の構造は変更しないでください。
オブジェクト 説明 modifiedInput 元のメッセージが JavaScript 関数で変更された後の、現在のログメッセージ。null の場合は、元のログメッセージが使用されます。 splitEvents 元のメッセージが JavaScript 関数で分割された後の、ログメッセージのアレイ。 - ログメッセージを破棄するには、
return drop()を呼び出します。
- シグネチャ:function process (sample, metadata)
-
JavaScript 関数をテストします。[テスト] を選択し、関連リストのログサンプルに対する結果を表示します。
タブ 説明 結果 ログサンプルに対して JavaScript 関数を実行した結果。 イベントストリーム:メタデータを介したアクセス (Event Stream: access via metadata) イベントストリームメタデータを提示するキーと値のペア。 失敗 (Failures) JavaScript 関数が正常に実行されなかったログサンプル。 注:新しい JavaScript 関数が思うように動作しない場合は、[JS 関数を元に戻す (Revert JS Function)] 関連リンクを選択することで、公開されている最新の関数に戻すことができます。 - オプション: 必要な調整を行い、JavaScript 関数をもう一度テストします。
-
JavaScript コンソールで、用意されているデフォルトの JavaScript 関数を変更するか、既存のカスタム JavaScript 関数を変更する、あるいは新しい関数を定義します。
-
[テンプレートを保存] オプションを選択して、JavaScript 関数を保存します。
JavaScript 関数を新しいテンプレートとして保存するか、現在選択されているテンプレートを上書きすることができます。
- JavaScript 関数を新しいテンプレートとして保存するには、[テンプレート名] フィールドに新しい名前を入力します。
- [JS 関数テンプレート (JS function templates)] フィールドで現在選択されているテンプレートを上書きするには、[テンプレート名] フィールドを空のままにします。
- [公開] を選択して、JavaScript 関数をデータベースに保存します。
タスクの結果
新しいスクリプトが、選択可能な JS 関数テンプレートのリストに自動的に追加されます。 この機能は、ヘルスログアナリティクスアプリケーション (バージョン 20.0.11 - July 2021、ServiceNow Store から入手可能) でサポートされています。
(ACC データ入力のみ) ヘルスログアナリティクス は、既存および今後のすべての ACC データ入力に対して、公開済みの Javascript 関数を提供します。以前のスクリプトは新しい JavaScript 関数に置き換わります。
次のタスク
[マッピングに移動 (Go to Mapping)] 関連リンクを選択して、[データ入力マッピング (Data Input Mapping)] ページに進みます。インスタンスにストリーミングする生のデータをマッピングして、ヘルスログアナリティクス でのデータの処理方法を決定します。