Instalação do Prometheus

DockerBeginner
Pratique Agora

Introdução

Prometheus é um poderoso kit de ferramentas de monitoramento e alerta de código aberto originalmente construído no SoundCloud. Tornou-se um padrão para monitoramento em ambientes cloud-native. Suas principais características incluem um modelo de dados multidimensional, uma linguagem de consulta flexível (PromQL) e uma variedade de opções de visualização.

Neste laboratório, você aprenderá a maneira mais direta de colocar uma instância do Prometheus em funcionamento usando Docker. Essa abordagem evita etapas de instalação complexas e permite que você comece a explorar o Prometheus rapidamente. Você fará o download da imagem oficial do Docker, a executará como um contêiner e interagirá com sua interface web.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 86%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Baixar Imagem Docker do Prometheus

Nesta etapa, você baixará a imagem oficial do Docker do Prometheus do Docker Hub. O Docker Hub é um registro público para imagens Docker, e prom/prometheus é a imagem oficial mantida pela equipe do Prometheus.

O comando docker pull baixa a imagem especificada para sua máquina local, tornando-a disponível para ser executada como um contêiner.

Execute o seguinte comando em seu terminal para baixar a versão mais recente da imagem do Prometheus:

docker pull prom/prometheus

Você verá uma saída indicando que as camadas da imagem estão sendo baixadas. Após a conclusão, a imagem será armazenada localmente.

Saída esperada (os números das versões podem variar):

Using default tag: latest
latest: Pulling from prom/prometheus
a4ca46b05734: Pull complete
542b5806d2b7: Pull complete
...
Digest: sha256:2c785d4e9af2224941598d142337931a5f8333065916938c6444294020b45f50
Status: Downloaded newer image for prom/prometheus
docker.io/prom/prometheus

Executar Contêiner do Prometheus na Porta 9090

Nesta etapa, você executará o contêiner do Prometheus usando a imagem que acabou de baixar. Usaremos o comando docker run para criar e iniciar o contêiner.

Aqui está uma descrição das opções de comando que usaremos:

  • -d: Executa o contêiner em modo detached (em segundo plano).
  • -p 9090:9090: Mapeia a porta 9090 da máquina host para a porta 9090 do contêiner. A interface web do Prometheus é executada na porta 9090 por padrão.
  • --name prometheus: Atribui um nome memorável, prometheus, ao contêiner para fácil referência.
  • prom/prometheus: Especifica a imagem a ser usada para criar o contêiner.

Execute o seguinte comando para iniciar seu contêiner do Prometheus:

docker run -d -p 9090:9090 --name prometheus prom/prometheus

O comando exibirá um longo ID de contêiner, confirmando que o contêiner foi iniciado.

Para verificar se o contêiner está em execução, você pode usar o comando docker ps, que lista todos os contêineres em execução.

docker ps

Você deverá ver o contêiner prometheus na lista, com seu status como "Up".

Saída esperada:

CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                    NAMES
a1b2c3d4e5f6   prom/prometheus   "/bin/prometheus --c…"   A few seconds ago   Up a few seconds   0.0.0.0:9090->9090/tcp   prometheus

Acessar a Interface Web do Prometheus em localhost:9090

Nesta etapa, você acessará a interface web do Prometheus, que agora está em execução e exposta na porta 9090. O ambiente LabEx fornece uma maneira conveniente de acessar serviços web em execução dentro da máquina virtual.

Clique no botão +(Nova Aba) localizado na parte superior da interface do laboratório.

Selecione a opção Web Service e insira 9090 como a porta.

Entrada da porta do serviço web do Prometheus

Isso abrirá uma nova aba no navegador conectada aos serviços em execução em seu ambiente de laboratório.

Como mapeamos a porta 9090, a interface do Prometheus estará disponível. Você deverá ver o Prometheus Expression Browser, que é a página principal. Esta interface permite que você escreva e execute consultas PromQL para explorar métricas.

Página inicial do Prometheus Expression Browser

A presença desta página confirma que seu contêiner do Prometheus está em execução corretamente e é acessível.

Verificar o Status do Serviço Prometheus

Nesta etapa, você usará a UI do Prometheus para verificar o status e as informações de tempo de execução do próprio serviço Prometheus.

Na interface web do Prometheus que você abriu na etapa anterior, navegue até a página de status clicando no menu Status na barra de navegação superior e, em seguida, selecionando Runtime & Build Information.

Esta página exibe informações detalhadas sobre a instância do Prometheus em execução, incluindo sua versão, data de compilação e a versão do Go com a qual foi compilada. Esta é uma boa maneira de confirmar que o serviço está totalmente operacional.

Outra forma de verificar a saúde e as métricas do servidor Prometheus é acessando seu endpoint /metrics. Este endpoint expõe uma grande quantidade de métricas internas sobre o próprio Prometheus. Você pode visualizar esses dados usando curl em seu terminal.

curl http://localhost:9090/metrics

A saída será uma longa lista de métricas no formato de exposição do Prometheus. Procure por uma métrica como prometheus_build_info para confirmar que o endpoint está funcionando.

Saída esperada parcial:

## HELP prometheus_build_info A metric with a constant '1' value labeled with the version, revision, branch, and goversion from which prometheus was built.
## TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goversion="go1.19.5",revision="233d305681c0da67c694b01d832131d173a0552b",version="2.41.0"} 1
...

Explorar Alvos Padrão na Interface do Prometheus

Nesta etapa, você explorará o conceito de "alvos" (targets) no Prometheus. Um alvo é um endpoint do qual o Prometheus coleta (scrape) métricas. Por padrão, o servidor Prometheus é configurado para monitorar a si mesmo.

Na interface web do Prometheus, navegue até a página de alvos clicando no menu Status e, em seguida, selecionando Targets.

Nesta página, você verá uma lista de todos os alvos de coleta configurados. Você deverá ver um grupo de alvos chamado prometheus com um único endpoint: http://localhost:9090/metrics. Este é o endpoint de métricas do próprio servidor Prometheus.

UI do Prometheus mostrando o alvo de auto-monitoramento UP

Preste atenção à coluna State. Ela deverá mostrar UP em verde. Isso indica que o Prometheus está se conectando com sucesso ao alvo e coletando suas métricas. Se houvesse um problema ao se conectar ao alvo, o estado seria "DOWN". Esta página é crucial para diagnosticar problemas com a coleta de métricas.

Resumo

Parabéns! Você instalou e executou com sucesso uma instância do Prometheus usando Docker. Este laboratório forneceu uma introdução prática para começar a usar uma das ferramentas de monitoramento mais populares da indústria.

Neste laboratório, você aprendeu a:

  • Baixar a imagem oficial do Docker do Prometheus do Docker Hub.
  • Executar um contêiner do Prometheus e mapear sua porta para o host.
  • Acessar e navegar na interface web do Prometheus.
  • Verificar o status do serviço através da UI e do endpoint de métricas.
  • Explorar a configuração padrão do alvo de monitoramento.

Agora você tem um entendimento fundamental de como implantar o Prometheus. Os próximos passos em sua jornada podem envolver aprender a criar um arquivo de configuração personalizado para monitorar outros aplicativos e serviços.