דילוג על אימות יומן לתוספי ניתוח ולמנתחים מותאמים אישית
בדרך כלל, תהליך האימות של מנתח מותאם אישית ותוסף מנתח מחייב בדיקה קפדנית של יומנים לדוגמה מ-30 הימים הקודמים, כדי לוודא שהם פועלים בצורה תקינה. עם זאת, יש תרחישים שבהם הלקוחות צריכים לפרוס תוסף למרות כשלים באימות, למשל אם לא בוצעו פעולות של קליטת יומנים ב-30 הימים האחרונים או אם היומנים הנוכחיים עדיין לא משקפים פורמט חדש.
במסמך הזה מתואר תהליך העבודה מבוסס ה-API לעקיפת אימות חובה של יומנים עבור הרחבות של מנתחים ומנתחים מותאמים אישית.
| רכיב | הגדרה |
| שיטת ה-API | CreateParserExtension (לתוספים) או CreateParser (למנתחי נתונים בהתאמה אישית)
|
| דגל עקיפה | validation_skipped
|
| סוג הדגל | בוליאני (ברירת מחדל: false) |
| היקף | ParserExtension proto (לתוספים) ו-Parser proto (למנתחים מותאמים אישית) |
כשמדלגים על האימות, המנתח מופיע עם הסטטוס validation_skipped. מכיוון שזו פעולה אסינכרונית, קריאות ראשוניות ל-Create API יציגו מצב חדש. עם זאת, בקשות Get API הבאות ישקפו את הסטטוס validation_skipped אחרי העיבוד.
הרצת API
מריצים את הקריאה הרלוונטית ל-API של יצירה עם ההגדרה 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.