Instalação do Grafana

DockerBeginner
Pratique Agora

Introdução

Grafana é uma plataforma open-source líder para monitoramento e observabilidade. Ela permite consultar, visualizar, alertar e entender suas métricas, independentemente de onde estejam armazenadas. Com o Grafana, você pode criar, explorar e compartilhar dashboards com sua equipe, promovendo uma cultura orientada por dados.

Neste laboratório, você usará Docker para configurar Grafana de forma rápida e simples. Você iniciará Prometheus como fonte de dados antes de iniciar Grafana. Os downloads das imagens ficam visíveis no Terminal para acompanhar o progresso e repetir as tentativas que falharem. Seu objetivo é instalar Grafana em seu próprio contêiner e conectá-lo ao Prometheus para preparar futuras visualizações.

Preparar Prometheus e baixar as imagens do Grafana

Nesta etapa, você preparará o serviço de métricas e baixará o Grafana. Prometheus coleta métricas; Grafana as consulta para visualizá-las. O arquivo inicial de configuração do Prometheus já está preparado. Você iniciará os contêineres.

Trabalhe no diretório do projeto.

cd /home/labex/project

Cada tag fixa seleciona a versão utilizada neste laboratório. Os downloads podem levar vários minutos. Espere cada comando retornar ao prompt. Se um download falhar, execute novamente o mesmo comando pull; o Docker reutiliza as camadas concluídas. Não prossiga enquanto um download estiver incompleto.

docker pull prom/prometheus:v3.3.0
docker pull grafana/grafana:11.6.0

docker network create cria uma rede em que os contêineres podem resolver os nomes uns dos outros. docker run -d inicia um contêiner em segundo plano; --name atribui o nome, --network conecta-o à rede e -p mapeia uma porta do host para uma porta do contêiner. O bind mount somente leitura (-v ...:ro) permite que Prometheus leia a configuração preparada.

docker network create monitoring
docker run -d --name prometheus --network monitoring -p 9090:9090 -v /home/labex/project/prometheus.yml:/etc/prometheus/prometheus.yml:ro prom/prometheus:v3.3.0

As opções de curl informam falhas HTTP e repetem erros temporários de inicialização até 30 vezes, com intervalos de dois segundos. Um contêiner em execução ainda pode estar inicializando: espere a verificação de integridade ter sucesso antes de continuar.

curl --fail --silent --show-error --retry 30 --retry-delay 2 --retry-connrefused --retry-all-errors http://localhost:9090/-/ready

Uma resposta bem-sucedida informa Prometheus Server is Ready.. A imagem do Grafana também está disponível para a próxima etapa.

Executar Grafana na porta 8080 do host

Nesta etapa, você executará a imagem do Grafana como um container. Usaremos o comando docker run, que cria e inicia um novo container a partir de uma imagem especificada.

Também usaremos várias flags para configurar o container:

  • -d: Executa o container em modo detached (em segundo plano).
  • -p 8080:3000: Mapeia a porta 8080 da máquina host para a porta 3000 do container. Isso torna a interface web do Grafana acessível a partir do seu navegador, evitando conflitos com serviços que já utilizam a porta 3000.
  • --name grafana: Atribui um nome personalizado ao container para fácil referência.
  • --network monitoring: Conecta o container à rede monitoring. Isso é crucial, pois permite que este container do Grafana se comunique com o container do Prometheus (que está na mesma rede) usando seus nomes de container.

Execute o seguinte comando para iniciar seu container do Grafana:

docker run -d -p 8080:3000 --name grafana --network monitoring grafana/grafana:11.6.0

O comando exibirá uma longa string, que é o ID exclusivo do container recém-criado.

a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6

Você pode verificar se o container está em execução com o comando docker ps.

docker ps

Você deverá ver o container grafana listado com o status Up.

As opções de curl informam falhas HTTP e repetem erros temporários de inicialização até 30 vezes, com intervalos de dois segundos. Um contêiner em execução ainda pode estar inicializando: espere a verificação de integridade ter sucesso antes de continuar.

curl --fail --silent --show-error --retry 30 --retry-delay 2 --retry-connrefused --retry-all-errors http://localhost:8080/api/health

A resposta deve conter "database": "ok".

Abrir a interface do Grafana

Nesta etapa, você abrirá o serviço que iniciou. Selecione a aba Grafana do laboratório depois que a verificação de integridade tiver sucesso. Se o navegador bloquear o login incorporado, use o controle de abertura no navegador para abrir uma nova aba.

Você deverá ver o formulário de login do Grafana. Esta interface abre Grafana dentro da VM; localhost no seu próprio navegador apontaria para seu computador, não para a VM. Mantenha Terminal disponível para verificar os contêineres.

Primeiro Login e Configuração de Senha

Nesta etapa, você fará o primeiro login no Grafana. Uma nova instância apresenta uma tela de alteração de senha depois do login inicial.

As credenciais padrão são usuário admin e senha admin. Digite-as no formulário e clique em Log in.

Na tela de alteração de senha, clique em Skip. Mantenha as credenciais padrão neste laboratório temporário, pois as verificações as utilizam para inspecionar sua fonte de dados. Em produção, substitua as credenciais padrão por uma senha forte.

Agora você deverá ver a página inicial do Grafana e poderá configurar sua conexão com Prometheus.

Adicionar Prometheus como Fonte de Dados no Grafana

Nesta etapa, você conectará Grafana à instância do Prometheus que iniciou na primeira etapa. Isso permitirá que Grafana consulte métricas do Prometheus.

Siga estas instruções na interface do Grafana:

No menu do lado esquerdo, clique no ícone Connections (parece um plugue ou conector). Na página Connections, clique em Data sources. Na página Data sources, clique no botão Add data source. Na lista de tipos de fontes de dados disponíveis, selecione Prometheus.

Defina Name como Prometheus.

Agora você precisa configurar as definições de conexão. A configuração mais importante é a URL.

  • No campo Prometheus server URL, digite http://prometheus:9090.

Esta URL funciona porque tanto o container do Grafana quanto o do Prometheus estão conectados à mesma rede Docker (monitoring). O DNS interno do Docker permite que containers na mesma rede se resolvam pelo nome do container (prometheus neste caso).

Após inserir a URL, role até o final da página e clique no botão Save & test.

O Grafana tentará se conectar ao servidor Prometheus. Se a conexão for bem-sucedida, você verá uma notificação verde dizendo "Successfully queried the Prometheus API".

Agora você pode seguir o guia para explorar os recursos do Grafana. Após adicionar o Prometheus como fonte de dados, sinta-se à vontade para clicar em Explore no menu do lado esquerdo. Aqui, você pode executar consultas em seus dados do Prometheus e visualizar os resultados em tempo real. Experimente diferentes consultas para se familiarizar com a forma como o Grafana interage com suas métricas!

Resumo

Parabéns! Você concluiu com sucesso este laboratório.

Neste laboratório, você aprendeu várias habilidades fundamentais para trabalhar com Grafana e Docker:

  • Como baixar uma imagem oficial do Docker do Docker Hub.
  • Como executar um container Docker com configurações de rede e porta específicas.
  • Como acessar uma aplicação web em execução dentro de um container.
  • Como realizar a configuração de segurança inicial para uma nova instância do Grafana.
  • Como conectar o Grafana a uma fonte de dados Prometheus dentro de uma rede Docker compartilhada.

Agora você tem uma instância do Grafana totalmente funcional conectada a uma fonte de dados, pronta para você começar a construir dashboards poderosos e informativos para visualizar seus dados.