Crear paneles de control visuales

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.

Página principal con una lista de los paneles disponibles y los que se han visto recientemente

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.

Gráfico de líneas que muestra el uso de la CPU y lista de clústeres que muestra las cuotas de CPU

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:

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:

  1. Completa los requisitos previos de la sección "Antes de empezar".
  2. Abre el endpoint de Grafana de tu proyecto.
  3. Crea un objeto ConfigMap para tu panel de control.
  4. 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.

  1. Recoge métricas de tu proyecto de GDC antes de crear paneles de control.
  2. 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).
  3. 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:

  1. Ve al endpoint de tu proyecto.
  2. En el menú de navegación, haga clic en el botón Añadir.
  3. En el menú desplegable que aparece, haz clic en Panel de control. La instancia crea un panel de control vacío.
  4. 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.

  5. En la barra de menú, haz clic en el botón Configuración del panel de control para abrir la página Configuración.

  6. En el menú de navegación, haga clic en la opción Modelo JSON.

  7. Copia el modelo JSON del panel de control y pégalo en un archivo de texto sin formato para tenerlo disponible.

  8. Sustituye los campos de nivel superior id y uid por el valor null del modelo JSON.

  9. Crea un objeto ConfigMap desde la línea de comandos. En la sección data de tu objeto ConfigMap, 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.

  10. 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 Dashboardrecurso personalizado (CR) y habilitar el panel de control en el proyecto que elijas:

  1. Crea un Dashboard CR desde la línea de comandos y configura el archivo con el nombre que le has asignado al objeto ConfigMap 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.
  2. 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.