Después de recopilar métricas de tus cargas de trabajo implementadas en el dispositivo aislado de Google Distributed Cloud (GDC), puedes comenzar a analizarlas. Para analizar las métricas, puedes visualizarlas y filtrarlas en paneles informativos de Grafana, o bien acceder a ellas directamente desde Cortex con la herramienta curl
para crear secuencias de comandos y automatizar procesos de forma flexible.
Puedes acceder a tus métricas de una de las siguientes dos maneras:
- Paneles de Grafana: Explora 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 proporciona una interfaz fácil de usar para filtrar y analizar los datos de tu carga de trabajo en los paneles.
- Extremo de Cortex: Para casos de uso más avanzados, consulta directamente la instancia de Cortex de tu proyecto con la herramienta
curl
en una línea de comandos. Cortex almacena las métricas de Prometheus de tu proyecto y proporciona un extremo HTTP para el acceso programático. Este acceso te permite exportar datos, automatizar tareas y crear integraciones personalizadas.
Antes de comenzar
Para obtener los permisos que necesitas para consultar y visualizar métricas en los paneles de Grafana, pídele a tu administrador de IAM de la organización o del proyecto que te otorgue uno de los roles predefinidos de Visualizador de Grafana de la organización o Visualizador de Grafana del proyecto. Según el nivel de acceso y los permisos que necesites, es posible que obtengas roles de Grafana en una organización o un proyecto.
Como alternativa, para obtener los permisos que necesitas para consultar las métricas del extremo de Cortex, pídele al administrador de IAM del proyecto que te otorgue el rol de visualizador de Prometheus de Cortex del proyecto en el espacio de nombres de tu proyecto.
Para obtener más información sobre estos roles, consulta Prepara los permisos de IAM.
Cómo obtener y filtrar tus 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 Grafana
En esta sección, se describe cómo acceder a tus métricas con los paneles de Grafana.
Identifica tu extremo de Grafana
La siguiente URL es el extremo de la instancia de Grafana de tu proyecto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Reemplaza lo siguiente:
GDC_URL
: Es la URL de tu organización en GDC.PROJECT_NAMESPACE
: Es el espacio de nombres de tu proyecto.Por ejemplo, el extremo de Grafana para el proyecto
platform-obs
en la organizaciónorg-1
eshttps://org-1/platform-obs/grafana
.
Cómo ver las 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 Operations > Monitoring.
Haz clic en Ver todo en Grafana.
Se abrirá una nueva página con tu extremo de Grafana y se mostrará la interfaz de usuario.
En la interfaz de usuario,haz clic en Explorar Explorar en el menú de navegación para abrir la página Explorar.
En el menú de la barra Explorar, selecciona una fuente de datos para recuperar métricas, según el tipo de universo:
- Universos de una sola zona: Selecciona prometheus para mostrar las métricas de la única zona de tu universo.
Ingresa una consulta para buscar métricas con expresiones de PromQL (lenguaje de consulta de Prometheus). Puedes realizar este paso de una de las siguientes maneras:
- Selecciona una métrica y una etiqueta para tu búsqueda en los menús Métrica y Filtros de etiquetas. Haz clic en agregar Agregar para agregar más etiquetas a tu búsqueda. Luego, haz clic en Ejecutar consulta.
- Ingresa tu consulta directamente en el campo de texto Métricas y presiona Mayúsculas + Intro para ejecutarla.
En la página, se muestran las métricas que coinciden con tu búsqueda.
Figura 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 recuperar métricas.
Para ver ejemplos de valores de etiquetas que puedes usar para consultar métricas, consulta Ejemplos de consultas y etiquetas.
Extremo de Cortex
En esta sección, se describe cómo acceder a tus métricas con Cortex.
Identifica tu extremo de Cortex
La siguiente URL es el extremo de la instancia de Cortex de tu proyecto:
https://GDC_URL/PROJECT_NAMESPACE/cortex/prometheus/
Reemplaza lo siguiente:
GDC_URL
: Es la URL de tu organización en GDC.PROJECT_NAMESPACE
: Es el espacio de nombres de tu proyecto.Por ejemplo, el extremo de Cortex para el proyecto
platform-obs
en la organizaciónorg-1
eshttps://org-1/platform-obs/cortex/prometheus/
.
Autentica la solicitud de curl
- Descarga y, luego, instala la CLI de gdcloud.
Configura la propiedad
core/organization_console_url
de gdcloud:gdcloud config set core/organization_console_url https://GDC_URL
Accede con el proveedor de identidad configurado:
gdcloud auth login
Usa tu nombre de usuario y contraseña para autenticarte y acceder.
Cuando el acceso sea exitoso, podrás usar el encabezado de autorización en tu solicitud de cURL a través del comando
gdcloud auth print-identity-token
. Para obtener más información, consulta gcloud auth.
Llama al extremo de Cortex
Completa los siguientes pasos para acceder al extremo de Cortex con la herramienta curl
:
- Autentica la solicitud de
curl
. Usa
curl
para llamar al extremo de Cortex y extender la URL con la API de HTTP estándar de Prometheus (https://prometheus.io/docs/prometheus/latest/querying/api/) para consultar métricas.El siguiente es un ejemplo de una 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 siguiente resultado después de ejecutar el comando. La respuesta de la API está en formato JSON.
Ejemplos de búsquedas y etiquetas
Puedes consultar métricas con el nombre de la métrica y pares clave-valor para 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 manera, los autores de contenedores hacen que sus cargas de trabajo generen métricas y agreguen etiquetas para filtrar esas métricas.
Por ejemplo, puedes tener una métrica api_http_requests_total
para contar la cantidad de solicitudes HTTP recibidas. Luego, puedes agregar una etiqueta request_method
a esta métrica, que toma un valor POST
, GET
o PUT
. Por lo tanto, crearás tres flujos de métricas para cada tipo de solicitud que puedas recibir. En este caso, para encontrar la cantidad 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 muestran algunas de las etiquetas predeterminadas que agrega el recurso personalizado MonitoringTarget
. Puedes usar estas etiquetas predeterminadas para consultar métricas:
_gdch_service
: Es el nombre corto del servicio.cluster
: el nombre del clústercontainer_name
: Es el nombre del contenedor dentro de un Pod.namespace_name
: Es el espacio de nombres de tu proyecto.pod_name
: Es el prefijo del nombre del Pod.
En la siguiente tabla, se describen las etiquetas que Prometheus agrega automáticamente:
Etiqueta de métrica | Descripción |
---|---|
job |
Es el nombre interno del trabajo de extracción que se usa para recopilar la métrica. Los trabajos creados 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 que se determinan de forma interna para evitar conflictos de nombres. |
instance |
Es el $IP:$PORT del servicio recuperado. Si un recurso de carga de trabajo tiene varias réplicas, usa este campo para diferenciarlas. |
En los siguientes ejemplos de código, se muestra el uso de pares clave-valor para las etiquetas con el objetivo de consultar diferentes métricas:
Para ver todos los flujos de métricas de las operaciones procesadas en tu proyecto, haz lo siguiente:
processed_ops_total
Visualiza las operaciones procesadas recopiladas en un clúster de Kubernetes:
processed_ops_total{cluster="CLUSTER_NAME"}
Sigue estos pasos para ver el uso de CPU recopilado en un clúster de Kubernetes:
cpu_usage{cluster="CLUSTER_NAME"}
Usa la herramienta de reetiquetado de métricas para agregar etiquetas que no se expusieron inicialmente en los contenedores recopilados y cambiar el nombre de las métricas producidas. Debes configurar el recurso personalizado MonitoringTarget
para agregar etiquetas a las métricas que recopila.
Especifica esas etiquetas en el campo metricsRelabelings
del recurso personalizado.
Para obtener más información, consulta Métricas de etiquetas.
Consulta métricas desde la API de Cortex
Cortex es el almacenamiento a largo plazo para las métricas de Prometheus en GDC. La plataforma de Observabilidad expone un extremo de API de HTTP de Cortex para consultar y leer métricas, alertas y otros datos de series temporales de Prometheus de tu proyecto.
Consulta las métricas directamente desde la API de 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 de uso de supervisión del sistema. 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 desde la interfaz de línea de comandos (CLI) o un navegador web, y usar expresiones del lenguaje de consultas como parámetros de extremos para obtener el resultado en formato JSON.
En esta sección, se explica cómo llamar extremo de API de Cortex desde la CLI con la especificación de la API de Prometheus para consultar métricas de observabilidad de los datos.
Antes de comenzar
Debes obtener autorización para consultar métricas desde la CLI. Para obtener los permisos que necesitas para acceder extremo de API de Cortex, pídele al administrador de IAM del proyecto que te otorgue el rol de visualizador de Prometheus de Project Cortex (project-cortex-prometheus-viewer
).
Crea las siguientes vinculaciones de roles con los comandos de kubectl
para Cortex Prometheus para cada arquetipo:
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 Platform-Admin (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
Reemplaza lo siguiente:
- PROJECT_NAME: el nombre del proyecto.
- USER_NAME: Es el nombre de la cuenta del usuario que requiere la vinculación del rol.
Después de crear la vinculación del rol, puedes acceder a la API de Prometheus con tu nombre de usuario de acceso.
Extremo de API de HTTP
La siguiente URL es el extremo de API de HTTP para acceder a las métricas en el proyecto platform-obs
:
https://GDC_URL/PROJECT_NAME/cortex/prometheus/
Reemplaza lo siguiente:
- GDC_URL: URL de tu organización en GDC.
- PROJECT_NAME: el nombre del proyecto.
curl
para llamar al extremo de la API, pero lo mismo se aplica a un navegador web.
Llama extremo de API
Sigue estos pasos para acceder extremo de API de Cortex desde la CLI y consultar métricas:
- Asegúrate de cumplir con los requisitos.
- Abre la CLI.
Usa la herramienta
curl
para llamar al extremo de Cortex y extender 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.