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
-
Na Google Cloud consola, aceda à página
Painéis de controlo:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
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.
Clique em Importar painel de controlo.
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 code Ver JSON convertido para ver os resultados da conversão.
- Clique em close Remover ficheiro para remover um painel de controlo da operação de importação.
Clique em save_alt Importar. O painel Resultados da importação indica se cada painel de controlo foi importado com êxito.
Para ver um painel de controlo importado com êxito, clique em open_in_new Ver.
Veja os seus painéis de controlo importados
Para ver os painéis de controlo importados, faça o seguinte:
-
Na Google Cloud consola, aceda à página
Painéis de controlo:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- 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.
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:
-
Na Google Cloud consola, aceda à página
Painéis de controlo:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na lista de painéis de controlo, localize o painel de controlo e, de seguida, clique em Adicionar etiquetas ao painel de controlo.
- 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 arrow_drop_down Selecionar etiquetas a aplicar, selecione as etiquetas e, de seguida, clique em OK.
- 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:
- Use um ambiente que suporte scripts da shell Bash.
- Ter ou instalar o Git.
- Ter ou instalar o Node.js, versão 20.4.1 ou mais recente.
- 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:
Clone o repositório:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
Altere para o diretório do importador de painéis de controlo:
cd monitoring-dashboard-samples/scripts/dashboard-importer
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 scriptimport.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:
- 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. 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 scriptimport.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órioGRAFANA_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_IDQuando 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_IDQuando 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:
-
Na Google Cloud consola, aceda à página
Painéis de controlo:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
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?
- Crie e faça a gestão de painéis de controlo personalizados
- Migre regras de alerta e destinatários do Prometheus
- Veja e faça a gestão da utilização de métricas