Personalized Service Health registra los eventos de estado del servicio en Cloud Logging. Registra todas las actualizaciones de la descripción, la relevancia o el estado del evento como un registro distinto.
En este documento, se explica cómo ver, exportar y almacenar registros de estado del servicio.
Antes de comenzar
Make sure that billing is enabled for your Google Cloud project.
Debes tener acceso a los registros de Service Health.
Esquema de registro
Consulta la referencia del esquema de registro para ver los campos que puedes configurar en tu consulta.
Cómo ver los registros de Service Health
Para ver los registros de Service Health, haz lo siguiente:
- Ve a la consola de Google Cloud.
- Selecciona Operaciones > Registro > Explorador de registros.
- Selecciona un proyecto de Google Cloud en la parte superior de la página.
En el menú desplegable Nombre del registro, selecciona Estado del servicio.
Aparecerá una lista de registros de
type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
.Expande una entrada de registro para ver los detalles del evento. En el siguiente ejemplo, se muestra un evento típico.
"insertId":"1pw1msgf6a3zc6", "timestamp":"2022-06-14T17:17:55.722035096Z", "receiveTimestamp":"2022-06-14T17:17:55.722035096Z", "logName":"projects/PROJECT_ID/logs/servicehealth.googleapis.com%2Factivity", "resource":{ "type":"servicehealth.googleapis.com/Event", "labels":{ "resource_container":"797731824162", "location":"global", "event_id":"U4AqrjwFQYi5fFBmyAX-Gg" } } "labels":{ "new_event":"true" "updated_fields": "[]" }, "jsonPayload":{ "@type":"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "category":"INCIDENT", "title":"We are experiencing a connectivity issue affecting Cloud SQL in us-east1, australia-southeast2.", "description":"We are experiencing an issue with Google Cloud infrastructure components at us-east1, australia-southeast2. Our engineering team continues to investigate the issue. We apologize to all who are affected by the disruption.", "updateTime":"2023-11-14T22:26:40Z", "endTime":"2023-11-14T22:13:20Z", "impactedLocations":"['us-east1','australia-southeast2']", "impactedProducts":"['Google Cloud SQL']", "impactedProductIds":"['hV87iK5DcEXKgWU2kDri']", "nextUpdateTime":"2023-11-14T22:40:00Z", "startTime":"2020-09-13T12:26:40Z", "state":"ACTIVE", "detailedState":"CONFIRMED", "relevance":"RELATED", }
Cómo consultar los registros de Service Health
Puedes usar el Explorador de registros para consultar los registros de estado del servicio. Es posible que necesites las siguientes referencias para crear tu consulta:
Ejemplos:
Condición | Consulta |
Cómo obtener registros con una relevancia de incidente específica | jsonPayload.relevance = ("IMPACTED" OR "RELATED")
|
Cómo combinar varios filtros | jsonPayload.impactedLocations : "us-central1" AND jsonPayload.impactedProducts : "Google Compute Engine" AND jsonPayload.state = "ACTIVE"
|
Cómo exportar registros de Service Health
Puedes exportar registros de estado del servicio a cualquier destino de destino de Cloud Logging con la consola de Google Cloud, la API o gcloud CLI. Para configurar un receptor de Cloud Logging, consulta Configura y administra receptores.
Puedes incluir y excluir registros de estado del servicio configurando los filtros de inclusión y exclusión del receptor.
Cuando configures el producto o la ubicación, usa los valores que se encuentran en Google Cloud products y locations.
Cómo agregar registros de Service Health a nivel de una carpeta
Enviar registros relacionados con el estado del servicio de todos los proyectos de una carpeta a un proyecto creado para los registros de estado del servicio te permite realizar consultas más complejas en ellos.
Crearás un receptor a nivel de la carpeta para enviar todos los registros relacionados con el estado del servicio a un proyecto nuevo en esa carpeta. Haz lo siguiente:
Crea un proyecto nuevo en una carpeta. Este proyecto se asigna a los registros de Service Health.
gcloud projects create PROJECT_ID --folder FOLDER_ID
Crea un receptor agregado a nivel de la carpeta para los otros proyectos de la carpeta.
gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="LOG_FILTER"
Para obtener registros de todos los incidentes relevantes, establece el valor de LOG_FILTER en lo siguiente:
resource.type=servicehealth.googleapis.com/Event AND jsonPayload.category=INCIDENT AND jsonPayload.relevance!=NOT_IMPACTED AND jsonPayload.@type=type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
Establece permisos para la cuenta de servicio del receptor.
gcloud projects add-iam-policy-binding PROJECT_ID --member=SERVICE_ACCT_NAME --role=roles/logging.bucketWriter gcloud projects add-iam-policy-binding PROJECT_ID --member=SERVICE_ACCT_NAME --role=roles/logging.logWriter
(Opcional) Si no quieres enviar los registros al receptor de
_Default
, crea un bucket de registros para los registros relacionados con el estado del servicio en el proyecto.gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Si creaste un bucket de registros, crea un receptor para enviar esos registros al bucket.
gcloud logging sinks create SINK_NAME_BUCKET \ logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID \ --project=PROJECT_ID --log-filter="LOG_FILTER"
Consulta los registros de estado del servicio con BigQuery
Para consultar los registros enviados a Cloud Logging con BigQuery, sigue estos pasos:
- Crear consultas en SQL
- Usar la API de BigQuery para enviar los resultados de las consultas a sistemas externos
Haz lo siguiente:
Crea un bucket de registro en el proyecto que creaste para los registros de estado del servicio.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Habilita Análisis de registros.
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
-
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
Si es necesario, habilita la API de BigQuery.
gcloud services enable bigquery.googleapis.com
Ahora puedes ejecutar consultas de SQL complejas en BigQuery, como las siguientes:
Condición | Consulta |
Cómo obtener registros con una relevancia de incidente específica | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["relevance"]) = "IMPACTED"'
|
Obtén todos los eventos de registro secundarios de un evento superior | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["parentEvent"]) = "projects/PROJECT_ID/locations/global/events/EVENT_ID"'
|
Cómo retener eventos anteriores
Personalized Service Health proporciona una retención limitada de eventos.
Si necesitas conservar un registro de los eventos de estado del servicio anteriores durante más de unos meses, te recomendamos que almacenes los registros de Service Health.