Importe painéis de controlo do Grafana para o Cloud Monitoring

Este documento descreve como importar ficheiros de painéis de controlo no formato JSON do Grafana para o Cloud Monitoring. Pode importar painéis de controlo do Grafana das seguintes formas:

O processo de importação converte ficheiros do painel de controlo no formato JSON usado pelo Grafana no formato JSON usado pelo Cloud Monitoring. Um painel de controlo convertido pode diferir do painel de controlo original do Grafana. Por exemplo, se um painel de controlo do Grafana usar funcionalidades que não estão disponíveis nos painéis de controlo do Cloud Monitoring, esses aspetos do painel de controlo do Grafana não são convertidos. Estas diferenças são apresentadas nos resultados da importação.

Só pode importar painéis de controlo que usam expressões PromQL e origens de dados do Prometheus. Os painéis de controlo que usam outras formas de consulta ou origens de dados podem não ser importados com êxito.

Para obter informações sobre a importação de alertas do Prometheus para o Cloud Monitoring, consulte o artigo Migre regras de alerta e destinatários do Prometheus.

Para ver informações gerais sobre a gestão dos painéis de controlo importados, consulte o artigo Crie e faça a gestão de painéis de controlo personalizados.

Antes de começar

Quer use a Google Cloud consola ou a ferramenta de importação para importar os seus painéis de controlo, tem de ter autorização suficiente e precisa de painéis de controlo para importar. Quando usa a ferramenta de importação, existem pré-requisitos adicionais.

Autorização

Para obter as autorizações de que precisa para criar e modificar painéis de controlo personalizados, peça ao seu administrador para lhe conceder a função de Editor de monitorização (roles/monitoring.editor) do IAM no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções, consulte o artigo Controle o acesso com a gestão de identidades e acessos.

Recolha os painéis de controlo do Grafana a importar

Para importar painéis de controlo do Grafana, tem de os ter armazenados localmente como ficheiros no formato JSON. É recomendável criar um diretório especificamente para estes ficheiros do painel de controlo.

Importe painéis de controlo através da Google Cloud consola

Pode importar painéis de controlo do Grafana para o Cloud Monitoring a partir da página Painéis de controlo do Monitoring na Google Cloud consola.

Importe painéis de controlo do Grafana

Para importar um ou mais painéis de controlo do Grafana, faça o seguinte

  1. Na Google Cloud consola, aceda à página  Painéis de controlo:

    Aceda a Painéis de controlo

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.

  3. Clique em Importar painel de controlo.

  4. Clique em Procurar para navegar para o diretório onde armazenou os painéis de controlo do Grafana no formato JSON e selecione os painéis de controlo que quer importar.

    Cada ficheiro JSON é preparado depois de ser selecionado. O painel Ficheiros preparados indica se existem problemas na conversão.

    • Clique em  Ver JSON convertido para ver os resultados da conversão.
    • Clique em  Remover ficheiro para remover um painel de controlo da operação de importação.
  5. Clique em  Importar. O painel Resultados da importação indica se cada painel de controlo foi importado com êxito.

  6. Para ver um painel de controlo importado com êxito, clique em  Ver.

Veja os seus painéis de controlo importados

Para ver os painéis de controlo importados, faça o seguinte:

  1. Na Google Cloud consola, aceda à página  Painéis de controlo:

    Aceda a Painéis de controlo

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
  3. Localize o painel de controlo que quer ver na lista. Para filtrar a lista de painéis de controlo, pode fazer o seguinte:

    • No menu Tipo, selecione Personalizado.
    • No painel Etiquetas, selecione a etiqueta cloud-monitoring-dashboard-importer para ver apenas os painéis de controlo do Grafana importados através da consola Google Cloud .

    • Use a barra de filtros para pesquisar por nome.

Adicione ou remova etiquetas definidas pelo utilizador

Só pode adicionar etiquetas a painéis de controlo personalizados, incluindo painéis de controlo que importa. Quando um painel de controlo apresenta o botão Adicionar etiquetas ao painel de controlo, pode configurar as etiquetas que são aplicadas ao painel de controlo.

