Los paneles de Grafana te permiten visualizar registros y métricas en Google Distributed Cloud (GDC) aislado. Estos paneles proporcionan vistas dinámicas del estado y el rendimiento del sistema a través de paneles personalizables.
Un panel proporciona una representación visual dinámica del rendimiento de tu sistema. Consta de uno o más paneles personalizables, cada uno configurado para consultar y mostrar métricas específicas de tus componentes de GDC. Estos paneles te permiten hacer lo siguiente:
- Visualiza métricas con varios tipos de gráficos.
- Definir umbrales de alerta para activar notificaciones según los valores de las métricas
- Personaliza las propiedades de visualización, como las etiquetas, las unidades y los períodos.
- Establece resoluciones de tiempo coherentes para realizar comparaciones precisas.
Si usas los paneles de Grafana de manera eficaz, puedes obtener estadísticas valiosas sobre el rendimiento y el estado de tu entorno de GDC.
Antes de comenzar
Para administrar los recursos personalizados Dashboard y ConfigMap, debes tener los
permisos necesarios.
Solicita roles de IAM de la organización
Comunícate con el administrador de la organización de IAM para solicitar los siguientes roles para trabajar con paneles en una organización:
- Creador de PA de paneles (
dashboard-pa-creator): Crea paneles personalizados. - Editor de PA del panel (
dashboard-pa-editor): Edita o borra paneles personalizados. - Visualizador de PA de paneles (
dashboard-pa-viewer): Permite ver paneles personalizados.
Solicita roles de IAM para el proyecto
Comunícate con el administrador de IAM de tu proyecto para solicitar los siguientes roles para trabajar con paneles y parámetros de configuración en un proyecto:
- Editor de paneles (
dashboard-editor): Crea, edita y borra paneles personalizados dentro del espacio de nombres del proyecto. - Visualizador de paneles (
dashboard-viewer): Permite ver paneles personalizados dentro del espacio de nombres del proyecto. - Editor de ConfigMap (
observabilitypipeline-configmap-editor): Crea y edita unConfigMapdentro del espacio de nombres del proyecto.
Prepara el entorno
Después de obtener los roles correspondientes, sigue estos pasos antes de crear paneles:
- Recopila métricas de tus cargas de trabajo.
Establece la ruta de acceso del archivo kubeconfig como una variable de entorno:
export KUBECONFIG=KUBECONFIG_PATHReemplaza
KUBECONFIG_PATHpor la ruta de acceso al archivo kubeconfig del servidor de la API de Management en el que deseas crear el panel.
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ón org-1
es https://org-1/platform-obs/grafana.
Crea un panel personalizado
Sigue estos pasos para crear un panel de Grafana y personalizar tu configuración:
- Abre tu extremo de Grafana para mostrar la interfaz de usuario.
- En el menú de navegación, haz clic en Agregar.
- En el menú desplegable, haz clic en Panel. Grafana crea un panel vacío.
En el panel vacío, agrega todos los paneles que quieras.
En el menú Fuente de datos de cada panel, selecciona la fuente de datos que deseas para el panel, incluidas las métricas (
prometheus), los registros de auditoría (auditloki) y los registros operativos (oploki).En el caso de los universos multizona, Grafana tiene fuentes de datos etiquetadas por zona que puedes usar para crear visualizaciones de paneles con métricas y registros de varias zonas. Estas fuentes de datos se nombran con el formato
DATA_SOURCE-ZONE_ID, en el que se aplica lo siguiente:DATA_SOURCEpuede tener uno de los siguientes valores:- Prometheus (
prometheusometrics) para mostrar métricas. - Registros de auditoría (
auditloki) para mostrar los registros de auditoría. - Registros operativos (
oploki) para mostrar los registros operativos.
- Prometheus (
ZONE_IDes el ID de la zona de la que deseas mostrar datos en el panel.
Además, para crear un panel de visualización de los recursos de varias zonas, el nombre de la fuente de datos es
--Mixed--. Esta fuente de datos te permite agregar varias consultas por zona y tener visualizaciones de datos entre zonas en un solo panel. Puedes usar esta función para comparar el comportamiento entre, por ejemplo, una sola métrica o consulta de registro en varias zonas de tu universo.Personaliza tus detalles y edita tus paneles para proporcionar tus consultas o realizar otras actualizaciones.
En la barra de menú, haz clic en Configuración del panel para abrir la página Configuración.
En el menú de navegación, selecciona Modelo JSON.
Copia el modelo JSON del panel y pégalo en un archivo de texto sin formato para usarlo en el futuro.
Crea un objeto ConfigMap
Sigue estos pasos para crear un objeto ConfigMap que contenga el modelo JSON del
panel:
- Abre una ventana de terminal.
Crea un objeto
ConfigMap. En la seccióndatade tu objetoConfigMap, pega el modelo JSON que copiaste antes:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }Reemplaza lo siguiente:
PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.CONFIGMAP_NAME: Es el nombre que deseas darle a tu objetoConfigMap.JSON_FILE_NAME: Es el nombre que quieres darle al archivo para el modelo JSON del panel.JSON_MODEL: Es el modelo JSON de tu panel personalizado.
Para ver un ejemplo de cómo debe verse este objeto, consulta un ejemplo de
ConfigMap.Aplica el objeto
ConfigMapal servidor de la API de Management:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Un ejemplo de ConfigMap
En el siguiente archivo YAML, se muestra un ejemplo del objeto ConfigMap de un
panel 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
}
Crea un recurso personalizado Dashboard
Sigue estos pasos para crear un recurso personalizado de Dashboard y, luego, importar tu
panel personalizado a la instancia de Grafana de tu proyecto:
- Abre una ventana de terminal.
Crea un recurso personalizado
Dashboardy configura el archivo con el nombre que le diste 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: DefaultReemplaza lo siguiente:
PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.DASHBOARD_NAME: Es el nombre que deseas asignar a tu recurso personalizadoDashboard.CONFIGMAP_NAME: Es el nombre que le diste al objetoConfigMap.JSON_FILE_NAME: Es el nombre que le diste al archivo que contiene el modelo JSON del panel en el objetoConfigMap.
Aplica el recurso personalizado
Dashboardal servidor de la API de Management:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
El sistema supervisa los cambios en el recurso personalizado Dashboard y el objeto ConfigMap asociado. Para actualizar o borrar un panel, modifica estos
recursos. Cualquier modificación activa una actualización de Grafana. No puedes guardar ninguna
actualización que se realice directamente en la interfaz de usuario de Grafana.