Crea paneles visuales

En esta página, se describe el proceso para crear y administrar paneles en tu instancia deinstancia de supervisión del sistema Usa paneles para realizar operaciones de supervisión en tu proyecto, como la supervisión de redes y servidores.

Después de que la plataforma de Observabilidad recopila las métricas que producen las cargas de trabajo implementadas en tu proyecto de GDC, la configuración guarda las etiquetas de métricas asociadas y los archivos de agregación de todas las fuentes de datos. Luego, puedes crear paneles personalizados para consultar y visualizar métricas específicas desde la interfaz de usuario (IU) de la instancia de supervisión.

Un panel es una disposición visual dinámica de uno o más paneles personalizables que interactúan con las métricas de Prometheus configuradas en las fuentes de datos. Con las consultas, puedes usar cada uno de estos paneles para visualizar y exponer métricas específicas de tus componentes de GDC.

La plataforma de 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 indicadores adecuados, etiqueta los gráficos y elige una resolución de tiempo coherente.

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. Accede a los paneles de registro y supervisión para observar los clústeres de administrador.

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

Accede a la instancia de supervisión de tu proyecto

Debes obtener autorización para acceder a los paneles de supervisión. Para obtener los permisos que necesitas para acceder y ver las métricas en la instancia de supervisión de tu proyecto, pídele al administrador de IAM de la organización que te otorgue el rol de Visualizador de Grafana de la organización (organization-grafana-viewer). El administrador de IAM de la organización puede otorgarte acceso creando una vinculación de rol:

kubectl --kubeconfig ADMIN_KUBECONFIG create rolebinding pa-grafana-viewer-binding -n platform-obs --user=USER_NAME --clusterrole=organization-grafana-viewer

Reemplaza lo siguiente:

  • ADMIN_KUBECONFIG: Es la ruta del archivo kubeconfig del clúster de administrador.
  • USER_NAME: Es el nombre de la cuenta del usuario que requiere la vinculación de rol.

Consulta los siguientes recursos para obtener más información sobre las asignaciones de roles:

Crea paneles de Grafana

En esta sección, se describe el proceso para crear y administrar paneles en tu instancia de Grafana.

Sigue estos pasos para crear un panel en GDC:

  1. Completa los requisitos previos de la sección Antes de comenzar.
  2. Abre el extremo de Grafana de tu proyecto.
  3. Crea un objeto ConfigMap para tu panel.
  4. Crea un recurso personalizado (CR) Dashboard.

Antes de comenzar

Antes de crear paneles, debes obtener acceso a la instancia de supervisión. Para obtener más información, consulta Cómo obtener acceso a los paneles.

  1. Recopila métricas de tu proyecto de GDC antes de crear paneles.
  2. Para acceder, crear paneles y visualizar métricas, pídele al administrador de IAM del proyecto que te otorgue el rol de Visualizador de Grafana del proyecto (project-grafana-viewer).
  3. Establece la ruta de acceso del archivo kubeconfig como una variable de entorno:

    export KUBECONFIG=KUBECONFIG_FILE
    

    Reemplaza KUBECONFIG_FILE por la ruta de acceso del archivo kubeconfig en el clúster de administrador en el que deseas crear el panel.

Extremo de supervisión

Abre la siguiente URL para acceder al extremo de tu proyecto:

https://GDC_URL/PROJECT_NAMESPACE/grafana

Reemplaza lo siguiente:

  • GDC_URL: URL de tu organización en GDC.
  • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.

Crea un objeto ConfigMap para tu panel

Sigue estos pasos para crear un objeto ConfigMap que contenga el modelo JSON del panel:

  1. Ve al extremo de tu proyecto.
  2. En el menú de navegación, haz clic en el botón Agregar.
  3. En el menú desplegable que se muestra, haz clic en Panel. La instancia crea un panel vacío.
  4. En el panel vacío, agrega todos los paneles que desees. Puedes personalizar tus detalles y editar tus paneles para proporcionar tus consultas o realizar otras actualizaciones.

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

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

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

  8. Reemplaza los campos id y uid de nivel superior por el valor null en el 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 copiaste anteriormente dentro de 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
    

    Reemplaza lo siguiente:

    • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
    • DASHBOARD_CONFIGMAP_NAME: Es el nombre que deseas darle a tu objeto ConfigMap.
    • JSON_FILE_NAME: Es el nombre que deseas asignarle al archivo en el que pegarás el modelo JSON del panel.

    Para ver un ejemplo de cómo debe verse este objeto, consulta el ejemplo de ConfigMap para un panel.

  10. Implementa el objeto ConfigMap de tu panel en el clúster de administrador.

Ejemplo de ConfigMap para un panel

En el siguiente archivo YAML, se muestra un ejemplo del objeto ConfigMap de un panel para las 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
      }

Crea un recurso personalizado Dashboard

Sigue estos pasos para crear un recurso personalizado (CR) Dashboard y habilitar el panel en tu proyecto:

  1. Crea un CR Dashboard desde la línea de comandos y configura el archivo con el nombre que le asignaste al objeto ConfigMap de tu panel:

    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
    

    Reemplaza lo siguiente:

    • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
    • CUSTOM_RESOURCE_NAME: Es el nombre que quieres darle a tu recurso personalizado de Dashboard.
    • DASHBOARD_CONFIGMAP_NAME: Es el nombre que le asignaste al objeto ConfigMap de tu panel.
    • JSON_FILE_NAME: Es el nombre que le asignaste al archivo que contiene el modelo JSON del panel en el objeto ConfigMap.
  2. Implementa el CR Dashboard en el espacio de nombres del proyecto. Esta acción configura el servicio de Observabilidad para importar el panel predefinido a la instancia de supervisión de tu proyecto.

Los paneles están aislados de otros proyectos, al igual que las métricas y los registros. Por lo tanto, si quieres usar el mismo panel en varios proyectos, implementa un CR de Dashboard en cada uno. Además, los datos de registro y supervisión a los que accede el panel deben estar disponibles en todos esos proyectos.

El proceso que controla los paneles detecta cambios en el CR de Dashboard y en el objeto de ConfigMap. Si modificas uno u otro, el programa reflejará el cambio en la instancia de supervisión. Para actualizar o borrar un panel, debes aplicar los cambios en el CR y volver a implementarlo. No puedes guardar las actualizaciones que se realizan directamente en la IU de supervisión.

Para crear un panel en una carpeta o cambiar las carpetas, modifica el valor de foldername en la sección spec del CR de Dashboard. De lo contrario, déjalo como Default. El proceso crea automáticamente las carpetas si no existen.