異常
anomaly を使用すると、機械学習を用いてログデータ内の異常なパターンと潜在的な問題を自動的に特定します。
anomaly コマンドは既存の pattern 機能を拡張し、高度な分析を活用してログデータの潜在的な異常を特定します。anomaly を使用すると、ログの異常なパターンや動作を自動的に表示することで運用上の問題の特定と解決にかかる時間を短縮できます。
anomaly コマンドは
pattern コマンドと連携し、まずログパターンを識別してからそれらのパターン内の異常を検出します。さらに、anomaly を
filter または
sort コマンドと組み合わせ、データの特定のサブセットの異常検出に焦点を当てることもできます。
異常コマンド入力
anomaly コマンドは通常、
pattern コマンドの後に使用され、ログデータで識別されるパターンを分析します。このコマンドは追加のパラメータを必要とせず、クエリ内の前述のコマンドからの出力を分析します。
特定される異常のタイプ
anomaly コマンドは、次の 5 つの異なるタイプの異常を識別します。
-
パターン頻度の異常: アプリケーションが通常よりも多くのエラーメッセージの生成を開始する場合など、特定のログパターンの異常な頻度。
-
新しいパターンの異常: ログに表示される新しいタイプのエラーやメッセージを示す、これまでに見られなかったログパターン。
-
トークンバリエーションの異常: ログメッセージのコンテンツの予期しない変更。予想されるログ形式の異常なバリエーションを示している可能性があります。
-
数値トークンの異常: パフォーマンスの潜在的な問題や予期しないメトリクスの変動を検出するのに役立つ、ログ内の数値の異常な変化。
-
HTTP エラーコードの異常: HTTP エラーレスポンスに関連するパターン。特にウェブアプリケーションと API をモニタリングする場合に便利です。
異常コマンド出力
anomaly コマンドは、入力データからのすべてのフィールドを保持し、ログデータの異常なパターンを識別するのに役立つ異常検出結果を追加します。
例
次のコマンドは、ログデータのパターンを識別し、それらのパターン内の異常を検出します。
fields @timestamp, @message | pattern @message | anomaly
anomaly コマンドはフィルタリングと併用し、特定のログタイプに焦点を当てることができます。
fields @timestamp, @message | filter @type = "REPORT" | pattern @message | anomaly
anomaly コマンドをソートと組み合わせて結果を整理できます。
fields @timestamp, @message | filter @type = "ERROR" | pattern @message | anomaly | sort @timestamp desc