Ao importar arquivos de painel JSON do Grafana para o Cloud Monitoring, é possível reutilizar as visualizações do Prometheus como painéis personalizados. É possível converter e fazer upload de painéis do Grafana usando o console doGoogle Cloud ou a ferramenta de importação de linha de comando.
Só é possível importar painéis que usam expressões do PromQL e fontes de dados do Prometheus. Se um painel incluir recursos do Grafana que não são compatíveis com o Monitoring, o processo de importação vai omitir esses recursos e listar as diferenças nos resultados da importação.
Para migrar regras de alerta do Prometheus, consulte Migrar regras de alerta e receptores do Prometheus. Para gerenciar seus painéis depois de importá-los, consulte Criar e gerenciar painéis personalizados.
Antes de começar
Seja usando o console do Google Cloud ou a ferramenta de importação para importar seus painéis, é preciso ter autorização suficiente e painéis para importar. Ao usar a ferramenta de importação, há pré-requisitos adicionais.
Autorização
Para receber as permissões necessárias
para criar e modificar painéis personalizados,
peça ao administrador para conceder a você o
papel do IAM de Editor do Monitoring (roles/monitoring.editor) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre papéis, consulte Controlar o acesso com o Identity and Access Management.
Coletar os painéis do Grafana para importar
Para importar painéis do Grafana, eles precisam estar armazenados localmente como arquivos no formato JSON. É recomendável criar um diretório específico para esses arquivos do dashboard.
Importar painéis usando o console do Google Cloud
É possível importar painéis do Grafana para o Cloud Monitoring na página Painéis do Monitoring no console do Google Cloud .
Importar painéis do Grafana
Para importar um ou mais painéis do Grafana, faça o seguinte:
-
No console Google Cloud , acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
Na barra de ferramentas do console do Google Cloud , selecione seu projeto do Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.
Clique em Importar painel.
Clique em Procurar para acessar o diretório em que você armazenou os painéis do Grafana no formato JSON e selecione os painéis que quer importar.
Cada arquivo JSON é preparado após ser selecionado. O painel Arquivos preparados indica se há problemas na conversão.
- Clique em code Exibir JSON convertido para ver os resultados da conversão.
- Clique em close Remover arquivo para remover um painel da operação de importação.
Clique em save_alt Importar. O painel Resultados da importação indica se cada painel foi importado com sucesso.
Para acessar um painel importado, clique em open_in_new Visualizar.
Ver os painéis importados
Para ver os painéis importados, faça o seguinte:
-
No console Google Cloud , acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console do Google Cloud , selecione seu projeto do Google Cloud . Para configurações do App Hub, selecione o projeto host ou de gerenciamento do App Hub.
Localize o painel que você quer visualizar na lista. Para filtrar a lista de painéis, faça o seguinte:
- No menu Tipo, selecione Personalizado.
No painel Rótulos, selecione o rótulo
cloud-monitoring-dashboard-importerpara ver apenas os painéis do Grafana importados usando o console do Google Cloud .Use a barra de filtro para pesquisar por nome.
Adicionar ou remover rótulos definidos pelo usuário
Só é possível adicionar rótulos a painéis personalizados, incluindo os que você importa. Quando um painel exibe o botão Adicionar rótulos ao painel, é possível configurar quais rótulos são aplicados ao painel.
Para adicionar ou remover rótulos definidos pelo usuário em um painel, faça o seguinte:
-
No console Google Cloud , acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na lista de painéis, localize o painel e clique em Adicionar rótulos ao painel.
- Siga uma destas opções:
Para criar um rótulo e adicioná-lo ao painel, na seção Criar um novo rótulo, insira o nome do rótulo na caixa de texto e clique em Criar e aplicar.
- Para configurar quais rótulos são adicionados ao painel, clique em arrow_drop_down Selecionar rótulos para aplicar, selecione os rótulos e clique em Ok.
- Para salvar as mudanças, clique em Confirmar.
Importar painéis usando a ferramenta de importação
Use a ferramenta de importação para converter os painéis do Grafana e fazer upload deles para o Cloud Monitoring como uma única operação. Também é possível executar as etapas de conversão e upload separadamente. Escolha essa abordagem se quiser editar os painéis convertidos antes de fazer o upload deles.
Pré-requisitos adicionais
Antes de instalar e executar o importador de painel, faça o seguinte:
- Use um ambiente compatível com scripts de shell Bash.
- Tenha ou instale o Git.
- Ter ou instalar o Node.js, versão 20.4.1 ou mais recente.
- Ter ou instalar a CLI do Google Cloud. Se você já tiver
a CLI gcloud instalada, verifique se tem a versão
mais recente executando o comando
gcloud components update.
Conseguir o importador do dashboard
O importador do painel é armazenado no repositório
monitoring-dashboard-samples
do GitHub.
Para conseguir e configurar o importador, faça o seguinte:
Clone o repositório:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
Mude para o diretório do importador do dashboard:
cd monitoring-dashboard-samples/scripts/dashboard-importer
Instale os módulos do nó e crie os arquivos:
npm install && npm run build
O importador do painel inclui os seguintes scripts:
import.sh, que converte painéis e, opcionalmente, faz o upload dos painéis convertidos para o Cloud Monitoring.upload.sh, que faz upload dos painéis convertidos (ou de qualquer painel do Monitoring) para o Cloud Monitoring. O scriptimport.sho chama para fazer o upload.
Ao usar o script import.sh, especifique o
local dos painéis do Grafana que serão convertidos. O importador cria um diretório que contém os painéis convertidos e outras informações.
As seções a seguir descrevem esses diretórios.
Painéis do Grafana para conversão
É possível usar o importador de painel para converter um ou mais arquivos do dashboard de uma vez especificando um caminho para os arquivos dos painéis.
É possível especificar o caminho para um diretório que contém dashboards. Somente arquivos no diretório que têm a extensão
.jsonsão processados.Você pode especificar o caminho para um único arquivo JSON. O nome de arquivo precisa ter a extensão
.json.
Painéis convertidos e outras informações
Quando o importador é executado pela primeira vez, ele cria um subdiretório reports.
Sempre que você executar o importador, receberá um novo diretório de saída no diretório
reports, nomeado pela 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 arquivo ou arquivos com os mesmos nomes dos painéis originais do Grafana, mas agora no formato JSON do Cloud Monitoring.
- Um arquivo
report.json, que registra as seguintes informações para cada painel convertido:- O nome e o local do arquivo do painel do Grafana que foi convertido.
- O nome e o local do arquivo convertido do painel do Monitoring.
- Avisos sobre recursos no painel do Grafana que não têm recurso correspondente no Cloud Monitoring e, portanto, não podem ser incluídos no painel convertido.
- Todos os erros que ocorreram na conversão.
Se você fez upload dos painéis, o diretório de relatórios também incluirá
um arquivo upload_HH:MM:SS.txt, que inclui o URL para o qual
o painel foi enviado.
Importar painéis do Grafana
Para converter os painéis do Grafana e fazer upload deles para o Cloud Monitoring, use
o script import.sh:
./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID
Esse script faz o seguinte:
- Converte painéis em
PATH_TO_DIRECTORY_OR_FILEdo formato JSON usado pelo Grafana no formato JSON usado pelo Cloud Monitoring. Faz upload dos painéis convertidos no seu projeto do Google Cloud PROJECT_ID usando a Google Cloud CLI.
Se você não estiver autenticado na CLI gcloud, execute o comando
gcloud auth loginantes de executar o scriptimport.sh.
É possível importar todos os painéis do Grafana em um diretório ou especificar um único painel nesse diretório.
Para importar todos os painéis do diretório
GRAFANA_DASHBOARDS_DIRpara o projeto PROJECT_ID Google Cloud , especifique o diretório, em relação ao diretório do importador e o ID do projeto de destino ao invocar o script:./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
Para converter apenas o painel
MY_GRAFANA_DASHBOARD.jsonno diretórioGRAFANA_DASHBOARDS_DIR, inclua o nome do arquivo do painel, relativo ao diretório importador, ao invocar o script:./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
O importador de painel inclui um painel de amostra do Grafana como
examples/k8s_cluster_example.json. O comando a seguir importa
esse painel para o projeto especificado:
./import.sh examples/k8s_cluster_example.json PROJECT_ID
Quando invocada com o PROJECT_ID my-project-test-1, a saída é semelhante
a esta:
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 que o script import.sh cria o diretório de saída e converte os painéis, mas antes de fazer upload dos painéis convertidos para o projeto, ele solicita uma confirmação. Insira y e o script faz upload do painel e imprime o URL do novo painel:
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
Converter painéis do Grafana sem fazer upload
Se você quiser inspecionar ou editar os painéis convertidos antes de fazer o upload deles, omita o valor PROJECT_ID ao invocar o script import.sh:
./import.sh PATH_TO_DIRECTORY_OR_FILE
O importador converte os painéis conforme descrito em Importar painéis do Grafana, mas não faz upload dos painéis convertidos para o Cloud Monitoring.
É possível executar a etapa de upload mais tarde usando o script upload.sh
manualmente.
Fazer upload de painéis manualmente
Para fazer o upload manual dos painéis 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 fazer upload dos arquivos JSON. Se você não estiver autenticado na
CLI gcloud, execute o comando gcloud auth login
antes de executar o script upload.sh.
Para fazer upload de todos os painéis em um 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 ao invocar o script:./upload.sh
reports/YYYY-M-D/HH:MM:SSPROJECT_IDAo fazer o upload de todos os painéis de um diretório, o script solicita que você continue ou saia antes de fazer o upload dos painéis.
Para fazer upload de um painel específico em um diretório
reports/YYYY-M-D/HH:MM:SS, especifique o diretório e o nome do arquivo, em relação ao diretório do importador e o ID do projeto de destino ao invocar o script:./upload.sh
reports/YYYY-M-D/HH:MM:SS/MY_MONITORING_DASHBOARD.json PROJECT_IDAo fazer o upload de um único painel de um diretório, o script é executado sem solicitar que você faça o upload dos painéis.
Por exemplo, o comando a seguir faz upload de um painel armazenado
em um subdiretório reports para o projeto Google Cloud
do 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
Ver os painéis enviados
Para ver os painéis enviados, faça o seguinte:
-
No console Google Cloud , acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
Localize o painel que você quer visualizar na lista. Para filtrar a lista de painéis, faça o seguinte:
- Selecione a categoria Personalizado para ver apenas os painéis definidos pelo usuário.
- Selecione o rótulo
cloud-ops-grafana-importerpara ver apenas os painéis do Grafana importados usando a ferramenta de importação. - Use a barra de filtro para pesquisar por nome.
Solução de problemas
De vez em quando, publicamos pequenas atualizações e correções de bugs para a ferramenta. Antes
de tentar solucionar outros problemas, primeiro tente corrigir o problema
usando git pull para extrair a versão mais recente
do repositório e importar novamente.
Para informações sobre problemas com os painéis convertidos,
como gráficos que não mostram dados, consulte o arquivo
README do importador.
A seguir
- Criar e gerenciar painéis personalizados
- Migrar regras de alerta e receptores do Prometheus
- Ver e gerenciar o uso de métricas