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 usa para visualizar los registros y las métricas de tu proyecto aislado de Google Distributed Cloud (GDC).
Un panel de control ofrece una representación visual dinámica del rendimiento de tu sistema. Consta de uno o varios paneles personalizables, cada uno de ellos configurado para consultar y mostrar métricas específicas de sus componentes de GDC. Estos paneles te permiten hacer lo siguiente:
- Visualiza las métricas con varios tipos de gráficos.
- Define umbrales de alerta para activar notificaciones en función de los valores de las métricas.
- Personalizar las propiedades de visualización, como las etiquetas, las unidades y los intervalos de tiempo.
- Define resoluciones de tiempo coherentes para que las comparaciones sean precisas.
Si usas los paneles 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 acceder a los paneles de control de Grafana y verlos, pide a tu administrador de gestión de identidades y accesos de la organización o del proyecto que te conceda uno de los roles de lector de Grafana predefinidos.
Además, para obtener los permisos que necesitas para gestionar los objetos de la API necesarios para crear paneles de control, pide al administrador de gestión de identidades y accesos de tu organización o proyecto que te conceda los roles ConfigMap
y Dashboard
asociados.
En función del nivel de acceso y de los permisos que necesites, puedes obtener los roles de creador, editor o lector de estos recursos en una organización o en un proyecto. Para obtener más información, consulta Preparar permisos de gestión de identidades y accesos.
Después de obtener los roles correspondientes, sigue estos pasos antes de crear los paneles de control:
- Recoge métricas de tus cargas de trabajo.
Define la ruta del archivo kubeconfig como variable de entorno:
export KUBECONFIG=KUBECONFIG_PATH
Sustituye
KUBECONFIG_PATH
por la ruta al archivo kubeconfig del servidor de la API Management en el que quieras crear el panel de control.
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ón org-1
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 sus ajustes:
- Abre tu endpoint de Grafana para mostrar la interfaz de usuario.
- En el menú de navegación, haga 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_SOURCE
puede tener uno de los siguientes valores:- Prometheus (
prometheus
ometrics
) para mostrar las métricas. - Registros de auditoría (
auditloki
) para mostrar los registros de auditoría. - Registros operativos (
oploki
) para mostrar los registros operativos.
- Prometheus (
ZONE_ID
es el ID de la zona de la que quieres mostrar datos en el panel de control.
Además, para crear un panel 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 solo panel de control. 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 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 más adelante.
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 terminal.
Crea un objeto
ConfigMap
. En la seccióndata
de tuConfigMap
object, pega el modelo JSON que has copiado 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 darle al objetoConfigMap
.JSON_FILE_NAME
: el nombre que quieras dar al archivo del modelo JSON del panel de control.JSON_MODEL
: el modelo JSON de tu panel de control personalizado.
Para ver un ejemplo de cómo debe ser este objeto, consulta un ejemplo de
ConfigMap
.Aplica el objeto
ConfigMap
al servidor de la API Management:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Ejemplo de ConfigMap
En el siguiente archivo YAML se 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 Dashboard
recurso personalizado e importar tu
panel de control personalizado a la instancia de Grafana de tu proyecto:
- Abre una ventana de terminal.
Crea un recurso personalizado
Dashboard
y configura el archivo con el nombre que le hayas dado 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: Default
Haz los cambios siguientes:
PROJECT_NAMESPACE
: el espacio de nombres de tu proyecto.DASHBOARD_NAME
: el nombre que quieras dar al recurso personalizadoDashboard
.CONFIGMAP_NAME
: el nombre que le has dado al objetoConfigMap
.JSON_FILE_NAME
: el nombre que le has dado al archivo que contiene el modelo JSON del panel de control en el objetoConfigMap
.
Aplica el recurso personalizado
Dashboard
al servidor de la API Management:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
El sistema monitoriza los cambios que se producen 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 de Grafana. No puedes guardar ninguna actualización que se realice directamente en la interfaz de usuario de Grafana.