Para adicionar ou remover etiquetas definidas pelo utilizador num painel de controlo, faça o seguinte:

  1. Na Google Cloud consola, aceda à página  Painéis de controlo:

    Aceda a Painéis de controlo

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Na lista de painéis de controlo, localize o painel de controlo e, de seguida, clique em Adicionar etiquetas ao painel de controlo.
  3. Realize um dos seguintes passos:
    • Para criar uma etiqueta e adicioná-la ao painel de controlo, na secção Criar uma nova etiqueta, introduza o nome da etiqueta na caixa de texto e, de seguida, clique em Criar e aplicar.

    • Para configurar as etiquetas que são adicionadas ao painel de controlo, clique em Selecionar etiquetas a aplicar, selecione as etiquetas e, de seguida, clique em OK.
  4. Para guardar as alterações, clique em Confirmar.

Importe painéis de controlo através da ferramenta de importação

Pode usar a ferramenta de importação para converter painéis de controlo do Grafana e carregá-los no Cloud Monitoring como uma única operação ou pode executar os passos de conversão e carregamento separadamente. Pode escolher esta abordagem se quiser editar os painéis de controlo convertidos antes de os carregar.

Pré-requisitos adicionais

Antes de poder instalar e executar o importador de painéis de controlo, tem de fazer o seguinte:

  1. Use um ambiente que suporte scripts da shell Bash.
  2. Ter ou instalar o Git.
  3. Ter ou instalar o Node.js, versão 20.4.1 ou mais recente.
  4. Ter ou instalar a CLI gcloud. Se já tiver a CLI gcloud instalada, certifique-se de que tem a versão mais recente executando o comando gcloud components update.

Obtenha o importador de painéis de controlo

O importador de painéis de controlo está armazenado no monitoring-dashboard-samples repositório do GitHub. Para obter e configurar o importador, faça o seguinte:

  1. Clone o repositório:

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
    
  2. Altere para o diretório do importador de painéis de controlo:

    cd monitoring-dashboard-samples/scripts/dashboard-importer
    
  3. Instale os módulos de nó e crie os ficheiros

    npm install && npm run build
    

O importador de painéis de controlo inclui os seguintes scripts:

  • import.sh, que converte painéis de controlo e, opcionalmente, carrega os painéis de controlo convertidos para o Cloud Monitoring.

  • upload.sh, que carrega os painéis de controlo convertidos, ou quaisquer painéis de controlo do Monitoring, para o Cloud Monitoring. O script import.sh chama este script para fazer o carregamento.

Quando usa o script import.sh, tem de especificar a localização dos painéis de controlo do Grafana a converter. O importador cria um diretório que contém os painéis de controlo convertidos e outras informações. As secções seguintes descrevem estes diretórios.

Painéis de controlo do Grafana para converter

Pode usar o importador de painéis de controlo para converter um ou mais painéis de controlo de uma só vez, especificando um caminho para os ficheiros dos painéis de controlo.

  • Pode especificar o caminho para um diretório que contenha painéis de controlo. Apenas são processados os ficheiros no diretório com a extensão .json.

  • Pode especificar o caminho para um único ficheiro JSON. O nome do ficheiro tem de ter a extensão .json.

Painéis de controlo convertidos e outras informações

Quando o importador é executado pela primeira vez, cria um subdiretório reports. Sempre que executa o importador, recebe um novo diretório de saída no diretório reports, com o nome da data e hora. O nome do diretório de saída tem a seguinte estrutura:
reports/YYYY-M-D/HH:MM:SS

Para cada invocação do importador, o diretório de saída contém o seguinte:

  • Um ou mais ficheiros com os mesmos nomes que os painéis de controlo originais do Grafana, mas agora no formato JSON do Cloud Monitoring.
  • Um ficheiro report.json, que regista as seguintes informações para cada painel de controlo convertido:
    • O nome e a localização do ficheiro do painel de controlo do Grafana que foi convertido.
    • O nome e a localização do ficheiro do painel de controlo de monitorização convertido.
    • Avisos sobre funcionalidades no painel de controlo do Grafana que não têm uma funcionalidade correspondente no Cloud Monitoring e, por isso, não puderam ser incluídas no painel de controlo convertido.
    • Quaisquer erros que tenham ocorrido na conversão.

Se tiver carregado os painéis de controlo, o diretório de relatórios também inclui um ficheiro upload_HH:MM:SS.txt, que inclui o URL para o qual o painel de controlo foi carregado.

Importe painéis de controlo do Grafana

Para converter painéis de controlo do Grafana e carregá-los para o Cloud Monitoring, use o script import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

