- Recurso: investigação
- Representação JSON
- InvestigationAnnotations
- Interval
- InvestigationExecutionState
- Observation
- ObservationType
- ObserverType
- UserRelevance
- ObservationCompletionState
- ObserverStatus
- ObserverExecution
- AbsentObservation
- GeneralAbsentObservation
- ObserverLogEntry
- LogSeverity
- ClarificationNeeded
- RunbookParameter
- Métodos
Recurso: investigação
Mensagem que descreve o próximo ID do objeto de investigação: 24
Representação JSON |
---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "revision": string, "revisionIndex": integer, "revisionPredecessor": string, "annotations": { object ( |
Campos | |
---|---|
name |
Identificador. Nome do recurso. |
createTime |
Apenas saída. [Apenas saída] Cria um carimbo de data/hora. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. [Apenas saída] Atualiza um carimbo de data/hora. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
labels |
Opcional. Rótulos como pares de chave-valor. Um objeto com uma lista de pares |
revision |
Apenas saída. [Apenas saída] Revisão atual da investigação. |
revisionIndex |
Apenas saída. [Apenas saída] Índice da revisão atual da investigação. Baseado em 1. |
revisionPredecessor |
Opcional. O nome da revisão que foi a predecessora desta. Por exemplo, a interface vai definir isso como a revisão atual quando uma nova revisão for criada devido a uma edição. |
annotations |
Opcional. Anotações na investigação. Ao contrário dos rótulos, elas podem ter um significado semântico ao executar a investigação e não serão lidas por outros sistemas, como o faturamento. |
executionState |
Apenas saída. [Apenas saída] O estado de execução desta investigação. |
error |
Apenas saída. [Apenas saída] Se o estado de execução da investigação for "FAILED", esse campo vai conter a mensagem de erro. |
operation |
Apenas saída. A operação "Run" realizada mais recentemente na investigação. |
title |
Obrigatório. Título de exibição legível por humanos para a investigação. |
observations |
Opcional. Um mapa do ID da observação. Este é um mapa para que possamos substituir as observações antigas pela versão da revisão mais recente. Consulte "Observação" para orientações sobre como escolher IDs. Um objeto com uma lista de pares |
observerStatuses |
Opcional. Versão plural do item acima. O código vai passar por essa transição com o tempo. Um objeto com uma lista de pares |
clarificationsNeeded |
Opcional. Perguntas que o sistema precisa fazer ao usuário. Os resultados serão transmitidos de volta pela interface como novas observações. O ID dessas observações será a chave da entrada no mapa clarificationsNeeded. Um objeto com uma lista de pares |
InvestigationAnnotations
Anotações adicionais definidas pelo usuário em uma investigação. Há algumas predefinidas e um mapa para novos aplicativos adicionarem as próprias anotações.
Representação JSON |
---|
{
"followUp": boolean,
"extrasMap": {
string: string,
...
},
"revisionLastRunInterval": {
object ( |
Campos | |
---|---|
followUp |
Apenas saída. É necessário fazer um acompanhamento para continuar a investigação. Geralmente definido como "true" pelo solucionador de problemas e "false" quando as perguntas são respondidas. |
extrasMap |
Opcional. Anotações extras necessárias para aplicativos. Elas não serão encobertas e NÃO podem conter CCC/PII. Um objeto com uma lista de pares |
revisionLastRunInterval |
Opcional. Horário de início/término da última execução da revisão. |
Interval
Representa um intervalo de tempo, codificado como um início de carimbo de data/hora (incluído) e um fim de carimbo de data/hora (não incluído).
O início precisa ser menor ou igual ao fim. Quando o início é igual ao fim, o intervalo fica vazio (não corresponde a nenhum horário). Quando o início e o fim não são especificados, o intervalo corresponde a qualquer momento.
Representação JSON |
---|
{ "startTime": string, "endTime": string } |
Campos | |
---|---|
startTime |
Opcional. Início inclusivo do intervalo. Se especificado, um carimbo de data/hora correspondente a esse intervalo precisará ser igual ou posterior ao início. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
endTime |
Opcional. Fim exclusivo do intervalo. Se especificado, um carimbo de data/hora correspondente a esse intervalo precisará ser anterior ao fim. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
InvestigationExecutionState
O estado de execução de uma investigação.
Enums | |
---|---|
INVESTIGATION_EXECUTION_STATE_UNSPECIFIED |
Valor padrão. Esse valor não é usado. |
INVESTIGATION_EXECUTION_STATE_RUNNING |
A investigação está sendo executada. |
INVESTIGATION_EXECUTION_STATE_MODIFIED |
A investigação ainda não foi executada desde a última atualização do sintoma. |
INVESTIGATION_EXECUTION_STATE_FAILED |
A execução da investigação foi concluída, mas falhou. |
INVESTIGATION_EXECUTION_STATE_COMPLETED |
Todas as tarefas de execução foram concluídas, e a investigação está inativa. |
Observação
Uma observação é a unidade básica de troca entre o usuário e o sistema ou entre diferentes componentes do sistema. É o elemento que tem uma relevância. Portanto, elas precisam ser relativamente pequenas. Se você espera que os usuários reajam a "parte" de uma observação, ela precisa ser dividida em observações menores. Uma execução específica de runbook, uma determinada entrada de parâmetro de usuário e uma entrada de registro interessante podem ser observações separadas. Isso significa que pode haver dezenas ou centenas em uma investigação. Próximo ID: 26
Representação JSON |
---|
{ "id": string,"timeIntervals": [ { object ( |
Campos | |
---|---|
id |
Obrigatório. Identifica exclusivamente esta observação. Deve depender do "conteúdo principal" da observação, mas não da relevância, por exemplo. Não deve depender de nada que possa variar de forma imprevisível entre diferentes revisões para ser executada. Essa também é a chave do mapa na investigação principal. Elas precisam ser hierárquicas, com "." como separador, começando com o nome do observador. Por exemplo, diagnostics.runbook.ABC, signals.logs ou user.input.2. Ela precisa ser utilizável como um componente de URL. Não diferencia maiúsculas de minúsculas [a-z0-9-._+]. Elas não serão renderizadas para os usuários, mas ficarão visíveis no modelo de dados. Elas serão usadas por engenheiros do Google para localizar bugs e precisam ser semilegíveis. |
timeIntervals[] |
Opcional. Quando essa observação ocorreu. As observações precisam ter pelo menos um período para que possam ser mostradas em uma linha do tempo e para que possamos encontrar eventos relacionados. Para um evento repetido, mas não contínuo, é adequado ter mais de um intervalo. A interface pode combinar esses elementos. |
title |
Opcional. O rótulo mostrado na interface. Não precisa ser exclusivo em uma investigação. No entanto, ele precisa ser específico e ter menos de 80 caracteres para que o usuário possa analisar facilmente várias observações. "Nettools pod configured with ALL capabilities dropped" é muito melhor do que "Interesting pod configuration". |
observationType |
Obrigatório. O tipo da observação (por exemplo, registro, métrica etc.). |
observerType |
Obrigatório. A origem dos dados, por exemplo, usuário, código do sistema, LLM etc. |
text |
Opcional. Texto em linguagem natural [markdown] associado à observação. Este é o conteúdo principal, não uma descrição de metadados. |
data |
Opcional. Uma representação estruturada da observação, conforme escolhido pelo observador. Opcional. Se presente, um observador também DEVE fornecer uma descrição textual da observação para facilitar o processamento por um LLM e a renderização na interface. |
dataUrls |
Opcional. Um mapa de nomes legíveis por humanos para URLs de evidências de apoio. A chave do mapa será renderizada como texto âncora do URL. Preencha esse campo sempre que uma observação depender de algo fora do sistema. Por exemplo, uma consulta de registros/métricas/etc. que pode regenerar a observação. Um objeto com uma lista de pares |
knowledgeUrls |
Opcional. Um mapa de nomes legíveis por humanos para URLs de documentação. Um objeto com uma lista de pares |
baseObservations[] |
Opcional. Os IDs de outras observações em que esta se baseia. Por exemplo, uma observação de conclusão vai registrar as observações usadas para gerá-la. Um parâmetro extraído vai registrar de onde ele foi extraído. O gráfico de premissas e conclusões será acíclico em uma revisão. |
relevantResources[] |
Opcional. Os recursos do Google Cloud relevantes para a observação. Eles precisam ser URIs de recursos totalmente qualificados, por exemplo, "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance". |
recommendation |
Opcional. Texto em [markdown] em linguagem natural que descreve uma ação recomendada para corrigir a causa raiz. No momento, esse campo está em formato livre e não é processado por máquina. Uma recomendação pode ser: - Descrições gerais de correção - Etapas de correção específicas e táticas com comandos executáveis - Etapas de solução de problemas específicas e táticas para onde investigar em seguida com comandos executáveis |
systemRelevanceScore |
Opcional. A relevância dessa observação para a investigação, conforme inferido pelo sistema. Opcional. Precisa estar no intervalo [-1, 1]. Para "OBSERVATION_TYPE_HYPOTHESIS", representa a confiança na explicação. Somente as hipóteses de causa raiz são classificadas umas em relação às outras. Para outros ObservationTypes, isso representa uma pontuação de relevância, e eles são classificados uns em relação aos outros. Um valor de 0 é neutro. |
relevanceOverride |
Opcional. O julgamento de relevância do usuário. |
observationCompletionState |
Opcional. Um ObservationCompletionState representa se a observação emitida está totalmente formada e deve ser mostrada ao usuário. Isso permite ocultar observações que estão em um estado intermediário. |
observedNormalOperation |
Opcional. Se essa observação apresenta informações sobre um problema / causa raiz (false) ou indica operação normal (true). Isso é conceitualmente diferente da relevância e usado de maneira diferente. Uma observação irrelevante precisa ser ocultada do LLM e do usuário. Uma observação relevante de um problema precisa ser mostrada como uma observação e motivar uma hipótese. Uma descoberta relevante de normalidade pode ou não aparecer na interface, mas precisa ser usada pelo LLM para filtrar hipóteses que são refutadas pela descoberta. |
ObservationType
Representa o tipo de dados que constituem uma observação. Isso é independente de origem: um registro pode ser fornecido explicitamente pelo usuário, extraído por IA ou identificado por um runbook.
Enums | |
---|---|
OBSERVATION_TYPE_UNSPECIFIED |
Não use. Especifique o tipo de observação e adicione um novo tipo enumerado, se necessário. |
OBSERVATION_TYPE_CLOUD_LOG |
O texto dessa observação é uma entrada de registro. |
OBSERVATION_TYPE_CLOUD_METRIC |
O conteúdo dessa observação é uma métrica ou um grupo de métricas. |
OBSERVATION_TYPE_CAIS_CONFIG |
Uma configuração |
OBSERVATION_TYPE_CAIS_CONFIG_DIFF |
Uma mudança de configuração |
OBSERVATION_TYPE_CLOUD_ALERT |
Um alerta. |
OBSERVATION_TYPE_CICD_EVENT |
Um evento de um sistema de integração contínua, por exemplo, falha de sondagem. |
OBSERVATION_TYPE_TEXT_DESCRIPTION |
Entrada de texto livre, como a entrada inicial do usuário. Pode ser markdown. |
OBSERVATION_TYPE_HYPOTHESIS |
Usada para conclusões [provisórias] extraídas pelo sistema. Elas podem se tornar entradas para uma revisão subsequente. Nesse caso, as recomendações serão usadas, mas não a correção. |
OBSERVATION_TYPE_STRUCTURED_INPUT |
Entrada estruturada, por exemplo, parâmetros de runbook inseridos em um formulário. |
OBSERVATION_TYPE_COMPOSITE |
Usado para uma observação que inclui mais de um tipo de evidência, como uma saída de runbook. |
OBSERVATION_TYPE_OTHER |
A saída do runbook pode ser "other" se nenhum dos outros tipos se aplicar. |
OBSERVATION_TYPE_RELATED_RESOURCES |
Recursos que acreditamos estar relacionados à investigação. |
OBSERVATION_TYPE_LOG_THEME |
Um tema descoberto nos registros. |
OBSERVATION_TYPE_CONFIG_ANALYSIS |
Saída de indicadores que inclui uma configuração analisada por LLM. |
OBSERVATION_TYPE_OUTAGE |
Saída de indicadores que inclui uma interrupção do PSH. |
OBSERVATION_TYPE_KNOWLEDGE |
Texto que apresenta conhecimento sobre o problema de um usuário específico. Por exemplo, instruções do catálogo de erros/links externos, RAG etc. |
ObserverType
Isso representa como os dados entraram na investigação.
Enums | |
---|---|
OBSERVER_TYPE_UNSPECIFIED |
Não use. Especifique a origem da observação e adicione um novo tipo enumerado, se necessário. |
OBSERVER_TYPE_DIAGNOSTICS |
Fazemos isso por motivos de atribuição interna. Os diagnósticos têm uma noção explícita de causas raízes, por exemplo, usando runbooks. |
OBSERVER_TYPE_SIGNALS |
Os indicadores são para processamento que não tem causas raízes explícitas. |
OBSERVER_TYPE_DETERMINISTIC_CODE |
Isso é para código que depende apenas de instalações. Em especial, pesquisas no catálogo de erros. |
OBSERVER_TYPE_AI |
Isso é para inferências de IA feitas ao longo do caminho que dependem apenas de observações listadas como premissas. |
OBSERVER_TYPE_USER |
Observação da entrada do usuário, incluindo respostas a esclarecimentos. |
OBSERVER_TYPE_ALERT |
Uma observação de um alerta externo ao GCA. |
UserRelevance
Representa a relevância de uma observação expressa pelo usuário. A interface vai ser algo como "Gostei" ou "Não gostei".
Enums | |
---|---|
USER_RELEVANCE_UNSPECIFIED |
O usuário não marcou essa observação como relevante ou irrelevante. |
USER_RELEVANCE_PROMOTED |
O usuário marcou essa observação como relevante. |
USER_RELEVANCE_REJECTED |
O usuário marcou essa observação como irrelevante. |
ObservationCompletionState
Determina se a observação está totalmente formada e completa. Como efeito colateral, isso determina se a observação é mostrada ao usuário.
Enums | |
---|---|
OBSERVATION_COMPLETION_STATE_UNSPECIFIED |
Não use. |
OBSERVATION_COMPLETION_STATE_COMPLETE |
Essa observação está totalmente formada e deve ser mostrada ao usuário. |
OBSERVATION_COMPLETION_STATE_INCOMPLETE |
Essa observação não tem todas as informações ou precisa de mais processamento por outro observador. Esse tipo de observação não deve ser mantido em revisões futuras de investigações. |
ObserverStatus
Um ObserverStatus representa o status de um observador em um determinado momento durante a execução de uma investigação. OBSERVAÇÃO: por padrão, nada nesta mensagem é encoberto. Os componentes NÃO devem conter PII / CCC aqui, exceto quando forem encobertos. Próximo ID: 13
Representação JSON |
---|
{ "observer": string, "observerExecutionState": enum ( |
Campos | |
---|---|
observer |
Obrigatório. O ID do observador a que este status se refere. Os IDs de observador precisam ser legíveis por humanos e hierárquicos, por exemplo, "signals.logs.firewall_rules" ou "diagnostics.error_catalog". |
observerExecutionState |
Opcional. O estado de execução atual do observador. |
observerDisplayName |
Obrigatório. O nome a ser mostrado ao usuário ao descrever este observador. A interface pode substituir isso por uma contraparte internacionalizada, então não gere dinamicamente. Necessário para que o usuário saiba a que observador (por exemplo, runbook) o sistema está se referindo. |
updateTime |
Opcional. O horário em que o status foi atualizado. Opcional porque o observador é responsável por defini-lo. Se torna "endTime" quando o observador é concluído. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
startTime |
Opcional. O horário em que o observador foi iniciado. Opcional porque o observador é responsável por defini-lo. Quando o observador termina, a diferença entre esse valor e updateTime é o tempo de execução do observador. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
updateComment |
Opcional. Uma atualização de status do observador. Pode ser registrado para fins de depuração. Esses dados podem ser mostrados aos usuários. Uma boa atualização seria "parâmetros correspondentes, enfileirados para execução" ou "arquivo de registros verificado 2/5". |
observerErrors[] |
Opcional. Um erro no sistema de investigação que impediu um observador de fazer uma anotação específica. A string de erro aqui será mostrada aos usuários. Repetido porque um observador pode não ter várias permissões. |
ObserverExecution
O estado do observador.
Enums | |
---|---|
OBSERVER_EXECUTION_UNSPECIFIED |
O estado do observador não foi especificado. |
OBSERVER_EXECUTION_NOT_STARTED |
A investigação ainda não começou. |
OBSERVER_EXECUTION_RUNNING |
A investigação está em andamento, e este observador pode ser executado ou está em execução. |
OBSERVER_EXECUTION_COMPLETE |
O observador terminou sem um erro interno. |
OBSERVER_EXECUTION_FAILED |
O observador tentou ser executado, mas falhou devido a um erro. Isso é específico de um componente e pode ser renderizado na interface se a observação for mostrada como de prioridade muito baixa. |
OBSERVER_EXECUTION_BLOCKED |
O observador fica bloqueado até receber uma entrada. |
OBSERVER_EXECUTION_INVESTIGATION_BLOCKED |
O observador informa um erro que bloqueia ou afeta gravemente a investigação, por exemplo, CAIS ou registro desativado. Precisa ser renderizado em destaque na interface. |
OBSERVER_EXECUTION_INVESTIGATION_DEGRADED |
O observador informa um erro que prejudica a investigação e pode exigir que o usuário encaminhe ou execute novamente a investigação depois de atenuar a causa. |
AbsentObservation
Um identificador de uma observação necessária. Normalmente, um parâmetro, mas extensível a outros casos.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união t . Há mais de um tipo de parâmetro ausente. t pode ser apenas de um dos tipos a seguir: |
|
param |
Opcional. Um parâmetro de runbook. |
generalMissingObservation |
Opcional. Uma observação ausente que o usuário poderia fornecer e que não é um parâmetro de runbook. |
pendingObservation |
Opcional. Uma observação que ainda não foi criada e que um observador precisa criar ao executar. Isso pode fazer com que o sistema execute um runbook. |
GeneralAbsentObservation
Uma observação ausente que não é um parâmetro de runbook.
Representação JSON |
---|
{ "id": string, "title": string, "validationRegex": string } |
Campos | |
---|---|
id |
Opcional. O ID da observação ausente. |
title |
Opcional. O título a ser exibido na interface. |
validationRegex |
Opcional. O regex a que a resposta precisa corresponder. Precisa estar em conformidade com a sintaxe de padrão de string de expressão regular do JavaScript. Acesse https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp#syntax. |
ObserverLogEntry
Uma entrada de registro de um observador.
Representação JSON |
---|
{
"logTime": string,
"logMessage": string,
"logSeverity": enum ( |
Campos | |
---|---|
logTime |
Obrigatório. A hora em que o registro foi criado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
logMessage |
Obrigatório. A mensagem legível por humanos. |
logSeverity |
Obrigatório. É a gravidade da mensagem de registro. |
data |
Opcional. Outros dados, como um erro de RPC. Aviso: assim como o restante de ObserverStatus, o conteúdo deste campo pode ser lido para fins de depuração do observador. Para dados sensíveis, use |
sensitiveData |
Opcional. Outros dados que possam conter informações sensíveis sobre o projeto em investigação. Esse campo será editado quando o ObserverStatus for lido para fins de depuração. |
LogSeverity
A gravidade do evento descrito em uma entrada de registro, expressa como um dos níveis de gravidade padrão listados abaixo. Para referência, os níveis recebem os valores numéricos listados. O efeito de usar valores numéricos diferentes dos listados não é definido.
É possível filtrar entradas de registro por gravidade. Por exemplo, a expressão de filtro a seguir vai corresponder a entradas de registro com gravidades INFO
, NOTICE
e WARNING
:
severity > DEBUG AND severity <= WARNING
Se você estiver gravando entradas de registro, mapeie outras codificações de gravidade para um desses níveis padrão. Por exemplo, você pode mapear todos os níveis FINE, FINER e FINEST do Java para LogSeverity.DEBUG
. Se quiser, é possível preservar o nível de gravidade original no payload da entrada de registro.
Enums | |
---|---|
DEFAULT |
(0) A entrada de registro não tem um nível de gravidade atribuído. |
DEBUG |
(100) Informações de depuração ou rastreamento. |
INFO |
(200) Informações de rotina, como status ou performance contínuos. |
NOTICE |
(300) Eventos normais, mas significativos, como inicialização, desligamento ou uma mudança de configuração. |
WARNING |
(400) Eventos de alerta podem causar problemas. |
ERROR |
(500) É provável que os eventos de erro causem problemas. |
CRITICAL |
(600) Eventos críticos que causam problemas ou interrupções mais graves. |
ALERT |
(700) Uma pessoa precisa tomar uma ação imediatamente. |
EMERGENCY |
(800) Um ou mais sistemas não podem ser usados. |
ClarificationNeeded
Um esclarecimento necessário para o sistema.
Representação JSON |
---|
{ "runbookParameter": { object ( |
Campos | |
---|---|
runbookParameter |
Opcional. O resultado de um esclarecimento é uma observação. Um parâmetro de runbook que o usuário precisa fornecer. |
generalMissingObservation |
Opcional. Uma observação ausente que não é um parâmetro de runbook. |
parentObserverNames[] |
Opcional. Os nomes de exibição dos observadores que pediram esse esclarecimento. A interface vai agrupar por esses nomes. |
RunbookParameter
Metadados de parâmetros para runbooks atualizados pela tarefa de diagnóstico.
Representação JSON |
---|
{ "id": string, "displayName": string, "description": string, "exampleValues": [ string ], "value": string, "associatedAssetTypes": [ string ] } |
Campos | |
---|---|
id |
Opcional. O nome do parâmetro. |
displayName |
Opcional. O nome do parâmetro a ser mostrado ao usuário. |
description |
Opcional. A descrição do parâmetro. |
exampleValues[] |
Opcional. Exemplos do valor de parâmetro. |
value |
Opcional. O valor do parâmetro, se disponível. |
associatedAssetTypes[] |
Opcional. Se presente, uma lista de tipos de recursos que esse parâmetro pode ser. Por exemplo: "compute.googleapis.com/Instance". |
Métodos |
|
---|---|
|
Cria uma nova investigação em determinado projeto e local. |
|
Exclui uma única Investigação. |
|
Recebe detalhes de uma única Investigação. |
|
Busca a política de controle de acesso de um recurso. |
|
Lista as investigações em determinado projeto e local. |
|
Atualiza os parâmetros de uma única Investigação. |
|
Define a política de controle de acesso no recurso especificado. |
|
Retorna permissões do autor da chamada no recurso especificado. |