En esta página se proporcionan instrucciones detalladas sobre cómo consultar y visualizar alertas abiertas mediante la consola de GDC y la herramienta curl para el endpoint de Cortex, con el fin de identificar problemas y solucionarlos.
Después de crear reglas de alerta basadas en registros y métricas de entornos aislados de Google Distributed Cloud (GDC), puedes empezar a monitorizar las alertas abiertas de tu proyecto. Puedes visualizar y filtrar las alertas que activan los eventos de tu sistema en la consola de GDC o acceder a ellas directamente desde Cortex mediante la herramienta curl para disfrutar de flexibilidad en las secuencias de comandos y la automatización.
Puedes acceder a las alertas abiertas de una de estas dos formas:
- Consola de GDC: visualiza los datos de las alertas en paneles integrados que contienen información como el número de alertas de una fuente de datos específica, el nivel de gravedad, la duración, el estado, el mensaje y las etiquetas. La consola de GDC proporciona una interfaz intuitiva para filtrar y analizar las alertas de los componentes de tu sistema.
- Endpoint de Alertmanager de Cortex: para casos prácticos más avanzados, consulta directamente la instancia de Cortex de tu proyecto mediante la herramienta
curlen una línea de comandos. Cortex almacena las alertas de Alertmanager de tu proyecto y proporciona un endpoint HTTP para el acceso programático. Este acceso te permite exportar datos, automatizar tareas, configurar tareas cron y crear integraciones personalizadas.
Antes de empezar
Para obtener los permisos que necesitas para consultar y visualizar alertas, pide a tu administrador de gestión de identidades y accesos del proyecto que te conceda uno de los roles de Alertmanager de Project Cortex asociados en el espacio de nombres de tu proyecto. En función del nivel de acceso y de los permisos que necesites, puedes obtener los roles de editor o de lector de este recurso en un proyecto.
En la siguiente tabla se resumen los requisitos de Role para PA persona.
| Perfil ficticio | Objeto | Clúster | Rol | Espacio de nombres | Grupo o usuario | Configuración |
|---|---|---|---|---|---|---|
| PA | grafana | org-admin | project-cortex-alertmanager-viewer |
platform-obs | Grupo | 1 |
| PA | grafana | org-admin | project-cortex-alertmanager-viewer |
platform-obs | Usuario | 2 |
Sustituye las siguientes variables por los valores correspondientes:
| Variable | Descripción |
|---|---|
KUBECONFIG |
Necesitarás el archivo kubeconfig del clúster específico que contenga el NAMESPACE en el que se aplicará este RoleBinding. |
RULE_NAME |
Nombre único de este recurso RoleBinding en el espacio de nombres. Por ejemplo, io-root-cortex-prometheus-viewer. |
NAMESPACE |
El espacio de nombres de Kubernetes donde se creará y se aplicará este RoleBinding. Busca la columna Namespace en la tabla anterior. |
EMAIL_ADDRESS |
Identificador del usuario al que se le concede el rol. A menudo, se trata de una dirección de correo electrónico. Por ejemplo, infrastructure-operator@example.com. |
ROLE |
Nombre del Role que contiene los permisos que quieres conceder al usuario. Busca los roles disponibles en la tabla anterior |
GROUP_NAME |
Nombre del Role que contiene los permisos que quieres conceder al usuario. Por ejemplo, io-group. |
ZONE |
Nombre de la zona |
Configuración 1
Esta configuración es para el perfil PA, que se dirige al objeto grafana del clúster org-admin.
Asigna el rol project-cortex-alertmanager-viewer en el espacio de nombres platform-obs a un Group.
Comando Kubectl
Este es el formato genérico de los comandos:
kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --group=`GROUP_NAME` --role=project-cortex-alertmanager-viewerEjemplo:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obsRuta de archivo IAC
/infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`GROUP_NAME`/<YAML_FILE>Archivo YAML
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: RULE_NAME namespace: platform-obs subjects: - kind: Group name: GROUP_NAME apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: project-cortex-alertmanager-viewer apiGroup: rbac.authorization.k8s.io
Configuración 2
Esta configuración es para el perfil PA, que se dirige al objeto grafana del clúster org-admin.
Asigna el rol project-cortex-alertmanager-viewer en el espacio de nombres platform-obs a un User.
Comando Kubectl
Este es el formato genérico de los comandos:
kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --user=`EMAIL_ADDRESS` --role=project-cortex-alertmanager-viewerEjemplo:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obsRuta de archivo IAC
/infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`EMAIL_ADDRESS`/<YAML_FILE>Archivo YAML
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: RULE_NAME namespace: platform-obs subjects: - kind: User name: EMAIL_ADDRESS apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: project-cortex-alertmanager-viewer apiGroup: rbac.authorization.k8s.ioPara obtener más información sobre estos roles, consulta Preparar permisos de gestión de identidades y accesos.
Ver y filtrar alertas abiertas
Selecciona uno de los siguientes métodos para consultar y filtrar las alertas abiertas del espacio de nombres de tu proyecto:
Consola
Para ver las alertas abiertas de un proyecto en la consola de GDC, sigue estos pasos:
- Inicia sesión en la consola de GDC.
- En la consola de GDC, selecciona tu proyecto.
- En el menú de navegación, selecciona Operaciones > Alertas.
- Selecciona la pestaña Alertas.
- Consulta la lista de alertas.
- En la sección Alertas abiertas, haz clic en Filtrar para mostrar solo las alertas abiertas. También puede filtrar las alertas por otros nombres o valores de propiedad.
- Haga clic en el nombre de una alerta para ver sus detalles.
Endpoint de Cortex
En esta sección se describe cómo acceder a las alertas mediante tu endpoint de Cortex Alertmanager.
Identificar tu endpoint de Cortex
La siguiente URL es el endpoint de la instancia de Cortex de tu proyecto:
https://GDC_URL/PROJECT_NAMESPACE/cortex/alertmanager/
Haz los cambios siguientes:
GDC_URL: la URL de tu organización en GDC.PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.Por ejemplo, el endpoint de Cortex del proyecto
platform-obsde la organizaciónorg-1eshttps://org-1/platform-obs/cortex/alertmanager/.
Autenticar la solicitud curl
- Descarga e instala la CLI de gdcloud.
Define la propiedad gdcloud
core/organization_console_url:gdcloud config set core/organization_console_url https://GDC_URLInicia sesión con el proveedor de identidades configurado:
gdcloud auth loginUsa tu nombre de usuario y tu contraseña para autenticarte e iniciar sesión.
Cuando el inicio de sesión se haya completado correctamente, podrá usar el encabezado de autorización en su solicitud curl mediante el comando
gdcloud auth print-identity-token. Para obtener más información, consulta gcloud auth.
Llamar al endpoint de Cortex
Para acceder al endpoint de Cortex con la herramienta curl
, sigue estos pasos:
- Autentica la solicitud
curl. Usa
curlpara llamar al endpoint de Cortex y amplía la URL con la especificación estándar de la API Alertmanager (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) para consultar las alertas.A continuación, se muestra un ejemplo de solicitud
curl:curl https://GDC_URL/PROJECT_NAME/cortex/alertmanager/api/v1/alertmanagers \ -H "Authorization: Bearer $(gdcloud auth print-identity-token \ --audiences=https://GDC_URL)"Obtendrás el resultado después del comando. La respuesta de la API está en formato JSON.