Ignorar a validação de registros para extensões de analisadores e analisadores personalizados
O processo de validação de extensões de analisadores e analisadores personalizados geralmente aplica uma verificação rigorosa em registros de amostra dos 30 dias anteriores para garantir a integridade funcional. No entanto, há cenários em que os clientes precisam implantar uma extensão, apesar das falhas de validação, como quando nenhum registro foi ingerido nos últimos 30 dias ou quando os registros atuais ainda não refletem um novo formato.
Este documento descreve o fluxo de trabalho baseado em API para ignorar a validação obrigatória de registros para extensões de analisadores e analisadores personalizados.
| Componente | Definição |
| Método de API | CreateParserExtension (para extensões) ou CreateParser (para analisadores personalizados)
|
| Flag de ignorar | validation_skipped
|
| Tipo de flag | Booleano (padrão: falso) |
| Escopo | Proto ParserExtension (para extensões) e proto Parser (para analisadores personalizados) |
Quando você pula a validação, o analisador mostra o status validation_skipped. Como essa é uma operação assíncrona, as chamadas iniciais para a API Create vão mostrar um novo estado. No entanto, as solicitações subsequentes da API Get vão refletir o status validation_skipped depois de processadas.
Execução da API
Execute a chamada da API Create relevante com a flag validation_skipped ativada. Você pode usar essa flag e ativar o analisador ou a extensão personalizada, mesmo quando nenhum registro tiver sido ingerido para o cliente e o tipo de registro.
Exemplos de API para extensões de analisadores
Solicitação
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 }Resposta
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 }Solicitação
GetParserExtensionname: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parserExtensions/dummy"Resposta
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 }
Depois de criar as extensões do analisador, você pode implantá-las usando o método ActivateParserExtension.
Exemplos de API para analisadores personalizados
Solicitação
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 }Resposta
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 }Solicitação
GetParsername: "projects/dummy/locations/us/instances/dummy/logTypes/dummy/parsers/dummy"Resposta
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"
Depois de criar os analisadores personalizados, você pode implantá-los usando o método ActivateParser.
Critérios de rejeição e risco
Embora a flag
validation_skippedpermita que os usuários ignorem as verificações em registros de amostra, ela não permite a implantação de código corrompido. Uma extensão ou analisador personalizado ainda será rejeitado se o código da extensão ou do analisador contiver falhas relacionadas à sintaxe. A opção de ignorar só é viável se a extensão estiver sintaticamente correta, mas falhar devido à lógica de análise ou à falta de registros.Se uma flag
validation_skippedcausar problemas no sistema ou regressões de desempenho, ela poderá ser desativada pelas equipes de engenharia internas do Google.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.