検出ルールのトラブルシューティング
ランタイム エラーはルールの実行中に発生し、ルールが正常に実行されないことがあります。このドキュメントでは、一般的なランタイムの問題のトラブルシューティングについて説明します。
デプロイ前にルールをテストすることで、ランタイム エラーを防止できます。ルールエディタで [Run Test] をクリックします。エラーが検出された場合は、エラーリンクをクリックして詳細を確認します。
ルールの実行中にエラーが発生した場合は、[検出] ページのエラーリンクをクリックして詳細を確認します。
クエリの構文エラーとロジックエラー
これらのエラーは、クエリ構造が無効であるか、複雑すぎるか、互換性のないデータ型を使用している場合に発生します。
| エラー メッセージ | 根本的な原因 | 解決策 |
|---|---|---|
Too many `OR` and `AND` operations
|
クエリに、スタック スペースの上限を超える深くネストされた式またはロジックが含まれています。 | ルールの条件を簡素化します。 複雑なロジックを小さな部分に分割する。 |
Query is too long
|
クエリの処理に必要なスタック スペースが大きすぎます。 | ロジックを複数のルールに分割します。 |
Accessing a new field that did not exist for this time range
|
ルールは、スキーマに最近追加されたフィールドを参照していますが、ルールは、そのフィールドが存在しなかった期間にわたって実行されています。 | フィールドが存在した後に開始するように期間を調整します。 フィールドが null または欠落しているケースを処理するようにルールを変更します。 |
Invalid subnet CIDR
|
一部の関数で、解析できないクラスレス ドメイン間ルーティング(CIDR)範囲が検出されました。 | ルールの CIDR の範囲の形式を確認します。 |
Invalid IP address
|
一部の関数で、形式が正しくない IP アドレスが検出されました。 | フィールド値に有効な IP アドレス形式が含まれていることを確認します。 |
Map access for reading label does not support duplicate map keys
|
一部の関数が、重複するキーが存在するマップのような構造(追加フィールドなど)から要素にアクセスしようとしました(このオペレーションでは許可されていません)。 | データソースで重複するキーを調査します。 このデータの特性を処理するようにルールロジックを調整します。 |
Invalid regular expression
|
re.regex() などの関数で使用されている正規表現の形式が正しくありません。 |
正規表現の構文を修正します。 |
Invalid re.replace()
|
re.regex() の誤った使用。多くの場合、置換文字列内の括弧で囲まれた部分式と参照の不一致が原因です。 |
re.regex() の書き換えスキーマが、正規表現内の括弧で囲まれた部分式と一致していることを確認します。 |
Integer overflow in sum() aggregation
|
値の合計が標準整数の上限を超えています。 | 合計する前に、フィールドを浮動小数点型にキャストします(たとえば、sum(0.0 + $e.field) を使用します)。
|
Cannot complete [arithmetic/mod] operation between unsigned and signed integer
|
このルールは、異なる整数型間で算術演算(+、-、*)またはモジュロ演算(%)を試みます。 |
この型制約は、式で符号付き整数( |
リソースの上限とパフォーマンス エラー
これらのエラーは、クエリが重すぎてシステムで処理できないことを示しています。
| エラー メッセージ | 根本的な原因 | 解決策 |
|---|---|---|
Request was throttled, please try again later
|
ルールに割り当てられたメモリまたは処理能力が不足しています(多くの場合、複雑な結合、大規模な集計、不十分なフィルタリングが原因です)。 | イベント セクションに、より具体的なフィルタを追加します。 |
Not enough memory for aggregation
|
aggregate_memory_limit を超えました。
|
「match」セクションのキーの数を減らして、集計を最適化します。 |
Spilled bytes exceed limit
|
クエリが処理しようとしているイベントが多すぎます。 | metadata.log_type などのフィルタを追加してクエリを最適化します。 |
Your query resource usage is exceeding its allocation
|
クエリで使用するリソースの数が多すぎたため、リソース マネージャーによってクエリがキャンセルされました。 | metadata.log_type などのフィルタを追加してクエリを最適化します。 |
データアクセスとシステムエラー
これらのエラーは一時的なものであるか、バックエンド データ ストレージに関連していることがよくあります。
| エラー メッセージ | 根本的な原因 | 解決策 |
|---|---|---|
Error reading files
|
基になるデータへのアクセスに関する一時的な問題。 | しばらくしてからもう一度お試しください。問題が解決しない場合は、サポートまでお問い合わせください。 |
Error reading database
|
基になるデータへのアクセスに関する一時的な問題。 | しばらくしてからもう一度お試しください。問題が解決しない場合は、サポートまでお問い合わせください。 |
Internal error
|
システム内の一時的な問題。 | しばらくしてからもう一度お試しください。問題が解決しない場合は、サポートまでお問い合わせください。 |
Unknown error
|
特定の内部エラーコードが定義されていない場合のデフォルトのエラー メッセージ。 | しばらくしてからもう一度お試しください。問題が解決しない場合は、サポートまでお問い合わせください。 |
Request was throttled, please try again later
|
システムに高負荷がかかっている。 | しばらくしてからもう一度お試しください。 |
不明なランタイム エラー
説明のない不明なランタイム エラーが発生することがあります。この場合は、Google SecOps サポートにお問い合わせください。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。