MCP Tools Reference: monitoring.googleapis.com

Ferramenta: list_alerts

Use essa ferramenta como a principal para listar os alertas em um projeto na nuvem do Google Cloud. Um alerta é a representação de uma violação de uma política de alertas. Isso é útil para entender as violações atuais e anteriores de uma política de alertas.

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

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": "list_alerts",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

A solicitação ListAlerts.

ListAlertsRequest

Representação JSON
{
  "parent": string,
  "filter": string,
  "orderBy": string,
  "pageSize": integer,
  "pageToken": string
}
Campos
parent

string

Obrigatório. O nome do projeto para o qual os alertas serão listados.

filter

string

Opcional. Um alerta será retornado se houver uma correspondência em qualquer campo pertencente ao alerta ou aos subcampos dele.

orderBy

string

Opcional. Uma lista separada por vírgulas de campos em Alert a serem usados para classificação. A direção de classificação padrão é crescente. Para especificar a ordem decrescente de um campo, adicione um modificador desc. Os seguintes campos são compatíveis:

  • open_time
  • close_time

Por exemplo, close_time desc, open_time vai retornar os alertas fechados mais recentemente, com empates resolvidos na ordem dos alertas mais antigos listados primeiro.

Se o campo não estiver definido, os resultados serão classificados por open_time desc.

pageSize

integer

Opcional. O número máximo de resultados a serem retornados em uma única resposta. Se não for definido como um número positivo, no máximo 50 alertas serão retornados. O valor máximo é 1.000. Valores maiores serão convertidos para 1.000.

pageToken

string

Opcional. Se não estiver vazio, page_token precisará conter um valor retornado como next_page_token em uma resposta anterior para solicitar o próximo conjunto de resultados.

Esquema de saída

A resposta ListAlerts.

ListAlertsResponse

Representação JSON
{
  "alerts": [
    {
      object (Alert)
    }
  ],
  "nextPageToken": string,
  "totalSize": integer
}
Campos
alerts[]

object (Alert)

A lista de alertas.

nextPageToken

string

Se não estiver vazio, indica que pode haver mais resultados que correspondem à solicitação. Use o valor no campo page_token em uma solicitação subsequente para buscar o próximo conjunto de resultados. O token é criptografado e só tem garantia de retornar resultados corretos por 72 horas após a criação. Se estiver vazio, todos os resultados foram retornados.

totalSize

integer

O número total estimado de resultados correspondentes para esta consulta.

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

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