ログ検索に関するチートシート

最終更新日: 26 年 2024 月 XNUMX 日

以下に、LM ログでクエリ言語を使用する方法のヒントを示します。 詳細については、を参照してください。 LMログクエリ言語.

予約済みフィールド

LogicMonitorの予約済みフィールドは、先頭の下線で示されます。 何を検索すればよいかわからない場合は、クエリバーにアンダースコアを入力して、予約済みフィールドのリストを表示することから始めることができます。

ログクエリオプション
フィールド説明
_alert.severity警告、エラー、重大の可能性があるアラートの重大度レベル。
_anomaly.typenever_before_seenなど、検出された異常のタイプ。
_メッセージログのメッセージフィールド。 フィールド名が指定されていない場合、_messageフィールドがデフォルトの検索フィールドになります。
_リソース.グループリソースグループのフルパス。
_resource.group.idリソース グループ ID。 これらの値は、オートコンプリートによって提供されない場合があります。
_リソース.グループ名最後のスラッシュの後のフルパスの一部であるリソースグループの名前。
_resource.id監視対象リソースの ID。 これらの値は、オートコンプリートによって提供されない場合があります。
_resource.nameモニター対象リソースの名前。
_テナント.id。{}監視対象リソースのテナントID。
_ユーザーエージェントログヘッダーに含まれるユーザーエージェント名。
_resource.attributesログと監視対象リソースを関連付けるために使用されるリソース マッピング情報。
_coalesced.fields文字列形式の別のキーとして追加される過剰なメタデータ エントリ。余分なメタデータ エントリは、次の基準に基づいてこのフィールドに追加されます。
キーの長さが最大制限を超えています。
キーの正規表現形式が無効です。
_lm.コレクターIDログを処理した LM Collector の ID。
_lm.logsource_idログに適用される LogSource の ID。
_lm.logsource_nameログに適用される LogSource の名前。
_lm.logsource_typeログに適用される LogSource のタイプ (syslog、wineventlog など)。

ご注意: 取り込み用のログ データの送信を構成するときは、予約済みのフィールド名を使用しないでください。 カスタム ログ メタデータ フィールドに名前を付けるときに予約済みのフィールド名を使用すると、ログ データの取り込み時に予期しない動作が発生する可能性があります。

論理演算子

論理演算子を使用した検索では、フィルターを組み合わせるためのNOT、AND、およびORがサポートされています。

演算子説明
そして指定されたすべてのフィールドと値を含むログを検索します。_resource.name=winserver01 AND type=winevents

winserver01に関連付けられているすべてのログを表示し、タイプフィールドにwineventsも含まれます。
OR指定されたXNUMXつ以上のフィールドと値を含むログを検索します。_resource.group.name="Linux Servers" OR _resource.name~linux

「Linuxサーバー」リソースグループ内のリソース、またはリソース名に「linux」を含むリソースのすべてのログを表示します。
NOT指定されたフィールドまたは値以外のログを検索します。NOT _resource.name=winserver01

winserver01を除くすべてのリソースからのすべてのログを表示します。

比較演算子

ログ メッセージまたはメタデータに含まれる数値を比較するクエリを実行します。

演算子説明
たとえば、<、>、および >=メッセージまたはメタデータ内の特定の数値を解析します。_size>=1500

ボリュームが 1500 バイト以上のすべてのログを表示します。

高度な検索演算子

高度な検索には、検索結果の絞り込みと変更に役立つ集計、処理、および書式設定演算子が含まれます。 詳細については、次を参照してください。 高度な検索演算子.

パターンマッチング

キーワード マッチ

すべてのフリーテキスト検索は検索します の 一致の生のログメッセージ。

クエリー説明
keywordメッセージフィールドでキーワードが見つかったログのみを検索して表示します。 すべてのログメッセージで文字列または値を検索する場合に使用します。

これは、以前のLogicMonitorLogsキーワード検索と同じように機能します。
error

メッセージ フィールドに「エラー」を含むログのみがログ テーブルに表示されます。

完全に一致

パターンがフィールド値と完全に一致する場合、イベントを返します。

クエリー説明
field=wordフィールドに値wordがあるログのみを検索して表示します。

一致させたい正確な値がわかっている場合に使用します。
_resource.name=winserver01

