Después de crear reglas de alertas en tu proyecto de dispositivo aislado de Google Distributed Cloud (GDC), puedes consultar y ver alertas en los paneles desde la interfaz de usuario (IU) de la instancia de supervisión del sistema del proyecto o consultar alertas desde la API de HTTP de Observabilidad de GDC.
Consulta y visualiza alertas en los paneles
Puedes ver las alertas en los paneles de la instancia de Grafana de
Instancia de supervisión del sistema del proyecto platform-obs
La instancia de supervisión del sistema incluye métricas, registros y alertas a nivel del proyecto para realizar procesos de supervisión, como la supervisión de la red y la supervisión del servidor.
Antes de comenzar
Antes de consultar y ver alertas en los paneles, debes obtener acceso a la instancia de supervisión del sistema. Para obtener más información, consulta Cómo obtener acceso a los paneles.
Para acceder y visualizar las alertas, pídele al administrador de IAM del proyecto que te otorgue el rol de visualizador de Grafana del proyecto (project-grafana-viewer
). Este proceso de control de acceso basado en roles te permite acceder a las visualizaciones de datos de forma segura.
Extremo de la instancia de supervisión del sistema
Para el operador de la aplicación (AO):
Abre la siguiente URL para acceder al extremo de tu proyecto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Reemplaza lo siguiente:
- GDC_URL: URL de tu organización en GDC.
- PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
La IU del proyecto contiene paneles predeterminados, como el panel Alerts - Overview, con información sobre las alertas. Consultar alertas desde la IU te permite recuperar visualmente la información de alertas de tu proyecto y obtener una vista integrada de los recursos para conocer los problemas y resolverlos rápidamente.
Para el administrador de la plataforma (PA):
Abre la siguiente URL para acceder al extremo de tu proyecto de platform-obs
:
https://GDC_URL/platform-obs/grafana
Reemplaza GDC_URL por la URL de tu organización en GDC.
La interfaz de usuario (IU) de la instancia de supervisión del sistema contiene paneles predeterminados, como el panel Alerts - Overview, con información sobre las alertas para la observabilidad de los datos. Consultar alertas desde la IU te permite recuperar visualmente la información de alertas de tu proyecto y obtener una vista integrada de los recursos para conocer los problemas y resolverlos rápidamente.
Figura 1. El panel Alerts - Overview en la IU de Grafana
Alertmanager
Alertmanager te permite supervisar las notificaciones de alerta de las aplicaciones cliente. Puedes inspeccionar y silenciar alertas con Alertmanager, y filtrar o agrupar alertas:
Figura 2. Opción de menú para consultar los registros de auditoría de Alertmanager.
Políticas de alertas predefinidas
En la siguiente tabla, se enumeran las reglas de alertas preinstaladas en Prometheus:
Nombre | Descripción |
---|---|
KubeAPIDown (crítico) | KubeAPI desapareció del descubrimiento de objetivos de Prometheus durante 15 minutos. |
KubeClientErrors (advertencia) | Proporción de errores del cliente del servidor de la API de Kubernetes > 0.01 durante 15 minutos. |
KubeClientErrors (crítico) | Proporción de errores del cliente del servidor de la API de Kubernetes > 0.1 durante 15 minutos. |
KubePodCrashLooping (advertencia) | El Pod ha estado en un estado de bucle de fallas durante más de 15 minutos. |
KubePodNotReady (advertencia) | El Pod está en estado no listo durante más de 15 minutos. |
KubePersistentVolumeFillingUp (crítico) | Bytes disponibles de un PersistentVolume reclamado < 0.03. |
KubePersistentVolumeFillingUp (advertencia) | Bytes disponibles de un PersistentVolume reclamado < 0.15. |
KubePersistentVolumeErrors (crítico) | El volumen persistente está en la fase Con errores o Pendiente durante cinco minutos. |
KubeNodeNotReady (advertencia) | El nodo no se ha leído durante más de 15 minutos. |
KubeNodeCPUUsageHigh (crítico) | El uso de CPU del nodo es superior al 80%. |
KubeNodeMemoryUsageHigh (crítico) | El uso de memoria del nodo es superior al 80%. |
NodeFilesystemSpaceFillingUp (advertencia) | El uso del sistema de archivos del nodo es superior al 60%. |
NodeFilesystemSpaceFillingUp (crítico) | El uso del sistema de archivos del nodo es superior al 85%. |
CertManagerCertExpirySoon (advertencia) | Un certificado vence en 21 días. |
CertManagerCertNotReady (crítico) | Un certificado no está listo para entregar tráfico después de 10 minutos. |
CertManagerHittingRateLimits (crítico) | Se alcanzó un límite de frecuencia de creación y renovación de certificados durante cinco minutos. |
DeploymentNotReady (crítico). | Una Deployment en el clúster de administrador de la organización se encuentra en un estado de no listo desde hace más de 15 minutos. |
Muestra de alertmanagerConfigurationConfigmaps
La sintaxis de los archivos de configuración en ConfigMaps que enumera alertmanagerConfigurationConfigmaps
debe seguir https://prometheus.io/docs/alerting/latest/configuration/
apiVersion: observability.gdc.goog/v1alpha1
kind: ObservabilityPipeline
metadata:
# Choose namespace that matches the project's namespace
namespace: kube-system
name: observability-config
# Configure Alertmanager
alerting:
# Storage size for alerting data within organization
# Permission: PA
localStorageSize: 1Gi
# Permission: PA & AO
# alertmanager config must be under the key "alertmanager.yml" in the configMap
alertmanagerConfig: <configmap-for-alertmanager-config>
# Permission: PA
volumes:
- <volume referenced in volumeMounts>
# Permission: PA
volumeMounts:
- <volumeMount referenced in alertmanagerConfig>
Ejemplo de configuración de reglas
# Configures either an alert or a target record for precomputation
apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringRule
metadata:
# Choose namespace that contains the metrics that rules are based on
# Note: alert/record will be produced in the same namespace
namespace: g-fleetns-a
name: alerting-config
spec:
# Rule evaluation interval
interval: <duration>
# Configure limit for number of alerts (0: no limit)
# Optional, Default: 0 (no limit)
limit: <int>
# Configure record rules
recordRules:
# Define which timeseries to write to (must be a valid metric name)
- record: <string>
# Define PromQL expression to evaluate for this rule
expr: <string>
# Define labels to add or overwrite
# Optional, Map of {key, value} pairs
labels:
<labelname>: <labelvalue>
# Configure alert rules
alertRules:
# Define alert name
- alert: <string>
# Define PromQL expression to evaluate for this rule
# https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
expr: <string>
# Define when an active alert moves from pending to firing
# Optional, Default: 0s
for: <duration>
# Define labels to add or overwrite
# Required, Map of {key, value} pairs
# Required labels:
# severity: [error, critical, warning, info]
# code:
# resource: component/service/hardware related to alert
# additional labels are optional
labels:
severity: <enum: [error, critical, warning, info]>
code:
resource: <Short name of the related operable component>
<labelname>: <tmpl_string>
# Define annotations to add
# Optional, Map of {key, value} pairs
# Recommended annotations:
# message: value of Message field in UI
# expression: value of Rule field in UI
# runbookurl: URL for link in Actions to take field in UI
annotations:
<labelname>: <tmpl_string>
# Configures either an alert or a target record for precomputation
apiVersion: logging.gdc.goog/v1alpha1
kind: LoggingRule
metadata:
# Choose namespace that contains the logs that rules are based on
# Note: alert/record will be produced in the same namespace
namespace: g-fleetns-a
name: alerting-config
spec:
# Choose which log source to base alerts on (Operational/Audit/Security Logs)
# Optional, Default: Operational
source: <string>
# Rule evaluation interval
interval: <duration>
# Configure limit for number of alerts (0: no limit)
# Optional, Default: 0 (no limit)
limit: <int>
# Configure record rules
recordRules:
# Define which timeseries to write to (must be a valid metric name)
- record: <string>
# Define LogQL expression to evaluate for this rule
# https://grafana.com/docs/loki/latest/rules/
expr: <string>
# Define labels to add or overwrite
# Optional, Map of {key, value} pairs
labels:
<labelname>: <labelvalue>
# Configure alert rules
alertRules:
# Define alert name
- alert: <string>
# Define LogQL expression to evaluate for this rule
expr: <string>
# Define when an active alert moves from pending to firing
# Optional, Default: 0s
for: <duration>
# Define labels to add or overwrite
# Required, Map of {key, value} pairs
# Required labels:
# severity: [error, critical, warning, info]
# code:
# resource: component/service/hardware related to alert
# additional labels are optional
labels:
severity: <enum: [error, critical, warning, info]>
code:
resource: <Short name of the related operable component>
<labelname>: <tmpl_string>
# Define annotations to add
# Optional, Map of {key, value} pairs
# Recommended annotations:
# message: value of Message field in UI
# expression: value of Rule field in UI
# runbookurl: URL for link in Actions to take field in UI
annotations:
<labelname>: <tmpl_string>
Alertas de consultas desde la API de HTTP
La plataforma de Observabilidad expone un extremo de API de HTTP para consultar y leer métricas, alertas y otros datos de series temporales de tu proyecto para la supervisión del sistema.Consulta alertas directamente desde la API de HTTP de Observability para configurar tareas automatizadas, adaptar respuestas y crear integraciones según tu caso de uso. Por ejemplo, puedes insertar el resultado en otro comando, exportar detalles a formatos de archivo de texto o configurar un trabajo cron de Linux. Puedes llamar a la API de Observability HTTP desde la interfaz de línea de comandos (CLI) o un navegador web, y obtener el resultado en formato JSON.
En esta sección, se explica cómo llamar extremo de API de HTTP de Observability desde la CLI con la especificación de la API depara consultar alertas.
Consulta alertas directamente desde la API de HTTP de Observability para configurar tareas automatizadas, adaptar respuestas y crear integraciones según tu caso de uso. Por ejemplo, puedes insertar el resultado en otro comando, exportar detalles a formatos de archivo de texto o configurar un trabajo cron de Linux. Puedes llamar a la API de Observability HTTP desde la interfaz de línea de comandos (CLI) o un navegador web, y obtener el resultado en formato JSON.
En esta sección, se explica cómo llamar extremo de API de HTTP de Observability desde la CLI con la especificación de la API de Alertmanager para consultar métricas.
Antes de comenzar
Para obtener los permisos que necesitas para acceder extremo de API de HTTP de Observabilidad, pídele al administrador de IAM del proyecto que te otorgue el rol de Visualizador de Alertmanager de Project Cortex (project-cortex-alertmanager-viewer
) en el espacio de nombres de tu proyecto.
El administrador de IAM del proyecto puede otorgarte acceso creando una vinculación de rol:
a. Administrador raíz del operador de infraestructura (IO) - Project Cortex Alertmanager Viewer
:
kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding
io-cortex-alertmanager-viewer-binding -n infra-obs
--user=fop-infrastructure-operator@example.com
--role=project-cortex-alertmanager-viewer
b. Administrador raíz de Platform-Admin (PA) - Project Cortex Alertmanager Viewer
:
kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding
pa-cortex-alertmanager-viewer-binding -n platform-obs
--user=fop-platform-admin@example.com
--role=project-cortex-alertmanager-viewer
c. Administrador raíz del operador de la aplicación (AO) - Visualizador de Alertmanager de Project Cortex: Proyecto: $AO_PROJECT Nombre de usuario del AO: $AO_USER
kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding
project-cortex-alertmanager-viewer-binding -n $AO_PROJECT
--user=$AO_USER
--role=project-cortex-alertmanager-viewer
Después de crear la vinculación del rol, puedes acceder al Alertmanager correspondiente con tu nombre de usuario de acceso.
Verifica la vinculación de rol
kubectl --kubeconfig $HOME/org-1-admin-kubeconfig get rolebinding -n platform-obs
Para obtener información sobre cómo configurar vinculaciones de roles desde la consola de GDC, consulta Otorga acceso a los recursos.
Extremo de Cortex
La siguiente URL es el extremo de Cortex para acceder a las alertas:
https://GDC_URL/PROJECT_NAME/cortex/alertmanager/
Reemplaza lo siguiente:
- GDC_URL: URL de tu organización en GDC.
- PROJECT_NAME: el nombre del proyecto.
Llama extremo de API
Sigue estos pasos para acceder extremo de API de Cortex desde la CLI y consultar alertas:
- Asegúrate de cumplir con los requisitos.
- Abre la CLI.
Usa la herramienta
curl
para llamar a la URL del extremo de Cortex y extender la URL con el estándar https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers para consultar alertas. Por ejemplo:curl https://console.org-1.zone1.google.gdch.test/alice/cortex/alertmanager/api/v1/alertmanagers
Obtendrás el resultado en la CLI después del comando. El formato de respuesta de la API es JSON.