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.
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.
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:
- Para obtener una descripción del rol de visualizador de Grafana de la organización, consulta Descripciones de roles predefinidos.
- Para obtener instrucciones sobre cómo agregar y quitar roles desde la IU, consulta Cómo otorgar acceso a los recursos.
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:
- Completa los requisitos previos de la sección Antes de comenzar.
- Abre el extremo de Grafana de tu proyecto.
- Crea un objeto
ConfigMap
para tu panel. - 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.
- Recopila métricas de tu proyecto de GDC antes de crear paneles.
- 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
). 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:
- Ve al extremo de tu proyecto.
- En el menú de navegación, haz clic en el botón Agregar.
- En el menú desplegable que se muestra, haz clic en Panel. La instancia crea un panel vacío.
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.
En la barra de menú, haz clic en el botón
Configuración del panel para abrir la página Configuración.En el menú de navegación, haz clic en la opción JSON Model.
Copia el modelo JSON del panel y pégalo en un archivo de texto sin formato para que esté disponible.
Reemplaza los campos
id
yuid
de nivel superior por el valornull
en el modelo JSON.Crea un objeto
ConfigMap
desde la línea de comandos. En la seccióndata
de tu objetoConfigMap
, 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.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:
Crea un CR
Dashboard
desde la línea de comandos y configura el archivo con el nombre que le asignaste al objetoConfigMap
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
.
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.