Crea paneles de visualización

En esta página, se describe el proceso de creación y administración de paneles dentro de tu instancia de Grafana, que se usa para visualizar registros y métricas de tu proyecto de dispositivo aislado de Google Distributed Cloud (GDC).

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 a través de varios tipos de gráficos.
  • Define umbrales de alerta para activar notificaciones basadas en valores de métricas.
  • Personaliza las propiedades de visualización, como etiquetas, unidades y 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.

Paneles disponibles

Si tu entorno está en funcionamiento, verás de inmediato algunos paneles de métricas en la página principal de la instancia de supervisión. Por ejemplo, puedes observar el estado del interruptor y el estado de los componentes del sistema.

Usa los paneles de conmutación y de clústeres para supervisar las métricas de los clústeres y los nodos.

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

Las métricas más relevantes del administrador de la plataforma (PA) son las siguientes:

  • Kubernetes / Servidor de API: Muestra el estado del servidor de API por clúster en la organización.
  • Kubernetes / Recursos de procesamiento / Multi-Cluster: Muestra el uso de recursos en toda la organización.
  • Kubernetes / Recursos de procesamiento / Clúster: Muestra la utilización de recursos por clúster.
  • Kubernetes / Volúmenes persistentes: Muestra la utilización 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 en cada clúster.

En la siguiente imagen, se muestra un ejemplo del panel Kubernetes / Recursos de procesamiento / Multi-Cluster.

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

Antes de comenzar

Para obtener los permisos que necesitas para acceder a los paneles de Grafana y verlos, pídele a tu administrador de IAM de la organización o del proyecto que te otorgue uno de los roles predefinidos de Grafana Viewer.

Además, para obtener los permisos que necesitas para administrar los objetos de la API requeridos para crear paneles, pídele al administrador de IAM de la organización o al administrador de IAM del proyecto que te otorgue los roles asociados ConfigMap y Dashboard.

Según el nivel de acceso y los permisos que necesites, es posible que obtengas roles de creador, editor o visualizador para estos recursos en una organización o un proyecto. Para obtener más información, consulta Prepara los permisos de IAM.

Después de obtener los roles correspondientes, sigue estos pasos antes de crear los paneles:

  1. Recopila métricas de tus cargas de trabajo.
  2. Establece la ruta de acceso del archivo kubeconfig como una variable de entorno:

    export KUBECONFIG=KUBECONFIG_PATH
    

    Reemplaza KUBECONFIG_PATH por 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 la configuración:

  1. Abre tu extremo de Grafana para mostrar la interfaz de usuario.
  2. En el menú de navegación, haz clic en Agregar.
  3. En el menú desplegable, haz clic en Panel. Grafana crea un panel vacío.
  4. En el panel vacío, agrega todos los paneles que desees.

  5. 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, donde:

    • DATA_SOURCE puede tener uno de los siguientes valores:

      • Prometheus (prometheus o metrics) para mostrar métricas
      • Registros de auditoría (auditloki) para mostrar los registros de auditoría
      • Registros operativos (oploki) para mostrar los registros operativos
    • ZONE_ID es el ID de la zona desde la que deseas mostrar los datos en el panel.

    Además, para crear un panel de visualización de los recursos entre 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 una consulta de registro en varias zonas de tu universo.

  6. Personaliza tus detalles y edita tus paneles para proporcionar tus búsquedas o realizar otras actualizaciones.

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

  8. En el menú de navegación, selecciona Modelo JSON.

  9. 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:

  1. Abre una ventana de terminal.
  2. Crea un objeto ConfigMap. En la sección data de tu objeto ConfigMap, 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
        }
    

    Reemplaza lo siguiente:

    • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
    • CONFIGMAP_NAME: Es el nombre que deseas darle a tu objeto ConfigMap.
    • JSON_FILE_NAME: Es el nombre que deseas asignarle al archivo del 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.

  3. Aplica el objeto ConfigMap al 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 Dashboard y, luego, importar tu panel personalizado a la instancia de Grafana de tu proyecto:

  1. Abre una ventana de terminal.
  2. Crea un recurso personalizado Dashboard y configura el archivo con el nombre que le asignaste al objeto ConfigMap:

    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
    

    Reemplaza lo siguiente:

    • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
    • DASHBOARD_NAME: Es el nombre que quieres asignarle a tu recurso personalizado de Dashboard.
    • CONFIGMAP_NAME: Es el nombre que le asignaste al objeto ConfigMap.
    • JSON_FILE_NAME: Es el nombre que le asignaste al archivo que contiene el modelo JSON del panel en el objeto ConfigMap.
  3. Aplica el recurso personalizado Dashboard al 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 en el objeto ConfigMap asociado. Para actualizar o borrar un panel, modifica estos recursos. Cualquier modificación activa una actualización en Grafana. No puedes guardar las actualizaciones que realices directamente en la interfaz de usuario de Grafana.