En esta página se describe el proceso de creación y gestión de paneles de control en tu instancia de Grafana, que se utilizan para visualizar registros y métricas de tu proyecto aislado de Google Distributed Cloud (GDC).
Un panel de control proporciona una representación visual dinámica del rendimiento de tu sistema. Consta de uno o varios paneles personalizables, cada uno de los cuales está configurado para consultar y mostrar métricas específicas de los componentes de GDC. Estos paneles te permiten hacer lo siguiente:
- Visualizar métricas mediante varios tipos de gráficos.
- Definir umbrales de alerta para activar notificaciones en función de los valores de las métricas.
- Personalizar las propiedades de visualización, como etiquetas, unidades y periodos.
- Definir resoluciones de tiempo coherentes para realizar comparaciones precisas.
Si usas los paneles de control de Grafana de forma eficaz, puedes obtener información valiosa sobre el rendimiento y el estado de tu entorno de GDC.
Antes de empezar
Para obtener los permisos que necesitas para trabajar con paneles de control en una organización, pide al administrador de IAM de tu organización que te asigne los siguientes roles:
- Crear un panel de control personalizado: creador de PA de panel de control (
dashboard-pa-creator) - Editar y eliminar un panel de control personalizado: editor de PA de panel de control (
dashboard-pa-editor) - Ver un panel de control personalizado: visor de PA de panel de control (
dashboard-pa-viewer)
Para obtener los permisos que necesitas para trabajar con paneles de control de un proyecto, pide al administrador de IAM de tu proyecto que te asigne los siguientes roles en el espacio de nombres del proyecto:
- Crear, editar y eliminar un panel de control personalizado: editor de panel de control (
dashboard-editor) - Ver un panel de control personalizado: visor de panel de control (
dashboard-viewer) - Crear y editar un ConfigMap: editor de ConfigMap (
observabilitypipeline-configmap-editor)
Después de obtener los roles correspondientes, sigue estos pasos antes de crear paneles de control:
- Recoge métricas de tus cargas de trabajo.
Define la ruta del archivo kubeconfig como una variable de entorno:
export KUBECONFIG=KUBECONFIG_PATHSustituye
KUBECONFIG_PATHpor la ruta del archivo kubeconfig del servidor de la API de gestión en el que quieras crear el panel de control.
Identificar el punto final de Grafana
La siguiente URL es el punto final 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 punto final de Grafana del proyecto platform-obs de la org-1
organización es https://org-1/platform-obs/grafana.
Crear un panel de control personalizado
Sigue estos pasos para crear un panel de control de Grafana y personalizar su configuración:
- Abre tu punto final de Grafana para mostrar la interfaz de usuario.
- En el menú de navegación, haz clic en Añadir.
- En el menú desplegable, haz clic en Panel de control. Grafana crea un panel de control vacío.
En el panel de control vacío, añade todos los paneles que quieras.
En el menú Fuente de datos de cada panel, selecciona la fuente de datos que quieras usar en el panel, incluidas las métricas (
prometheus), los registros de auditoría (auditloki) y los registros operativos (oploki).En los universos multizona, Grafana tiene fuentes de datos etiquetadas por zona que puedes usar para crear visualizaciones de paneles de control con métricas y registros de varias zonas. Estas fuentes de datos tienen el formato
DATA_SOURCE-ZONE_ID, donde:DATA_SOURCEpuede tomar uno de los siguientes valores:- Prometheus (
prometheusometrics) para mostrar métricas. - Registros de auditoría (
auditloki) para mostrar registros de auditoría. - Registros operativos (
oploki) para mostrar registros operativos.
- Prometheus (
ZONE_IDes el ID de la zona de la que tú quieres mostrar datos en el panel de control.
Además, para crear un panel de control de visualización de recursos entre zonas, el nombre de la fuente de datos es
--Mixed--. Esta fuente de datos te permite añadir varias consultas por zona y tener visualizaciones de datos entre zonas en un único panel de control. Puedes usar esta función para comparar el comportamiento de, por ejemplo, una sola métrica o consulta de registro en varias zonas de tu universo.Personaliza los detalles y edita los paneles para proporcionar tus consultas o hacer otros cambios.
En la barra de menú, haz clic en Configuración del panel de control para abrir la página Configuración.
En el menú de navegación, selecciona Modelo JSON.
Copia el modelo JSON del panel de control y pégalo en un archivo de texto sin formato para usarlo en el futuro.
Crear un objeto ConfigMap
Sigue estos pasos para crear un objeto ConfigMap que contenga el modelo JSON del panel de control:
- Abre una ventana de la terminal.
Crea un objeto
ConfigMap. En la seccióndatadel objetoConfigMap, pega el modelo JSON que copiaste anteriormente:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }Haz los cambios siguientes:
PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.CONFIGMAP_NAME: el nombre que quieras asignar a tu objetoConfigMap.JSON_FILE_NAME: el nombre que quieras asignar al archivo del modelo JSON del panel de control.JSON_MODEL: el modelo JSON de tu panel de control personalizado.
Para ver un ejemplo del aspecto que debe tener este objeto, consulta un
ConfigMapejemplo.Aplica el objeto
ConfigMapal servidor de la API de gestión:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Ejemplo de ConfigMap
El siguiente archivo YAML muestra un ejemplo del objeto ConfigMap de un panel de control en el espacio de nombres platform-obs:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: platform-obs
name: my-project-dashboard-configmap
data:
my-project-dashboard.json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "--",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [],
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Sample dashboard",
"uid": null,
"version": 0
}
Crear un recurso personalizado Dashboard
Sigue estos pasos para crear un recurso personalizado Dashboard e importar tu panel de control personalizado a la instancia de Grafana de tu proyecto:
- Abre una ventana de la terminal.
Crea un recurso personalizado
Dashboardy configura el archivo con el nombre que asignaste al objetoConfigMap:apiVersion: observability.gdc.goog/v1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_NAME spec: configMapRef: name: CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: DefaultHaz los cambios siguientes:
PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.DASHBOARD_NAME: el nombre que quieras asignar a tu recurso personalizadoDashboard.CONFIGMAP_NAME: el nombre que asignaste al objetoConfigMap.JSON_FILE_NAME: el nombre que asignaste al archivo que contiene el modelo JSON del panel de control en el objetoConfigMap.
Aplica el recurso personalizado
Dashboardal servidor de la API de gestión:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
El sistema monitoriza los cambios tanto en el recurso personalizado Dashboard como en el objeto ConfigMap asociado. Para actualizar o eliminar un panel de control, modifica estos recursos. Cualquier modificación activa una actualización en Grafana. No puedes guardar las actualizaciones realizadas directamente en la interfaz de usuario de Grafana.