Importa paneles de Grafana a Cloud Monitoring

En este documento, se describe cómo importar archivos de panel en el formato JSON de Grafana a Cloud Monitoring. Puedes importar paneles de Grafana de las siguientes maneras:

El proceso de importación convierte los archivos del panel en el formato JSON que usa Grafana en el formato JSON que usa Cloud Monitoring. Un panel convertido puede diferir del panel original de Grafana. Por ejemplo, si un panel de Grafana usa funciones que no están disponibles en los paneles de Cloud Monitoring, esos aspectos del panel de Grafana no se convierten. Estas diferencias se enumeran en los resultados de la importación.

Solo puedes importar paneles que usen expresiones de PromQL y Prometheus fuentes de datos. Los paneles que usan otras formas de consulta o fuentes de datos podrían no se importaron correctamente.

Para obtener información sobre la importación de alertas de Prometheus a Cloud Monitoring, consulta Migra las reglas de alerta y los receptores de Prometheus.

Para obtener información general sobre cómo administrar tus paneles importados, consulta Crea y administra paneles personalizados.

Antes de comenzar

Ya sea que uses la consola de Google Cloud o la herramienta de importación para importar tus paneles, debes tener suficiente autorización y paneles para importar. Cuando usas la herramienta del importador, existen requisitos previos adicionales.

Autorización

Para obtener los permisos que necesitas para crear y modificar paneles personalizados, pídele a tu administrador que te otorgue el rol de IAM de editor de Monitoring (roles/monitoring.editor) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Para obtener más información sobre los roles, consulta Controla el acceso con Identity and Access Management.

Recopila los paneles de Grafana que deseas importar

Para importar paneles de Grafana, debes almacenarlos de forma local como archivos en formato JSON. Te recomendamos que crees un directorio específicamente para estos archivos de panel.

Importa paneles con la consola de Google Cloud

Puedes importar paneles de Grafana a Cloud Monitoring desde los siguientes lugares de la consola de Google Cloud:

  • La pestaña Lista de paneles en la página Paneles de Monitoring
  • La sección del panel de la lista de tareas para la integración en la página Descripción general de Monitoring.

Importa paneles de Grafana

Para importar uno o más paneles de Grafana, sigue estos pasos:

  1. Ve a la página Paneles o Resumen en Monitoring:

    • En la consola de Google Cloud, ve a la página  Paneles.

      Dirígete a Paneles de control

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    • En la consola de Google Cloud, ve a la página Descripción general de Monitoring:

      Ve a Descripción general.

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Haz clic en  Importar paneles de Grafana.

  3. Haz clic en Explorar para ir al directorio en el que guardaste tu paneles de Grafana en formato JSON y selecciona los paneles que deseas importar.

    Cada archivo JSON se habilita a etapa después de su selección. los archivos almacenados en etapa intermedia panel indica si hay algún problema en la conversión.

    • Haz clic en  Ver JSON convertido para consultar los resultados de la conversión.
    • Haz clic en  Quitar archivo para quitar un panel de la operación de importación.
  4. Haz clic en Importar. En el panel Resultados de la importación, se indica si cada panel se importó correctamente.

  5. Para ver un panel importado correctamente, haz clic en  Ver.

Visualiza tus paneles importados

Para ver los paneles importados, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página  Paneles.

    Dirígete a Paneles de control

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Busca el panel que deseas ver en la lista. Para filtrar la lista de paneles, puedes hacer lo siguiente:

    • Selecciona la categoría Personalizado para ver solo los paneles definidos por el usuario.
    • Selecciona la etiqueta cloud-monitoring-dashboard-importer para ver solo Grafana y paneles importados con la consola de Google Cloud.
    • Usa la barra de filtros para buscar por nombre.

Importa paneles con la herramienta de importación

Puedes usar la herramienta de importación para convertir los paneles de Grafana y subirlos a Cloud Monitoring como una sola operación, o puedes realizar la la conversión y los pasos de carga por separado. Puedes elegir este enfoque si deseas editar los paneles convertidos antes de subirlos.

Requisitos previos adicionales

Antes de poder instalar y ejecutar el importador del panel, debes hacer lo siguiente:

  1. Usa un entorno que admita secuencias de comandos de shell de Bash.
  2. Tener o instalar Git.
  3. Tener o instalar Node.js, versión 20.4.1 o posterior.
  4. Tener o instalar Google Cloud CLI. Si ya tienes instalada la CLI de gcloud, asegúrate de tener la versión más reciente mediante la ejecución del comando gcloud components update.

