MCP Tools Reference: monitoring.googleapis.com

Ferramenta: get_alert

Use essa ferramenta como principal para receber informações sobre um alerta específico. Um alerta é a representação de uma violação de uma política de alertas. Isso é útil para entender os detalhes de um alerta específico.

O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP get_alert.

Solicitação curl
curl --location 'https://monitoring.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_alert",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

A solicitação GetAlert.

GetAlertRequest

Representação JSON
{
  "name": string
}
Campos
name

string

Obrigatório. O nome do alerta.

O formato é:

projects/[PROJECT_ID_OR_NUMBER]/alerts/[ALERT_ID]

O [ALERT_ID] é um identificador exclusivo atribuído pelo sistema ao alerta.

Esquema de saída

Um alerta é a representação de uma violação de uma política de alertas. É um recurso somente leitura que não pode ser modificado pela API acompanhada.

Alerta

Representação JSON
{
  "name": string,
  "state": enum (State),
  "openTime": string,
  "closeTime": string,
  "resource": {
    object (MonitoredResource)
  },
  "metadata": {
    object (MonitoredResourceMetadata)
  },
  "metric": {
    object (Metric)
  },
  "log": {
    object (LogMetadata)
  },
  "policy": {
    object (PolicySnapshot)
  }
}
Campos
name

string

Identificador. O nome do alerta.

O formato é:

projects/[PROJECT_ID_OR_NUMBER]/alerts/[ALERT_ID]

O [ALERT_ID] é um identificador exclusivo atribuído pelo sistema ao alerta.

state

enum (State)

Apenas saída. O estado atual do alerta.

openTime

string (Timestamp format)

O horário em que o alerta foi aberto.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

closeTime

string (Timestamp format)

Quando o alerta foi encerrado.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

resource

object (MonitoredResource)

O tipo de recurso monitorado e todos os rótulos de recursos monitorados preservados da condição geradora do incidente.

metadata

object (MonitoredResourceMetadata)

Os metadados do recurso monitorado.

metric

object (Metric)

O tipo de métrica e os rótulos de métrica preservados da condição geradora do incidente.

log

object (LogMetadata)

As informações de registro associadas ao alerta. Esse campo só é preenchido para alertas com base em registros.

policy

object (PolicySnapshot)

O snapshot da política de alertas que gerou este alerta.

Carimbo de data/hora

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive).

MonitoredResource

Representação JSON
{
  "type": string,
  "labels": {
    string: string,
    ...
  }
}
Campos
type

string

Obrigatório. O tipo de recurso monitorado. Este campo precisa corresponder ao campo type de um objeto MonitoredResourceDescriptor. Por exemplo, o tipo de uma instância de VM do Compute Engine é gce_instance. Para uma lista de tipos, consulte Tipos de recursos do Monitoring e Tipos de recursos do Logging.

labels

map (key: string, value: string)

Obrigatório. Valores para todos os rótulos listados no descritor de recurso monitorado associado. Por exemplo, as instâncias de VM do Compute Engine usam os rótulos "project_id", "instance_id" e "zone".

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

LabelsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

MonitoredResourceMetadata

Representação JSON
{
  "systemLabels": {
    object
  },
  "userLabels": {
    string: string,
    ...
  }
}
Campos
systemLabels

object (Struct format)

Somente saída. Valores para rótulos predefinidos de metadados do sistema. Os rótulos do sistema são um tipo de metadados extraídos pelo Google, incluindo "machine_image", "vpc", "subnet_id", "security_group", "name" etc. Os valores de rótulos do sistema podem ser apenas strings, valores booleanos ou uma lista de strings. Exemplo:

{ "name": "my-test-instance",
  "security_group": ["a", "b", "c"],
  "spot_instance": false }
userLabels

map (key: string, value: string)

Somente saída. Um mapa de rótulos de metadados definidos pelo usuário.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Struct

Representação JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Mapa não ordenado de valores com tipagem dinâmica.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representação JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representação JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Campos
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir:
nullValue

null

Representa um null JSON.

numberValue

number

Representa um número JSON. Não pode ser NaN, Infinity ou -Infinity, porque esses valores não são compatíveis com JSON. Isso também não pode representar valores Int64 grandes, já que o formato JSON geralmente não os aceita no tipo de número.

stringValue

string

Representa uma string JSON.

boolValue

boolean

Representa um booleano JSON (literal true ou false em JSON).

structValue

object (Struct format)

Representa um objeto JSON.

listValue

array (ListValue format)

Representa uma matriz JSON.

ListValue

Representação JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Campo repetido de valores digitados dinamicamente.

UserLabelsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Métrica

Representação JSON
{
  "type": string,
  "labels": {
    string: string,
    ...
  }
}
Campos
type

string

Um tipo de métrica existente. Consulte google.api.MetricDescriptor. Por exemplo, custom.googleapis.com/invoice/paid/amount.

labels

map (key: string, value: string)

O conjunto de valores de rótulo que identificam exclusivamente essa métrica. Todos os rótulos listados em MetricDescriptor precisam receber valores.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

LabelsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

LogMetadata

Representação JSON
{
  "extractedLabels": {
    string: string,
    ...
  }
}
Campos
extractedLabels

map (key: string, value: string)

Os rótulos extraídos do registro.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ExtractedLabelsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

PolicySnapshot

Representação JSON
{
  "name": string,
  "displayName": string,
  "severity": enum (Severity),
  "userLabels": {
    string: string,
    ...
  }
}
Campos
name

string

O nome do recurso de política de alertas. No formato "projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]".

displayName

string

O nome de exibição da política de alertas.

severity

enum (Severity)

A gravidade da política de alertas.

userLabels

map (key: string, value: string)

Os rótulos de usuário da política de alerta.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

UserLabelsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Estado

A enumeração dos estados possíveis de um alerta.

Tipos enumerados
STATE_UNSPECIFIED O estado do alerta não foi especificado.
OPEN O alerta está aberto.
CLOSED O alerta é fechado.

NullValue

Representa um null JSON.

NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.

Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.

Tipos enumerados
NULL_VALUE Valor nulo.

Gravidade

Uma enumeração de possíveis níveis de gravidade para uma política de alertas.

Tipos enumerados
SEVERITY_UNSPECIFIED Nenhuma gravidade é especificada. Esse é o valor padrão.
CRITICAL Esse é o nível de gravidade mais alto. Use essa opção se o problema puder causar danos ou inatividade significativos.
ERROR Esse é o nível de gravidade média. Use essa opção se o problema puder causar pequenos danos ou tempo de inatividade.
WARNING Esse é o nível de gravidade mais baixo. Use essa opção se o problema não estiver causando danos ou inatividade, mas puder levar a um problema no futuro.

Anotações de ferramentas

As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.

Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:

  • readOnlyHint: se for "true", a ferramenta não vai modificar o ambiente. Padrão: false.
  • destructiveHint: se for "true", a ferramenta poderá realizar ações destrutivas. Se for "false", a ferramenta só poderá realizar ações de adição. Padrão: verdadeiro.
  • idempotentHint: se for "true", chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente dela. Padrão: false.
  • openWorldHint: se for "true", a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for "false", a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.

Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