דילוג על אימות היומן עבור תוספי מנתח ונתוחים מותאמים אישית
בדרך כלל, תהליך האימות של מנתח מותאם אישית ותוסף מנתח מחייב בדיקה קפדנית של יומני דוגמה מ-30 הימים הקודמים כדי לוודא את תקינות הפונקציות. עם זאת, יש תרחישים שבהם הלקוחות צריכים לפרוס תוסף למרות כשלים באימות, למשל אם לא בוצעו פעולות של קליטת יומנים ב-30 הימים האחרונים או אם היומנים הנוכחיים עדיין לא משקפים פורמט חדש.
במסמך הזה מתואר תהליך עבודה מבוסס-API לעקיפת אימות חובה של יומנים עבור תוספי מנתח ומנתחים מותאמים אישית.
| רכיב | הגדרה |
| שיטת ה-API | CreateParserExtension (לתוספים) או CreateParser (לכלי ניתוח מותאמים אישית)
|
| Bypass Flag | validation_skipped
|
| סוג הדגל | בוליאני (ברירת מחדל: false) |
| היקף | ParserExtension proto (לתוספים) ו-Parser proto (למנתחים מותאמים אישית) |
כשמדלגים על האימות, הסטטוס של כלי הניתוח הוא validation_skipped. מכיוון שזו פעולה אסינכרונית, קריאות ראשוניות ל-Create API יציגו מצב חדש. עם זאת, בקשות Get API הבאות ישקפו את הסטטוס validation_skipped לאחר העיבוד.
הפעלה של API
מריצים את הקריאה הרלוונטית ל-API של Create עם ההגדרה validation_skipped מופעלת. אתם יכולים להשתמש בדגל הזה ולהפעיל את מנתח הנתונים או התוסף המותאם אישית, גם אם לא בוצעו פעולות של העברת נתונים ללקוח ולסוג היומן.
דוגמאות ל-API לתוספי ניתוח
CreateParserExtensionבקשהparent: "projects/dummy/locations/us/instances/dummy/logTypes/dummy" parser_extension { cbn_snippet: "# Author:dummy@google.com\n# Note: Pls don\'t delete or update.\n\nfilter {\n mutate {\n convert => {\n \"message\" => \"integer\"\n }\n }\n mutate {\n merge => {\n \"@output\" => \"event\"\n }\n }\n}" validation_skipped: true }CreateParserExtensionתשובהgoogle.cloud.chronicle.v1main.ParserExtension { # [619B] name: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy" state: NEW create_time: { # [12B] seconds: 1775133417 nanos: 697098000 } cbn_snippet: "# Author:dummy@google.com\n# Note: Pls don\'t delete or update.\n\nfilter {\n mutate {\n convert => {\n \"message\" => \"integer\"\n }\n }\n mutate {\n merge => {\n \"@output\" => \"event\"\n }\n }\n}" extension_validation_report: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy/extensionValidationReports/dummy" validation_skipped: true }GetParserExtensionבקשהname: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy"GetParserExtensionתשובהgoogle.cloud.chronicle.v1main.ParserExtension { # [862B] name: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy" state: VALIDATION_SKIPPED create_time: { # [12B] seconds: 1775133417 nanos: 697098000 } cbn_snippet: "# Author:dummy@google.com\n# Note: Pls don\'t delete or update.\n\nfilter {\n mutate {\n convert => {\n \"message\" => \"integer\"\n }\n }\n mutate {\n merge => {\n \"@output\" => \"event\"\n }\n }\n}" extension_validation_report: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy/extensionValidationReports/dummy" validation_report:"projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy/validationReports/dummy" state_last_changed_time: { # [12B] seconds: 1775133417 nanos: 976250000 } last_live_time: { # [11B] seconds: 1775133418 nanos: 189172000 } validation_skipped: true }
אחרי שיוצרים את תוספי הניתוח, אפשר לפרוס אותם באמצעות ה-method ActivateParserExtension.
דוגמאות ל-API של מנתחי נתונים בהתאמה אישית
CreateParserבקשהparent: "projects/dummy/locations/us/instances/dummy/logTypes/dummy" parser: { # [260B] cbn: "# Author: dummy@google.com\n# Note: Pls don\'t delete or update. This is used by normalizer custom prober.\n\nfilter {\n mutate {\n convert => {\n \"message\" => \"integer\"\n }\n }\n mutate {\n merge => {\n \"@output\" => \"event\"\n }\n }\n}" validation_skipped: true }CreateParserתשובהgoogle.cloud.chronicle.v1main.Parser { # [489B] name: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parsers/dummy" creator: { # [85B] customer:"projects/dummy/locations/us/instances/dummy" source: CUSTOMER } cbn: "# Author: dummy@google.com\n# Note: Pls don\'t delete or update. This is used by normalizer custom prober.\n\nfilter {\n mutate {\n convert => {\n \"message\" => \"integer\"\n }\n }\n mutate {\n merge => {\n \"@output\" => \"event\"\n }\n }\n}" changelogs: { # [0B] } validation_stage: NEW type: CUSTOM state: INACTIVE validation_skipped: true }GetParserבקשהname: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parsers/dummy"GetParserתשובהname: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parsers/dummy" creator: { # [85B] customer:"projects/dummy/locations/us/instances/dummy" source: CUSTOMER } cbn: "# Author:dummy@google.com\n# Note: Pls don\'t delete or update. This is used by normalizer custom prober.\n\nfilter {\n mutate {\n convert => {\n \"message\" => \"integer\"\n }\n }\n mutate {\n merge => {\n \"@output\" => \"event\"\n }\n }\n}" create_time: { # [12B] seconds: 1775135466 nanos: 795092000 } changelogs: { # [0B] } validation_stage: VALIDATION_SKIPPED type: CUSTOM state: INACTIVE validation_report:"projects/dummy/locations/us/instances/dummy/logTypes/dummy/parsers/dummy/validationReports/dummy"
אחרי שיוצרים את מנתחי הנתונים המותאמים אישית, אפשר לפרוס אותם באמצעות ה-method ActivateParser.
קריטריונים לדחייה וסיכון
הדגל
validation_skippedמאפשר למשתמשים לעקוף בדיקות של יומני דוגמאות, אבל הוא לא מאפשר פריסה של קוד פגום. תוסף או מנתח מותאם אישית עדיין יידחו אם קוד התוסף או מנתח המותאם אישית מכיל כשלים שקשורים לתחביר. אפשרות הדילוג רלוונטית רק אם התוסף תקין מבחינת התחביר, אבל נכשל בגלל לוגיקת ניתוח או חוסר ביומנים.אם
validation_skippedהפעלת התכונה גורמת לבעיות במערכת או לירידה בביצועים, צוותי ההנדסה הפנימיים של Google עשויים להשבית אותה.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.