Este script faz o seguinte:

  1. Converte painéis de controlo em PATH_TO_DIRECTORY_OR_FILE do formato JSON usado pelo Grafana para o formato JSON usado pelo Cloud Monitoring.
  2. Carrega os painéis de controlo convertidos no seu Google Cloud projetoPROJECT_ID através da CLI do Google Cloud.

    Se não tiver feito a autenticação na CLI gcloud, execute o comando gcloud auth login antes de executar o script import.sh.

Pode importar todos os painéis de controlo do Grafana num diretório ou especificar um único painel de controlo no diretório para importar.

  • Para importar todos os painéis de controlo no diretório GRAFANA_DASHBOARDS_DIR para o projeto PROJECT_ID Google Cloud , especifique o diretório, relativo ao diretório do importador, e o ID do projeto de destino quando invocar o script:

    ./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
    
  • Para converter apenas o painel de controlo MY_GRAFANA_DASHBOARD.json no diretório GRAFANA_DASHBOARDS_DIR, inclua o nome do ficheiro do painel de controlo, relativo ao diretório do importador, quando invocar o script:

    ./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
    

O importador do painel de controlo inclui um exemplo de painel de controlo do Grafana como examples/k8s_cluster_example.json. O seguinte comando importa esse painel de controlo para o projeto especificado:

./import.sh examples/k8s_cluster_example.json PROJECT_ID

Quando invocado com o comando PROJECT_ID my-project-test-1, o resultado é semelhante ao seguinte:

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

Depois de o script import.sh criar o diretório de saída e converter os painéis de controlo, mas antes de carregar os painéis de controlo convertidos para o seu projeto, pede-lhe uma confirmação. Introduza y e o script carrega o painel de controlo e imprime o URL do novo painel de controlo:

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

Converta painéis de controlo do Grafana sem carregar

Se quiser inspecionar ou editar os painéis de controlo convertidos antes de os carregar, omita o valor PROJECT_ID quando invocar o script import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE

O importador converte os painéis de controlo conforme descrito em Importe painéis de controlo do Grafana mas não carrega os painéis de controlo convertidos para o Cloud Monitoring.

Pode executar o passo de carregamento mais tarde através do script upload.sh manualmente.

Carregue painéis de controlo manualmente

Para carregar manualmente painéis de controlo no formato JSON do Cloud Monitoring, use o script upload.sh.

    ./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

O script upload.sh usa a CLI do Google Cloud para carregar os ficheiros JSON. Se ainda não se autenticou na CLI gcloud, execute o comando gcloud auth login antes de executar o script upload.sh.

  • Para carregar todos os painéis de controlo num diretório reports/YYYY-M-D/HH:MM:SS, especifique o diretório, relativo ao diretório do importador, e o ID do projeto de destino quando invocar o script:

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

    Quando carrega todos os painéis de controlo de um diretório, o script pede-lhe que continue ou saia antes de carregar os painéis de controlo.

  • Para carregar um painel de controlo específico num diretório reports/YYYY-M-D/HH:MM:SS, especifique o diretório e o nome do ficheiro, relativamente ao diretório do importador, e o ID do projeto de destino quando invocar o script:

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

    Quando carrega um único painel de controlo a partir de um diretório, o script é executado sem lhe pedir confirmação antes de carregar os painéis de controlo.

Por exemplo, o comando seguinte carrega um painel de controlo armazenado num subdiretório reports para o projeto 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

Veja os painéis de controlo carregados

Para ver os painéis de controlo carregados, faça o seguinte:

  1. Na Google Cloud consola, aceda à página  Painéis de controlo:

    Aceda a Painéis de controlo

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Localize o painel de controlo que quer ver na lista. Para filtrar a lista de painéis de controlo, pode fazer o seguinte:

    • Selecione a categoria Personalizado para ver apenas painéis de controlo definidos pelo utilizador.
    • Selecione a etiqueta cloud-ops-grafana-importer para ver apenas os painéis de controlo do Grafana importados através da ferramenta de importação.
    • Use a barra de filtros para pesquisar por nome.

Resolução de problemas

Publicamos ocasionalmente pequenas atualizações e correções de erros na ferramenta. Antes de tentar resolver mais problemas, experimente corrigir o problema usando git pull para transferir a versão mais recente do repositório e, em seguida, importá-la novamente.

Para obter informações sobre problemas com os painéis de controlo convertidos, como gráficos que não mostram dados, consulte o ficheiro README do importador.

O que se segue?