דילוג על אימות היומן עבור תוספי מנתח ונתוחים מותאמים אישית

נתמך ב:

בדרך כלל, תהליך האימות של מנתח מותאם אישית ותוסף מנתח מחייב בדיקה קפדנית של יומני דוגמה מ-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.