サポートセンターホーム


LMログクエリ言語

Logsクエリ言語は、キーワード検索やリソース、グループ、パイプライン、時間範囲によるフィルタリングを超えて、標準の検索機能を拡張します。 フィルタを論理演算子と組み合わせたり、ログから解析されたフィールドと値に基づいてイベントをフィルタリングしたり、パターンをglob式や正規表現と照合したりするという追加の柔軟性により、次のことができます。

  • トラブルシューティング時に関連するログをすばやく見つけるために、情報を絞り込みます。 
  • レポートまたはアラートの時間範囲にわたるログメッセージからのアクティビティを要約します。
クエリバーのあるログページ

クエリバーの使用

検索とフィルタリングは、ログページの上部にあるクエリバーから実行されます。 

オートコンプリートを使用する

クエリバーに入力すると、オートコンプリートメニューが開き、入力内容とログにある情報に基づいてオプションのリストが表示されます。

リストからフィールドを選択するか、フィールド名を入力すると、オートコンプリートによってそのフィールドの可能な値が提案されます。

完全なキーワードまたはfield = valueのペアを入力した後、オートコンプリートはクエリの作成に役立つ提案を引き続き提供します。 たとえば、論理演算子AND、OR、およびNOTのオプションが表示される場合があります。

検索は自動的には実行されません。 クエリの作成が完了したら、検索アイコンをクリックしてクエリを実行します。

検索履歴を表示する

クエリバーの左側にある時計アイコンをクリックすると、最近の検索を表示および管理できます。 最近の検索メニューには、履歴の最後の10件の検索が表示されます。 このリストから個々の検索を削除するか、すべての検索をクリアすることができます。 

クエリバーの右側にあるスターアイコンをクリックして、検索を保存します。

クエリを書く

予約済みフィールドのオートコンプリート

どこから始めればよいかわからない場合は、アンダースコアを入力すると、オートコンプリートにより、リソース名、リソースグループ、ログアラートの重大度、異常の種類など、LogicMonitorの予約済みフィールドのリストが表示されます。 

パターンマッチング

クエリ言語は柔軟性があり、ログの検索をフィルタリングおよび絞り込むのに役立ついくつかの異なる方法をサポートしています。キーワード、完全一致、あいまい一致、正規表現一致です。

表現 製品説明
キーワード キーワード検索は、ログメッセージフィールドを検索し、指定された単語またはフレーズを含むログを返します。
完全に一致 field = valueのペアを検索すると、フィールドに指定された正確な値が含まれるログが返されます。
あいまい一致 完全一致が必要ない場合は、glob式を使用して値を記述するあいまい一致パターンを定義できます。 あいまい一致では大文字と小文字は区別されません。
正規表現の一致 正規表現を使用して、一致するパターンを定義できます。 正規表現はスラッシュの内側に配置する必要があります。

論理演算子

論理演算子AND、OR、およびNOTを使用して、複数のフィルターを組み合わせてログの検索を絞り込むことができます。 オートコンプリートは、完全なキーワードまたはフィールド=値のペアを入力した後、論理演算子を提案します。

演算子 製品説明
NOT 指定されたキーワードまたはフィルター以外のログを検索します。
そして 指定されたすべてのキーワードとフィルターを含むログを検索します。
OR 指定されたXNUMXつ以上のキーワードとフィルターを含むログを検索します。

次の例は、クエリ言語を使用してログを検索およびフィルタリングするための構文を示しています。 その他の使用例については、を参照してください。 ログ検索に関するチートシート.

例1:完全一致

メッセージフィールドにキーワード「error」が含まれている場合、「winserver01」または「win-server01」という名前のリソースからログを返します。

error AND _resource.name=winserver01,"win-server01"

この検索を作成する別の方法は次のとおりです。

error AND ( _resource.name=winserver01 OR _resource.name="win-server01" )

例2:あいまい一致

メッセージフィールドにキーワード「Invalidlogin」が含まれている場合、名前に「linux」という単語が含まれているリソースからログを返します。

"Invalid login" AND _resource.name~linux

例3:グループとサブグループ

次の例は、グループとサブグループの検索を示しています。 これらの例は、フルパス「Pods /p02.prod」と「KubernetesCluster:services / p01-us-west」を持つグループにアクセスできることを前提としています。

すべてのサブグループと直接デバイスのログを検索するには、次の手順に従います。

_resource.group~/Pods\/p02.prod($|\/)/

ログで直接デバイスのみを検索するには:

_resource.group="Pods/p02.prod"

親グループに関係なく、グループ名でログを検索するには、次の手順に従います。

_resource.group.name~"p01-us-west"

例4:予約されていないフィールド

予約されていないフィールドをクエリするには、ネストされたフィールド名とそのデータ型を知っている必要があります。 たとえば、GETリクエストを検索するには、次のクエリを使用します。

method.string=GET

注意: データ型は、将来の実装では必要ありません。

記事上で