פתרון בעיות בכללי הזיהוי
שגיאות זמן ריצה יכולות להתרחש במהלך הפעלת הכלל ולמנוע את ההפעלה שלו. במאמר הזה מוסבר איך לפתור כמה בעיות נפוצות בזמן הריצה.
כדי למנוע שגיאות זמן ריצה, אתם יכולים לבדוק את הכללים לפני הפריסה. לוחצים על Run Test בכלי לעריכת כללים. אם מזוהה שגיאה, לוחצים על הקישור לשגיאה כדי לקבל פרטים.
אם מתרחשת שגיאה במהלך הפעלת הכלל, אפשר ללחוץ על הקישור לשגיאה בדף Detections כדי לקבל פרטים נוספים.
שגיאות תחביר ושגיאות לוגיות בשאילתות
השגיאות האלה קורות כשמבנה השאילתה לא תקין, מורכב מדי או משתמש בסוגי נתונים לא תואמים.
| הודעת השגיאה | הסיבה הבסיסית | רזולוציה |
|---|---|---|
Too many `OR` and `AND` operations
|
השאילתה מכילה ביטויים או לוגיקה עם רמות עמוקות של קינון, שחורגות ממגבלות המקום במחסנית. | לפשט את התנאים של הכלל. לפצל לוגיקה מורכבת לחלקים קטנים יותר. |
Query is too long
|
השאילתה דורשת יותר מדי מקום במחסנית כדי לעבד אותה. | לפצל את הלוגיקה לכמה כללים. |
Accessing a new field that did not exist for this time range
|
הכלל מתייחס לשדה שנוסף לאחרונה לסכימה, אבל הכלל פועל בטווח זמן שבו השדה הזה לא היה קיים. | משנים את טווח התאריכים כך שיתחיל אחרי שהשדה היה קיים. צריך לשנות את הכלל כדי לטפל במקרים שבהם השדה ריק או חסר. |
Invalid subnet CIDR
|
בחלק מהפונקציות נתקלנו בטווח Classless Inter-Domain Routing (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
|
סכום הערכים חורג מהמגבלה המקסימלית למספרים שלמים רגילים. | צריך להמיר את השדה לסוג נקודה צפה (floating-point) לפני הסיכום (לדוגמה, באמצעות 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.