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

נתמך ב:

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