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:
- Con la consola de Google Cloud
- Usando la herramienta de importación.
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:
Ve a la página Paneles o Resumen en Monitoring:
-
En la consola de Google Cloud, ve a la página Paneles.
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:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
-
Haz clic en save_alt Importar paneles de Grafana.
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 code Ver JSON convertido para consultar los resultados de la conversión.
- Haz clic en close Quitar archivo para quitar un panel de la operación de importación.
Haz clic en save_alt Importar. En el panel Resultados de la importación, se indica si cada panel se importó correctamente.
Para ver un panel importado correctamente, haz clic en open_in_new Ver.
Visualiza tus paneles importados
Para ver los paneles importados, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
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:
- Usa un entorno que admita secuencias de comandos de shell de Bash.
- Tener o instalar Git.
- Tener o instalar Node.js, versión 20.4.1 o posterior.
- 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:
Clona el repositorio:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
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 comandosimport.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:
- Convierte los paneles en
PATH_TO_DIRECTORY_OR_FILE
del formato JSON que usa Grafana al formato JSON que usa Cloud Monitoring. 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 comandosimport.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 directorioGRAFANA_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_IDCuando 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_IDCuando 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:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
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?
- Crea y administra paneles personalizados
- Migra reglas de alerta y receptores desde Prometheus
- Visualiza y administra el uso de métricas