ログ・ソース識別パターン
ログ・ソース ID パターンを使用して、イベントの通知時にペイロードとともに送信される ID をカスタマイズします。イベント形式とイベントタイプの識別子を選択できます。
ログ・ソース ID パターンのすべての機能を使用するには、正規表現 (regex) とその使用方法の基本を理解している必要があります。
ログ・ソース ID パターンは、キーと値のペアのリストを受け入れます。キーは、正規表現として表される識別子です。値は、イベント データと一致する正規表現です。正規表現がイベント内のデータと一致すると、その値に関連付けられている識別子を使用してイベントをポストします。
基本的な例
キー 1 = 値 1
キー 2 = 値 2
キー 3 = 値 3
この例では、イベントに値 "value1" が含まれている場合、そのイベントの識別子は key1 です。イベントに値 "value2" が含まれている場合、識別子は Key2 です。イベントに "value1" と "value2" の両方が含まれている場合は、最初の識別子 Key1 が照合されます。
この例では、識別子オプションごとに 1 つずつ、合計 3 つの Syslog ログ・ソースを手動で作成する必要があります。
正規表現の例
キー 1 = 値 1
Key2 = \d\d\d (\d\d\d は 3 桁の連続する正規表現です。
\1= \d(\d) (\d(\d) は、連続する 2 桁に一致し、2 番目の桁をキャプチャする正規表現です。\1 は、値フィールドで最初にキャプチャされた値を参照します)。
この例では、以下のステートメントが真です。
-
\d は "数字" を表します。
-
イベントに値 "value1" が含まれている場合、そのイベントの識別子は Key1 です。
-
イベントに "111" または "652" または 3 桁の連続した数字が含まれている場合、識別子は Key2 になります。
-
イベントに "11'、"73"、"24" などの 2 桁の連続した数字が含まれている場合、識別子は \1 です。正規表現は、将来括弧で使用するために 2 番目の値 (例では "1"、"3"、および "4") を保存します。正規表現によって保存された値は、後で識別子として使用されます。キーを "\1" に設定すると、キーは正規表現で最初に保存された値と一致します。この場合、識別子はハードコーディングされた値ではなく、10 個の値 (0 から 9) にすることができます。サンプル イベントには 3 つの識別子 ("1"、"3"、"4") があります。
ID Key1 および Key2 を持つログ・ソースと、可能な Key1 値ごとにログ・ソースを作成する必要があります。この例では、イベントが正しいログ・ソースに送られるために、3 つの Syslog ログ・ソースを作成する必要があります。ログ・ソースの場合、1 つは ID を "1" に設定し、1 つは ID を "3" に設定し、もう 1 つは ID を "4" に設定します。考えられるすべての識別子をキャプチャするには、10個のSyslogログソースが必要です。各ログ・ソースは 1 桁に対応します。
ログ・ソース ID パターンを使用するためのヒント
受信するデータのタイプと、ログ・ソースをどの程度細かくする必要があるかを知ることが重要です。JSA 環境はそれぞれ異なります。以下のヒントは、ログ・ソース ID パターンの構成に役立ちます。
ソースでデータを分離しておく
Microsoft Azure Event Hubs や Google Pub Sub など、ゲートウェイでサポートされているほとんどのサービスでは、ソースでデータを分離する方法が提供されています。データを別々のソースに保管して、JSA側の複雑さを軽減します。たとえば、Windows ログ、Linux ログ、監査ログを収集する場合は、3 つの個別のゲートウェイ ログ ソースを使用して構成を簡略化します。これらのログをすべて 1 つのソースに収集する場合、JSA はイベントを識別し、正しいログ・ソースに関連付ける必要があります。
可能であれば正規表現をハードコードする
キーをハードコーディングすると、値の正規表現に一致するすべてのイベントが 1 つのログ・ソースによって収集されます。このアクションは、ログ・ソースの作成と保守に必要な労力が少なくて済み、モニターが容易です。
オンライン正規表現テスターを使用する
ログ・ソースを保存して使用可能にする前に、オンライン・ツールを使用して正規表現をテストします。
イベント取得ツールを使用して識別子を確認する
イベント取得プログラムを使用して、JSA に割り当てられたログ・ソース ID を表示します。また、正規表現と識別子が正しく一致していることをテストするためにも使用できます。