Esquema del registro de Unified Maintenance

Para crear políticas de alertas y filtrar registros, debes usar el lenguaje de consulta de Logging. En la siguiente tabla, se detallan los campos del recurso de mantenimiento unificado ResourceMaintenance. Usa estos campos para escribir operaciones de consulta para los recursos de Unified Maintenance.

Esquema de registro de ResourceMaintenance

Campos
resource MonitoredResource
resource.type string

: Se establece en el tipo de recurso supervisado del recurso objetivo. Por ejemplo, instancia de Cloud SQL: cloudsql_database
resource.labels map (key: string, value: string)

Son etiquetas que identifican de forma única un recurso objetivo (consulta una lista de etiquetas en tipos de recursos supervisados).
labels map (key: string, value: string)

: Par clave-valor que se usa para filtrar las entradas de registro. Claves posibles:

maintenance.googleapis.com/new_resource_maintenance (se establece en verdadero para la primera entrada de registro de un ResourceMaintenance)

maintenance.googleapis.com/updated_fields (una lista de campos ResourceMaintenance actualizados, por ejemplo,
"['state','maintenanceScheduledStartTime','maintenanceScheduledEndTime']")
insertId string

Es un identificador único para la entrada de registro.
timestamp string (Timestamp format)

Fecha y hora en la que ocurrió el evento que se describe en la entrada de registro. Esta fecha y hora se usan para calcular la antigüedad de la entrada de registro y para aplicar el período de retención de registros.
receiveTimestamp string (Timestamp format)

Fecha y hora en que Logging recibió la entrada de registro.
jsonPayload ResourceMaintenance

Es la carga útil con detalles del mantenimiento de recursos.
jsonPayload.@type string

: Definición de tipo de la carga útil.
Igual a: type.googleapis.com/google.cloud.maintenance.logging.v1beta.ResourceMaintenanceLog
jsonPayload.name Identificador de string

. Es el nombre del recurso resourceMaintenance. Formato: "projects/{project}/locations/{location}/resourceMaintenance/{resource-maintenance-id}"
jsonPayload.resource.resourceName string

Solo salida. Name es la referencia al recurso del consumidor afectado por el mantenimiento. Para conocer los valores disponibles, consulta Nombres de recursos.
jsonPayload.resource.location string

Solo salida. Ubicación del recurso. Formato: us-central1.
jsonPayload.resource.type string

Solo salida. El tipo de recurso. Para conocer los valores disponibles, consulta los tipos de recursos de los servicios compatibles.
jsonPayload.maintenance object

Solo salida. Son los detalles del mantenimiento.
jsonPayload.maintenance.maintenanceName string

Es el nombre del recurso de mantenimiento correspondiente según el esquema de nombres estándar: "{maintenance-id}".
jsonPayload.maintenance.title string

Solo salida. Es el título del mantenimiento.
jsonPayload.maintenance. description string

Solo salida. Es la descripción del mantenimiento.
jsonPayload.state enum

Estado del mantenimiento:
SCHEDULED - Programado para un período específico. En el caso del mantenimiento disruptivo, se debe respetar la política de mantenimiento. Por ejemplo, los períodos disponibles, las exclusiones y el período de notificación.
STARTED: El mantenimiento está en curso.
CANCELLED: Ya no está planificado, por lo general, cuando ya se realizó otro mantenimiento (p.ej., actualización a una versión más reciente) o el usuario omitió el mantenimiento.
SUCCEEDED: Se completó correctamente.
jsonPayload.maintenanceScheduledStartTime string

Solo salida. Es la fecha y hora en que el mantenimiento del recurso está SCHEDULED.
Usa RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z".
Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
jsonPayload.maintenanceScheduledEndTime string

Solo salida. Es la fecha y hora en la que se programó que finalizara el mantenimiento del recurso.
Usa RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z".
Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
jsonPayload.maintenanceStartTime string

Solo salida. Es la fecha y hora en que el mantenimiento del recurso tiene el estado STARTED.
Usa RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”.
Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
jsonPayload.maintenanceEndTime string

Solo salida. Es la fecha y hora en que el mantenimiento del recurso tiene el estado SUCCEEDED.
Usa RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z".
Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
jsonPayload.maintenanceCancelTime string

Solo salida. Fecha y hora en que se CANCELLED el mantenimiento del recurso.
Usa RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z".
Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
jsonPayload.userControllable boolean

Solo salida. Indica si el usuario tiene cierto control sobre ese mantenimiento, ya sea de forma proactiva antes de que se programara el mantenimiento con la política de mantenimiento o con controles reactivos después de que se programó (consulta el campo controls).
jsonPayload.controls object(MaintenanceControl)

Solo salida. Controles de mantenimiento

Ejemplo de campos de registro

En el siguiente ejemplo, se muestra un recurso ResourceMaintenance.

"insertId": "proj-1-us-west1-db-1-830d851d-2adf-4fb0-8f5b-1e18e16530d9",
"timestamp": "2023-09-14T16:00:00Z",
"receiveTimestamp": "2023-09-14T16:00:01Z",
"logName":"projects/proj-1/logs/maintenance.googleapis.com%2Fmaintenance_events",
"resource": {
  "type":"cloudsql_database",
  "labels": {
    "project_id": "proj-1",
    "database_id":"db-1",
    "region": "us-west1",
  },
},
"labels": {
  "maintenance.googleapis.com/new_resource_maintenance": "False",
  "maintenance.googleapis.com/updated_fields": "['state','maintenanceScheduledStartTime','maintenanceScheduledEndTime']"
},
"jsonPayload": {
  "@type": "type.googleapis.com/google.cloud.maintenance.logging.v1beta.ResourceMaintenanceLog",
  "name": "projects/proj-1/locations/us-west1/resourceMaintenances/db-1-a8307daa-5e1f-4974-b6a5-61fceb8331c0",
  "resource": {
    "resourceName": "//sqladmin.googleapis.com/projects/proj-1/instances/db-1",
    "location": "us-west1",
    "type": "sqladmin.googleapis.com/Instance"
  },
  "maintenance": {
    "maintenanceName": "830d851d-2adf-4fb0-8f5b-1e18e16530d9",
    "title": "Cloud SQL upgrade to v2",
    "description": "An upgrade to v2 release. New features... Release notes: https://..."
  },
  "state": "SCHEDULED",
  "maintenanceScheduledStartTime": "2023-09-21T16:00:00Z",
  "maintenanceScheduledEndTime": "2023-09-21T20:00:00Z"
}

¿Qué sigue?