En esta página se describe el proceso para crear y gestionar paneles de control en tu instancia de Grafana, también llamada "instancia de monitorización del sistema". instancia de monitorización del sistema. Usa los paneles de control para realizar operaciones de monitorización en tu proyecto, como la monitorización de redes y servidores.
Una vez que la plataforma Observabilidad recoge las métricas producidas por las cargas de trabajo implementadas en tu proyecto de GDC, la configuración guarda las etiquetas de métricas asociadas y agrega archivos de todas las fuentes de datos. Después, puede crear paneles personalizados para consultar y visualizar métricas específicas desde la interfaz de usuario de la instancia de monitorización.
Un panel de control es una disposición visual dinámica de uno o varios paneles personalizables que interactúan con las métricas de Prometheus configuradas en las fuentes de datos. Al hacer consultas, puede usar cada uno de estos paneles para visualizar y mostrar métricas específicas de sus componentes de GDC.
La plataforma Observabilidad expone una API que te permite configurar personalizaciones para la disposición visual de tus métricas. Por ejemplo, establece umbrales de aceptación, muestra las señales adecuadas, etiqueta los gráficos y elige una resolución temporal coherente.
Paneles de control disponibles
Si tu entorno está en funcionamiento, verás inmediatamente algunos paneles de control de métricas en la página principal de la instancia de monitorización. Por ejemplo, puedes observar el estado de los interruptores y el estado de los componentes del sistema.
Usa los paneles de control de interruptores y clústeres para monitorizar los clústeres y las métricas de los nodos. Accede a los paneles de control de registro y monitorización para observar los clústeres de administrador.
Las métricas de administrador de plataforma (AP) más relevantes son las siguientes:
- Kubernetes / Servidor de la API: muestra el estado del servidor de la API por clúster en la organización.
- Kubernetes / Recursos de computación / Multiclúster: muestra el uso de recursos en toda la organización.
- Kubernetes / Recursos de computación / Clúster: muestra la utilización de recursos por clúster.
- Kubernetes / Volúmenes persistentes: muestra el uso de los volúmenes persistentes de Kubernetes en cada clúster.
- Estado del nodo: muestra el uso de recursos en cada nodo de cada clúster.
- Estado del pod: muestra el consumo de recursos de cada pod de cada clúster.
En la siguiente imagen se muestra un ejemplo del panel de control Kubernetes > Recursos de computación > Multiclúster.
Acceder a la instancia de monitorización de un proyecto
Debes obtener autorización para acceder a los paneles de control de monitorización. Para obtener los permisos que necesitas para iniciar sesión y ver métricas en la instancia de monitorización de tu proyecto, pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de lector de Grafana de la organización (organization-grafana-viewer
). El administrador de gestión de identidades y accesos de la organización puede concederte acceso creando un enlace de rol:
kubectl --kubeconfig ADMIN_KUBECONFIG create rolebinding pa-grafana-viewer-binding -n platform-obs --user=USER_NAME --clusterrole=organization-grafana-viewer
Haz los cambios siguientes:
- ADMIN_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador.
- USER_NAME: el nombre de la cuenta del usuario que requiere la vinculación de roles.
Consulta los siguientes recursos para obtener más información sobre las asignaciones de roles:
- Para ver una descripción del rol Lector de Grafana de la organización, consulta Descripciones de roles predefinidos.
- Para obtener instrucciones sobre cómo añadir y quitar roles en la interfaz de usuario, consulta Conceder acceso a recursos.
Crear paneles de control de Grafana
En esta sección se describe el proceso para crear y gestionar paneles de control en tu instancia de Grafana.
Sigue estos pasos para crear un panel de control en GDC:
- Completa los requisitos previos de la sección "Antes de empezar".
- Abre el endpoint de Grafana de tu proyecto.
- Crea un objeto
ConfigMap
para tu panel de control. - Crea un
Dashboard
recurso personalizado (CR).
Antes de empezar
Antes de crear paneles de control, debes obtener acceso a la instancia de monitorización. Para obtener más información, consulta Acceder a los paneles de control.
- Recoge métricas de tu proyecto de GDC antes de crear paneles de control.
- Para iniciar sesión, crear paneles de control y visualizar métricas, pide al administrador de gestión de identidades y accesos de tu proyecto que te conceda el rol Lector de Grafana de proyectos (
project-grafana-viewer
). Define la ruta del archivo kubeconfig como variable de entorno:
export KUBECONFIG=KUBECONFIG_FILE
Sustituye KUBECONFIG_FILE por la ruta del archivo kubeconfig del clúster de administrador en el que quieras crear el panel de control.
Endpoint de monitorización
Abre la siguiente URL para acceder al endpoint 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.
Crea un objeto ConfigMap
para tu panel de control
Sigue estos pasos para crear un objeto ConfigMap
que contenga el modelo JSON del panel de control:
- Ve al endpoint de tu proyecto.
- En el menú de navegación, haga clic en el botón Añadir.
- En el menú desplegable que aparece, haz clic en Panel de control. La instancia crea un panel de control vacío.
En el panel de control vacío, añade todos los paneles que quieras. Puedes personalizar los detalles y editar los paneles para enviar tus consultas o hacer otros cambios.
En la barra de menú, haz clic en el botón
Configuración del panel de control para abrir la página Configuración.En el menú de navegación, haga clic en la opción Modelo JSON.
Copia el modelo JSON del panel de control y pégalo en un archivo de texto sin formato para tenerlo disponible.
Sustituye los campos de nivel superior
id
yuid
por el valornull
del modelo JSON.Crea un objeto
ConfigMap
desde la línea de comandos. En la seccióndata
de tu objetoConfigMap
, pega el modelo JSON que has copiado anteriormente en un archivo.json
:cat <<EOF | kubectl --kubeconfig ${KUBECONFIG} apply -f - apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { <JSON model of the dashboard> } EOF
Haz los cambios siguientes:
- PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.
- DASHBOARD_CONFIGMAP_NAME: el nombre que quieras asignar al objeto
ConfigMap
. - JSON_FILE_NAME: El nombre que quieres dar al archivo en el que pegarás el modelo JSON del panel de control.
Para ver un ejemplo del aspecto que debe tener este objeto, consulta el ejemplo de
ConfigMap
de un panel de control.Despliega el objeto
ConfigMap
de tu panel de control en el clúster de administrador.
Ejemplo de ConfigMap
para un panel de control
En el siguiente archivo YAML se muestra un ejemplo del objeto ConfigMap
de un panel de control de métricas 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": "-- Grafana --",
"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 (CR) y habilitar el panel de control en el proyecto que elijas:
Crea un
Dashboard
CR desde la línea de comandos y configura el archivo con el nombre que le has asignado al objetoConfigMap
de tu panel de control:cat <<EOF | kubectl --kubeconfig ${KUBECONFIG} apply -f - apiVersion: observability.gdc.goog/v1alpha1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: CUSTOM_RESOURCE_NAME spec: configMapRef: name: DASHBOARD_CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: Default EOF
Haz los cambios siguientes:
- PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.
- CUSTOM_RESOURCE_NAME: el nombre que quieres dar a tu recurso personalizado
Dashboard
. - DASHBOARD_CONFIGMAP_NAME: el nombre que has asignado al objeto
ConfigMap
de tu panel de control. - JSON_FILE_NAME: el nombre que has asignado al archivo que contiene el modelo JSON del panel de control en el objeto
ConfigMap
.
Implementa el CR
Dashboard
en el espacio de nombres del proyecto. Esta acción configura el servicio Observabilidad para importar el panel de control predefinido a la instancia de monitorización de tu proyecto.
Los paneles de control están aislados de otros proyectos, al igual que las métricas y los registros. Por lo tanto, si quieres usar el mismo panel de control en varios proyectos, implementa un Dashboard
CR en cada uno. Además, los datos de registro y monitorización a los que accede el panel de control deben estar disponibles en todos esos proyectos.
El proceso que gestiona los paneles detecta los cambios en el Dashboard
CR y en el objeto ConfigMap
. Si modificas uno u otro, el programa reflejará el cambio en la instancia de monitorización. Para actualizar o eliminar un panel de control, debes aplicar los cambios en el CR y volver a implementarlo. No puedes guardar los cambios que hagas directamente en la interfaz de monitorización.
Para crear un panel de control en una carpeta o cambiar las carpetas, modifique el valor de foldername
en la sección spec
del Dashboard
CR. De lo contrario, déjalo como Default
. El proceso crea automáticamente las carpetas si no existen.