Después de recoger métricas de las cargas de trabajo implementadas en el dispositivo aislado de Google Distributed Cloud (GDC), puedes empezar a analizarlas. Para analizar las métricas, puede visualizarlas y filtrarlas en paneles de control informativos de Grafana 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 tus métricas de dos formas:
- Paneles de Grafana: descubre tendencias e identifica anomalías con visualizaciones intuitivas de métricas clave, como la utilización de la CPU, el consumo de almacenamiento y la actividad de la red. Grafana ofrece una interfaz fácil de usar para filtrar y analizar los datos de tus cargas de trabajo en paneles de control.
- Endpoint de Cortex: para casos prácticos más avanzados, consulta directamente la instancia de Cortex de tu proyecto mediante la herramienta
curl
en una línea de comandos. Cortex almacena las métricas de Prometheus de tu proyecto y proporciona un endpoint HTTP para el acceso programático. Este acceso le permite exportar datos, automatizar tareas y crear integraciones personalizadas.
Antes de empezar
Para obtener los permisos que necesitas para consultar y visualizar métricas en los paneles de Grafana, pide al administrador de gestión de identidades y accesos de tu organización o proyecto que te conceda uno de los roles predefinidos de lector de Grafana de la organización o del proyecto. En función del nivel de acceso y de los permisos que necesites, puedes obtener roles de Grafana en una organización o en un proyecto.
También puedes pedir al administrador de gestión de identidades y accesos de tu proyecto que te conceda el rol Lector de Prometheus de Cortex del proyecto en el espacio de nombres de tu proyecto para obtener los permisos que necesitas para consultar métricas desde el endpoint de Cortex.
Para obtener más información sobre estos roles, consulta Preparar permisos de gestión de identidades y accesos.
Obtener y filtrar métricas
Selecciona uno de los siguientes métodos para crear consultas, visualizar tendencias y filtrar métricas de las cargas de trabajo de tu proyecto:
Paneles de control de Grafana
En esta sección se describe cómo acceder a sus métricas mediante los paneles de control de Grafana.
Identificar el endpoint de Grafana
La siguiente URL es el endpoint de la instancia de Grafana de tu proyecto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
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 Grafana del proyecto
platform-obs
de la organizaciónorg-1
eshttps://org-1/platform-obs/grafana
.
Ver métricas en la interfaz de usuario de Grafana
Recupera métricas en la interfaz de usuario de Grafana:
- En la consola de GDC, selecciona tu proyecto.
- En el menú de navegación, selecciona Operaciones > Monitorización.
Haz clic en Ver todo en Grafana.
Se abrirá una página con su endpoint de Grafana y se mostrará la interfaz de usuario.
En la interfaz de usuario,haga clic en Explorar Explorar en el menú de navegación para abrir la página Explorar.
En el menú de la barra Explorar, seleccione una fuente de datos para obtener métricas según el tipo de universo:
- Universos de una sola zona: selecciona prometheus para mostrar las métricas de la zona única de tu universo.
Introduce una consulta para buscar métricas mediante expresiones de PromQL (lenguaje de consulta de Prometheus). Puedes completar este paso de cualquiera de las siguientes formas:
- Seleccione una métrica y una etiqueta para su consulta en los menús Métrica y Filtros de etiquetas. Haz clic en Añadir Añadir para añadir más etiquetas a tu consulta. A continuación, haz clic en Ejecutar consulta.
- Introduce tu consulta directamente en el campo de texto Métricas y pulsa Mayús+Intro para ejecutarla.
En la página se muestran las métricas que coinciden con tu consulta.
Imagen 1. Opción de menú para consultar métricas desde la interfaz de usuario de Grafana.
En la figura 1, la opción Prometheus muestra la interfaz que te permite crear consultas desde Grafana para obtener métricas.
Para ver ejemplos de valores de etiquetas que puede usar para consultar métricas, consulte Consultas y etiquetas de ejemplo.
Endpoint de Cortex
En esta sección se describe cómo acceder a tus métricas con Cortex.
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/prometheus/
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-obs
de la organizaciónorg-1
eshttps://org-1/platform-obs/cortex/prometheus/
.
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_URL
Inicia sesión con el proveedor de identidades configurado:
gdcloud auth login
Usa tu nombre de usuario y contraseña para autenticarte e iniciar sesión.
Si el inicio de sesión se realiza correctamente, puedes usar el encabezado de autorización en tu solicitud cURL mediante el comando
gdcloud auth print-identity-token
. Para obtener más información, consulta gdcloud auth.
Llamar al endpoint de Cortex
Para acceder al endpoint de Cortex con la herramienta curl
, sigue estos pasos:
- Autentica la solicitud
curl
. Usa
curl
para llamar al endpoint de Cortex y amplía la URL con la API HTTP estándar de Prometheus (https://prometheus.io/docs/prometheus/latest/querying/api/) para consultar métricas.A continuación, se muestra un ejemplo de solicitud
curl
:curl https://GDC_URL/PROJECT_NAME/cortex/prometheus/api/v1/query?query=my_metric{cluster="my-cluster"}&time=2015-07-01T20:10:51.781Z \ -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.
Consultas y etiquetas de ejemplo
Puede consultar métricas mediante el nombre de la métrica y los pares clave-valor de las etiquetas. Una consulta de PromQL tiene la siguiente sintaxis:
metric_name{label_one="value", label_two="value"}
Las etiquetas te permiten diferenciar las características de una métrica. De esta forma, los autores de contenedores hacen que sus cargas de trabajo generen métricas y añadan etiquetas para filtrar esas métricas.
Por ejemplo, puedes tener una métrica api_http_requests_total
para contar el número de solicitudes HTTP recibidas. A continuación, puedes añadir una etiqueta request_method
a esta métrica, que toma un valor POST
, GET
o PUT
. Por lo tanto, debe crear tres flujos de métricas para cada tipo de solicitud que pueda recibir. En este caso, para encontrar el número de solicitudes HTTP GET
, ejecuta la siguiente consulta:
api_http_requests_total{request_method="GET"}
Consulta https://prometheus.io/docs/practices/naming/ para obtener más información sobre las métricas y las etiquetas.
A continuación, se indican algunas de las etiquetas predeterminadas que añade el recurso personalizado MonitoringTarget
. Puede usar estas etiquetas predeterminadas para consultar métricas:
_gdch_service
: el nombre corto del servicio.cluster
: el nombre del clúster.container_name
: el nombre del contenedor de un pod.namespace_name
: el espacio de nombres de tu proyecto.pod_name
: el prefijo del nombre del pod.
En la siguiente tabla se describen las etiquetas que añade Prometheus automáticamente:
Etiqueta de métrica | Descripción |
---|---|
job |
Nombre interno del trabajo de raspado que se usa para recoger la métrica. Las tareas creadas por el recurso personalizado MonitoringTarget tienen un nombre con el siguiente patrón:obs-system/OBS_SHADOW_PROJECT_NAME/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J I y J son números únicos determinados internamente
para evitar conflictos de nombres. |
instance |
El $IP:$PORT del servicio retirado. Si un recurso de carga de trabajo tiene varias réplicas, usa este campo para diferenciarlas. |
Los siguientes ejemplos de código muestran el uso de pares clave-valor para etiquetas con el fin de consultar diferentes métricas:
Ver todas las secuencias de métricas de las operaciones procesadas de tu proyecto:
processed_ops_total
Para ver las operaciones procesadas recogidas en un clúster de Kubernetes, haz lo siguiente:
processed_ops_total{cluster="CLUSTER_NAME"}
Para ver el uso de CPU recogido en un clúster de Kubernetes, sigue estos pasos:
cpu_usage{cluster="CLUSTER_NAME"}
Usa la herramienta de cambio de nombre de métricas para añadir etiquetas que no se hayan expuesto inicialmente por los contenedores retirados y cambiar el nombre de las métricas producidas. Debe configurar el recurso personalizado MonitoringTarget
para añadir etiquetas a las métricas que recoge.
Especifica esas etiquetas en el campo metricsRelabelings
del recurso personalizado.
Para obtener más información, consulta Métricas de etiquetas.
Consultar métricas de la API de Cortex
Cortex es el almacenamiento a largo plazo de las métricas de Prometheus en GDC. La plataforma Observabilidad expone un endpoint de la API HTTP de Cortex para consultar y leer métricas, alertas y otros datos de series temporales de Prometheus de tu proyecto.
Consulta métricas directamente desde la API HTTP para leer y exportar métricas y otros datos de series temporales a herramientas externas, configurar tareas automatizadas, adaptar respuestas y crear integraciones según tu caso práctico de monitorización del sistema. Por ejemplo, puedes insertar el resultado en otro comando, exportar detalles a formatos de archivo de texto o configurar una tarea cron de Linux. Puedes llamar a la API desde la interfaz de línea de comandos (CLI) o un navegador web, y usar expresiones del lenguaje de consulta como parámetros de punto final para obtener el resultado en formato JSON.
En esta sección se explica cómo llamar al endpoint de la API de Cortex desde la CLI mediante la especificación de la API de Prometheus para consultar métricas de observabilidad de datos.
Antes de empezar
Debes obtener autorización para consultar métricas desde la CLI. Para obtener los permisos que necesitas para acceder al endpoint de la API Cortex, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol Lector de Prometheus de Project Cortex (project-cortex-prometheus-viewer
).
Crea los siguientes enlaces de rol con los comandos kubectl
de Cortex Prometheus para cada perfil:
Administrador raíz del operador de infraestructura (IO):
Project Cortex Prometheus Viewer
kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding io-cortex-prometheus-viewer-binding -n infra-obs --user=fop-infrastructure-operator@example.com --role=project-cortex-prometheus-viewer
Administrador raíz de la plataforma (PA):
Project Cortex Prometheus Viewer
kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding pa-cortex-prometheus-viewer-binding -n platform-obs --user=fop-platform-admin@example.com --role=project-cortex-prometheus-viewer
Administrador raíz del operador de aplicaciones (AO):
Project Cortex Prometheus Viewer
kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding project-cortex-prometheus-viewer-binding -n PROJECT_NAME --user=USER_NAME --role=project-cortex-prometheus-viewer
Haz los cambios siguientes:
- PROJECT_NAME: el nombre de tu proyecto.
- USER_NAME: nombre de la cuenta del usuario que requiere la vinculación de roles.
Una vez que se haya creado el enlace de rol, podrás acceder a la API de Prometheus con tu nombre de usuario de inicio de sesión.
Endpoint de API HTTP
La siguiente URL es el endpoint de la API HTTP para acceder a las métricas del proyecto platform-obs
:
https://GDC_URL/PROJECT_NAME/cortex/prometheus/
Haz los cambios siguientes:
- GDC_URL: la URL de tu organización en GDC.
- PROJECT_NAME: el nombre de tu proyecto.
Llamar al endpoint de la API
Sigue estos pasos para acceder al endpoint de la API Cortex desde la CLI y consultar métricas:
- Asegúrate de que cumples los requisitos previos.
- Abre la CLI.
Usa la herramienta
curl
para llamar al endpoint de Cortex y amplía la URL con el estándar https://prometheus.io/docs/prometheus/latest/querying/api/ para consultar métricas. Por ejemplo:curl https://console.org-1.zone1.google.gdch.test/alice/cortex/prometheus/api/v1/query?query=my_metric{cluster="org-1-system"}&time=2015-07-01T20:10:51.781Z
Obtendrás el resultado en la CLI después del comando. El formato de respuesta de la API es JSON.