
Sumo Logicのログ分析機能は常に、環境のセキュリティ確保、監視、トラブルシューティングに役立つ優れたインサイトを提供してきました。Query Agentは、Dojo AIの一部として提供され、自然言語による最適化されたログ検索の作成がさらに簡単になりました。
Query Agentは、結合演算子を含むさまざまな演算子と連携し、解析、集計、データ変換、フィルタリング、高度な分析、参照などを行います。結合演算子は、SQL JOINの本質を非構造化データストリームにもたらし、さらに柔軟性を高めます。
結合演算子とは何ですか?
標準的なリレーショナル結合では、結合されるテーブルのデータセットはクエリ時に固定されます。しかし、検索期間内に別々の日付で記録されたログメッセージ間でIDを照合すると、誤った結果が生じる可能性があります。なぜなら、昨日実行された操作は、今日発生したログインイベントに関連付けられるべきではないからです。
このため、当社の結合演算子では、ログメッセージを結合するための可変の時間範囲を指定できます。
下の図では、ピンクとオレンジは、異なるログメッセージの2つのストリームを表しています。どちらのメッセージにも、照合したいキーと値のペアが含まれており、両方のメッセージが黒枠で示された時間枠内に発生した場合に、そのキーと値に基づいて結合されます。

結合演算子の実践例
それでは、これを活用してみましょう。あるアプリケーションに、実際のユーザーと機械制御のユーザーの両方が存在すると仮定します。どのユーザーがどちらに該当するかを把握することで、パフォーマンスに影響を与える可能性のある機械制御ユーザーを監視できます。
実際には、人間のユーザーは比較的低い頻度でリクエストを送信しますが、機械制御のユーザー(API経由でアクセスする)は毎秒数件のリクエストを生成でき、常にログインイベントの直後にリクエストを送信します。
これらのログには、目的や値が異なる複数のメッセージが届いています。結合演算子を使用すると、ログインイベントとリクエストイベントの両方をクエリし、マッチングロジックの時間ウィンドウを制限して、2つのメッセージストリームを結合できます。この検索では、2つのサブクエリがそれぞれリクエスト/クエリイベントとログインイベントを検索します。
マッチング用の時間ウィンドウは、ログインイベントのすぐ近くに発生したリクエストを識別するために、わずか15秒に制限されています。そして、ログイン後15秒間にリクエスト数が10件未満のユーザーを除外することができます。その結果、ユーザーがログイン直後にAPI経由で大量のリクエストを積極的に発行している様子を明確に把握できます。
これが私のクエリ例です:
(login or (creating query)) | join (parse "Creating query: '*'" as query, "auth=User:*:" as user) as query, (parse "Login success for: '*'" as user) as login on query.user = login.user timewindow 15s | count by query_user | where _count > 10 | sort _count
上記の構文のとおり、サブクエリは標準のログ検索と同じ構文を使用し、集計(カウント、合計、平均など)もサポートしているため、複雑な結果を結合して必要なインサイトを得ることができます。
Sumo Logic は 2 つ以上のログストリームの結合をサポートしているため、お気に入りのデータをすべて 1 つのクエリにまとめることができます。
Dojo AI Query Agent とは何ですか?
適切な構文、時間ウィンドウ、マッチングロジックを用いて結合クエリを作成するのは、特に複数のログストリームを扱う場合には難しくなることがあります。クエリエージェントを使えば、このプロセスが簡単になります。
当社の Dojo AI エージェントチームの一員であるクエリエージェントは、Mobot からアクセスでき、自然言語の質問を Sumo Logic のログ検索クエリに変換して、プロンプトから最適化されたクエリを作成できるよう支援します。
次の例では、ユーザーが Mobot を介してクエリエージェントにプロンプトを送り、結合コマンドを作成させることで、検索用にログを簡単に結合する方法を示しています。以下のスクリーンショットでは、ユーザーがクエリエージェントに対し、サービスの changelog ログをアプリケーションログに関連付けてステータスコードを確認するよう指示しています。

クエリエージェントは、結果を表示するだけでなく、結合が使用されたことを示し、レイテンシなどの主要な指標も提示します。また、ログ検索キャンバスで簡単に使用または変更できる正確な検索コマンドも提供されます。クエリをより分かりやすくするために、クエリエージェントは検索内容を明確に説明し、その主な構成要素とそれらの関係を整理して示します。

最後の注意事項
結合演算子を使用すると、2つ以上のデータストリームからのレコードを動的に 1 つの結果セットに結合でき、SQL の内部結合と同様に機能します。また、結合演算子やその他の演算子は、Dojo AI エージェントによって強化されています。
Dojo AI が、環境の監視、トラブルシューティング、セキュリティ保護にどのように役立つかをご確認ください。実際の動作をご覧ください.