Obtén el importador del panel

El importador de paneles se almacena en el repositorio de GitHub monitoring-dashboard-samples. Para obtener el importador, haz lo siguiente:

  1. Clona el repositorio:

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
    
  2. Cambia al directorio del importador de panel:

    cd monitoring-dashboard-samples/scripts/dashboard-importer
    

El importador de paneles incluye las siguientes secuencias de comandos:

  • import.sh, que convierte los paneles y, de forma opcional, sube los paneles convertidos a Cloud Monitoring.

  • upload.sh, que sube los paneles convertidos, o cualquier panel de Monitoring, a Cloud Monitoring. La secuencia de comandos import.sh llama a esta secuencia de comandos para realizar la carga.

Cuando usas la secuencia de comandos import.sh, debes especificar la ubicación de los paneles de Grafana para convertir. El importador crea un directorio que contiene los paneles convertidos y otra información. En las siguientes secciones, se describen estos directorios.

Paneles de Grafana para convertir

Puedes usar el importador de paneles para convertir uno o más paneles a la vez si especificas una ruta de acceso a los archivos de paneles.

  • Puedes especificar la ruta de acceso a un directorio que contiene paneles. Solo se procesan los archivos en el directorio que tienen la extensión .json.

  • Puedes especificar la ruta de acceso a un solo archivo JSON. El nombre del archivo debe tener la extensión .json.

Paneles convertidos y otra información

Cuando el importador se ejecuta por primera vez, crea un subdirectorio reports. Cada vez que ejecutas el importador, obtienes un nuevo directorio de salida en el directorio reports, nombrado por la fecha y hora. El nombre del directorio de salida tiene la siguiente estructura:
reports/YYYY-M-D/HH:MM:SS

Para cada invocación del importador, el directorio de salida contiene lo siguiente:

  • Un archivo o archivos con los mismos nombres que los paneles originales de Grafana, pero ahora en formato JSON de Cloud Monitoring.
  • Un archivo report.json, que registra la siguiente información para cada panel convertido:
    • El nombre y la ubicación del archivo del panel de Grafana que se convirtió.
    • El nombre y la ubicación del archivo del panel de Monitoring convertido.
    • Nota sobre los atributos del panel de Grafana que no tienen un atributo correspondiente en Cloud Monitoring y, por lo tanto, no se pudieron incluir en el panel convertido.
    • Cualquier error que haya ocurrido en la conversión

Si subiste los paneles, el directorio de informes también incluye un archivo upload_HH:MM:SS.txt, que incluye la URL al que se subió el panel.

Importa paneles de Grafana

Para convertir los paneles de Grafana y subirlos a Cloud Monitoring, usa la secuencia de comandos import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

Esta secuencia de comandos hace lo siguiente:

  1. Convierte los paneles en PATH_TO_DIRECTORY_OR_FILE del formato JSON que usa Grafana al formato JSON que usa Cloud Monitoring.
  2. Sube los paneles convertidos en tu proyecto de Google Cloud PROJECT_ID con Google Cloud CLI

    Si no te validaste en la CLI de gcloud, ejecuta el comando gcloud auth login antes de ejecutar la secuencia de comandos import.sh.

Puedes importar todos los paneles de Grafana en un directorio o puedes especificar un solo panel en el directorio para importar.

  • Para importar todos los paneles del directorio GRAFANA_DASHBOARDS_DIR al proyecto PROJECT_ID de Google Cloud, especifica el directorio en relación con el directorio del importador y el ID del proyecto de destino cuando invoques la secuencia de comandos. :

    ./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
    
  • Para convertir solo el panel MY_GRAFANA_DASHBOARD.json en el directorio GRAFANA_DASHBOARDS_DIR, incluye el nombre del archivo del panel, en relación con el directorio del importador, cuando invoques la secuencia de comandos:

    ./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
    

El importador de paneles incluye un panel de Grafana de muestra como examples/k8s_cluster_example.json. Con el siguiente comando, se importa ese panel al proyecto especificado:

./import.sh examples/k8s_cluster_example.json PROJECT_ID

Cuando se invoca con my-project-test-1 PROJECT_ID, el resultado es similar al siguiente:

Converting: Kubernetes Cluster Overview
✓ Kubernetes Cluster Overview converted successfully

Conversion of examples/k8s_cluster_example.json complete. Conversion Report located at: reports/2023-9-28/22:14:57/report.json


