Cómo omitir la validación de registros para extensiones del analizador y analizadores personalizados
Por lo general, el proceso de validación de la extensión del analizador y del analizador personalizado aplica una verificación rigurosa en los registros de muestra de los 30 días anteriores para garantizar la integridad funcional. Sin embargo, hay situaciones en las que los clientes pueden necesitar implementar una extensión a pesar de las fallas de validación, como cuando no se han ingerido registros en los últimos 30 días o cuando los registros actuales aún no reflejan un formato nuevo.
En este documento, se describe el flujo de trabajo basado en la API para omitir la validación de registros obligatoria para las extensiones del analizador y los analizadores personalizados.
| Componente | Definición |
| Método de API | CreateParserExtension (para extensiones) o CreateParser (para analizadores personalizados)
|
| Marca de omisión | validation_skipped
|
| Tipo de marca | Booleano (predeterminado: falso) |
| Alcance | Proto ParserExtension (para extensiones) y proto Parser (para analizadores personalizados) |
Cuando omites la validación, el analizador muestra el estado validation_skipped. Debido a que se trata de una operación asíncrona, las llamadas iniciales a la API de Create mostrarán un estado nuevo. Sin embargo, las solicitudes posteriores a la API de Get reflejarán el estado validation_skipped una vez que se procesen.
Ejecución de la API
Ejecuta la llamada a la API de Create correspondiente con la marca validation_skipped habilitada. Puedes usar esta marca y activar el analizador o la extensión personalizados, incluso cuando no se hayan ingerido registros para el cliente y el tipo de registro.
Ejemplos de API para extensiones del analizador
Solicitud
CreateParserExtensionparent: "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 }Respuesta
CreateParserExtensiongoogle.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 }Solicitud
GetParserExtensionname: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy"Respuesta
GetParserExtensiongoogle.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 }
Una vez que hayas creado las extensiones del analizador, podrás implementarlas con el método ActivateParserExtension.
Ejemplos de API para analizadores personalizados
Solicitud
CreateParserparent: "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 }Respuesta
CreateParsergoogle.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 }Solicitud
GetParsername: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parsers/dummy"Respuesta
GetParsername: "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"
Una vez que hayas creado los analizadores personalizados, podrás implementarlos con el método ActivateParser.
Criterios de rechazo y riesgo
Si bien la marca
validation_skippedpermite a los usuarios omitir las verificaciones en los registros de muestra, no permite la implementación de código dañado. Una extensión o un analizador personalizado se rechazan si el código de la extensión o del analizador contiene fallas relacionadas con la sintaxis. La opción de omisión solo es viable si la extensión es sintácticamente correcta, pero falla debido a la lógica de análisis o a la falta de registros.Si una marca
validation_skippedcausa problemas del sistema o regresiones de rendimiento, los equipos de ingeniería internos de Google pueden desactivarla.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.