リソース「winserver01」に関連付けられたログのみがログテーブルに表示されます。
field=word1,word2,word3フィールドの値がword1OR word2 ORword3であるログのみを検索して表示します。 コンマはOR演算子を表します。

一致させたい正確な値が複数ある場合に使用します。
_resource.name=winserver01,winserver02,
winserver03

リソース「winserver01」、「winserver02」、または「winserver03」に関連付けられたログのみがログテーブルに表示されます。
field="word with special characters"二重引用符を使用して、フィールド値の特殊文字をキャプチャします。 フィールドが「特殊文字を含む単語」と等しいすべてのログを検索します。

正確な値がわかっていて、値に特殊文字が含まれている場合に使用します。 パターンにハイフンや空白などの特殊文字が含まれている場合は、二重引用符が必要です。 非特殊文字セットは[a-zA-Z0-9 *]です。
_resource.name="win-server01"

リソース「win-server01」に関連付けられたログのみがログテーブルに表示されます。

ファジーマッチ

同様のフィールド値に一致するglob式を使用してイベントを返します。 あいまい一致では大文字と小文字は区別されません。

クエリー説明
field~wordフィールドに単語が含まれているログのみを検索して表示します。

完全一致ではなくあいまい一致が必要な場合に使用します。
_resource.name~winserver01

「winserver」を含むリソースに関連付けられたログのみが表示されます。これには、「winserver01」、「winserver02」、「winserver03」、「winserver03west」などが含まれます。
field~word1,word2,word3フィールドにword1OR word2 ORword3のいずれかが含まれているログのみを検索して表示します。 コンマはOR演算子を表します。

複数の値であいまい一致が必要な場合に使用できます。
_resource.name~winserver,linuxserver,
firewall

「winserver」、「linuxserver」、「firewall」などを含むリソースに関連付けられたログのみが表示されます。 これには、「winserver01east」、「winserver03west」、「nonprodserver」などのリソースが含まれます。
field~"word with special characters"二重引用符を使用して、フィールド値の特殊文字をキャプチャします。 フィールドに「特殊文字の単語」が含まれているすべてのログを検索します。

パターンにハイフンや空白などの特殊文字が含まれている場合は、二重引用符が必要です。 非特殊文字セットは[a-zA-Z0-9 *]です。
_resource.name~"win-server01"

「win-server01」を含むリソースに関連付けられたログのみが表示されます。これには、「win-server01」、「win-server01-east」、「win-server01-west」などが含まれます。

ご注意: ~ を使用したクエリには正規表現が使用されます。 したがって、結果の出力にはより多くのコンピューティング リソースが必要になり、完了するまでに時間がかかる場合があります。

正規表現一致

フィールド値と一致する正規表現 (Regex) を使用してログ イベントを返します。 正規表現は、前のスラッシュの中に入れる必要があります: /regular expression/.

ご注意: 注: LM ログのクエリ処理では、Go RE2 正規表現ライブラリが使用されます。 詳細については、 RE2 ドキュメントに移動.

クエリー説明
/regex/メッセージフィールドに正規表現が含まれているログを検索して表示します。

特定の構造(IPアドレス、一意の識別子など)を含むログを検索する場合に使用します。
/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/

メッセージフィールドにIPアドレスを含むログのみが表示されます。

/\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/

一意の識別子構造を含むログのみが表示されます。
field~/regex1/,/regex2/フィールドにregex1またはregex2式のいずれかが含まれているログを検索して表示します。

複数の値で正規表現を一致させる場合に使用します。

トラブルシューティング

エラーの解析

クエリに解析エラーがある場合は、構文が正しくないことが原因である可能性があります。

  1. パターンに特殊文字が含まれるすべてのパターンが二重引用符で囲まれていることを確認してください。
  2. 二重引用符がある場合は、それらが正しい二重引用符文字であることを確認してください。
  3. 正規表現パターンの「//」内に適切にエスケープされた文字が含まれていることを確認してください。

タイムアウト エラー

生ログの場合、タイムアウトは 2 分です。 検索の時間範囲が長すぎる場合 (30 日など) にタイムアウトが発生することがあります。これは、検索している取り込まれたログの量によって異なります。 検索でタイムアウト エラーが発生した場合は、時間範囲を減らしてみてください。

記事上で