To upload these dashboard(s) manually, you can run:
./upload.sh reports/2023-9-28/22:14:57/ <PROJECT_ID>

Conversion Complete. Proceeding to uploading...

Now running: ./upload.sh reports/2023-9-28/22:14:57/ my-project-test-1

Uploading 1 dashboard(s) from a directory with the following args:
Directory: reports/2023-9-28/22:14:57/
Project: my-project-test-1

The following are your dashboards:
- k8s_cluster_example.json

Después de que la secuencia de comandos import.sh cree el directorio de salida y convierta los paneles, pero antes de subir los paneles convertidos a tu proyecto, se te solicitará confirmación. Ingresa y, y la secuencia de comandos sube el panel y, luego, imprime la URL del panel nuevo:

Would you like to continue? (y/n) y

✓ k8s_cluster_example.json successfully uploaded:
https://console.cloud.google.com/monitoring/dashboards/builder/9c341ef8-cfef-4bdd-98d5-821571c520ef?project=my-project-test-1

Upload log created in reports/2023-9-28/22:14:57/upload_22:14:57.txt

Need to troubleshoot? Please visit:
https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/tree/master/scripts/dashboard-importer/README.md#troubleshooting

Convierte paneles de Grafana sin subir

Si deseas inspeccionar o editar los paneles convertidos antes de subirlos, omite el valor PROJECT_ID cuando invoques la secuencia de comandos import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE

El importador convierte los paneles como se describe en Importa los paneles de Grafana, pero no sube los paneles convertidos a Cloud Monitoring.

Puedes ejecutar el paso de carga más adelante con la secuencia de comandos upload.sh de forma manual.

Sube paneles de forma manual

Para subir paneles de forma manual en formato JSON de Cloud Monitoring, usa la secuencia de comandos upload.sh.

    ./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

La secuencia de comandos upload.sh usa Google Cloud CLI para subir los archivos JSON. Si no te validaste en la CLI de gcloud, ejecuta el comando gcloud auth login antes de ejecutar la secuencia de comandos upload.sh.

  • Para subir todos los paneles en un directorio reports/YYYY-M-D/HH:MM:SS, especifica el directorio en relación con el directorio del importador y el ID del proyecto de destino cuando invoques la secuencia de comandos:

    ./upload.sh reports/YYYY-M-D/HH:MM:SS PROJECT_ID
    

    Cuando subes todos los paneles desde un directorio, la secuencia de comandos te solicita que continúes o salgas antes de subir los paneles.

  • Para subir un panel específico en un directorio reports/YYYY-M-D/HH:MM:SS, especifica el directorio y el nombre de archivo, en relación con el directorio del importador y el ID del proyecto de destino cuando invocas la secuencia de comandos:

    ./upload.sh reports/YYYY-M-D/HH:MM:SS/MY_MONITORING_DASHBOARD.json PROJECT_ID
    

    Cuando subes un solo panel desde un directorio, la secuencia de comandos se ejecuta sin solicitarte antes de subir los paneles.

Por ejemplo, el siguiente comando sube un panel almacenado en un subdirectorio reports al proyecto de Google Cloud my-project-test-1:

./upload.sh reports/2023-9-26/22:48:31/k8s_cluster_example.json my-project-test-1
Uploading json file: k8s_cluster_example.json to project: my-project-test-1...

✓ k8s_cluster_example.json successfully uploaded:
https://console.cloud.google.com/monitoring/dashboards/builder/25956d9a-93e2-410c-ada1-ec6872cb6665?project=my-project-test-1

Consulta los paneles que subiste

Para ver los paneles que subiste, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página  Paneles.

    Dirígete a Paneles de control

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Busca el panel que deseas ver en la lista. Para filtrar la lista de paneles, puedes hacer lo siguiente:

    • Selecciona la categoría Personalizado para ver solo los paneles definidos por el usuario.
    • Selecciona la etiqueta cloud-ops-grafana-importer para ver solo Grafana paneles importados mediante la herramienta de importación.
    • Usa la barra de filtros para buscar por nombre.

Soluciona problemas

En ocasiones, publicamos pequeñas actualizaciones y correcciones de errores en la herramienta. Antes de intentar solucionar más problemas, primero intenta solucionar el problema a través de git pull para extraer la versión más reciente del repositorio y, luego, importarlo de nuevo.

Para obtener información sobre los problemas con los paneles convertidos, como los gráficos que no muestran datos, consulta el archivo README del importador.

¿Qué sigue?