Monitoramento é o processo contínuo de coleta, análise e visualização de dados de sistemas, aplicações e infraestrutura. Ele serve para:
- Identificar problemas de desempenho ou falhas.
- Prever possíveis interrupções ou gargalos.
- Acompanhar métricas importantes em tempo real.
- Garantir que os sistemas estejam funcionando conforme o esperado.
- Ajudar na resolução rápida de incidentes, minimizando impactos no usuário final.
No DevOps, o monitoramento é fundamental para a observabilidade do sistema, garantindo visibilidade e controle sobre os componentes da aplicação.
O Prometheus é uma plataforma de monitoramento e alerta baseada em métricas. Ele coleta e armazena métricas numéricas de séries temporais, como o uso de CPU ou tráfego de rede.
- Baseado em pull model (Prometheus busca dados nos alvos configurados).
- Linguagem de consulta própria, o PromQL, para análises avançadas.
- Suporte a alertas configuráveis por meio de um Alertmanager.
O Grafana é uma ferramenta de visualização que permite criar dashboards interativos a partir de várias fontes de dados, incluindo o Prometheus.
- Dashboards personalizáveis.
- Suporte a várias fontes de dados (Prometheus, MySQL, Elasticsearch, etc.).
- Facilita a análise de métricas com gráficos e alertas visuais.
-
Baixar e instalar o Prometheus:
- Baixe a versão mais recente do Prometheus em prometheus.io.
- Extraia o conteúdo para o diretório desejado.
-
Configurar o arquivo
prometheus.yml
:- No diretório do Prometheus, edite o arquivo
prometheus.yml
para incluir os alvos a serem monitorados.
global: scrape_interval: 15s # Intervalo de coleta das métricas scrape_configs: - job_name: "localhost-backend" metrics_path: '/actuator/prometheus' static_configs: - targets: ["localhost:9090"]
- No diretório do Prometheus, edite o arquivo
-
Testar o Prometheus:
- Abra o terminal no diretório do Prometheus.
- Execute o comando:
prometheus.exe --config.file=prometheus.yml --web.listen-address=:9091
- Acesse http://localhost:9091 no navegador para verificar se o Prometheus está funcionando.
-
Baixar e instalar o Grafana:
- Baixe o Grafana no site oficial: grafana.com.
- Extraia o conteúdo para o diretório desejado.
-
Configuração do grafana:
- Crie um diretório no pasta do grafana C:\caminho\para\grafana\data
2.1 Configurar o defaults.ini- Vá até o arquivo defaults.ini C:\caminho\para\grafana\conf\defaults.ini
- Abra o arquivo defaults.ini com um editor de texto (como o Notepad++, VSCode ou Notepad).
- Procure pela seção chamada [paths]. Você pode fazer isso procurando a palavra paths no arquivo (geralmente ela está no início do arquivo).
- Dentro da seção [paths], você verá a linha data = . Altere o valor para o novo caminho onde você deseja armazenar os dados do Grafana. Por exemplo: data = C:/novo/caminho/para/grafana/data
- Procure por http_port=3000 e coloque a porta do grafana. Que no caso é 3001
- Crie um diretório no pasta do grafana C:\caminho\para\grafana\data
-
Executar o servidor Grafana:
- Navegue até o diretório
bin
dentro da pasta do Grafana. - Execute o comando:
grafana-server.exe --homepath "C:\caminho\para\grafana"
- Acesse http://localhost:3001 no navegador.
- Navegue até o diretório
-
Adicionar o Prometheus como fonte de dados no Grafana:
- Faça login no Grafana (usuário:
admin
, senha padrão:Api2024
).
- Faça login no Grafana (usuário:
Para simplificar a execução dos serviços, foi criado um arquivo .bat
que inicia tanto o Prometheus quanto o Grafana.
@echo off
echo Starting Prometheus...
start "" "C:\caminho\para\prometheus\prometheus.exe" --config.file="C:\caminho\para\prometheus\prometheus.yml" --web.listen-address=:9091
echo Starting Grafana...
start "" "C:\caminho\para\grafana\bin\grafana-server.exe" --homepath "C:\caminho\para\grafana"
echo All services started. Press any key to exit...
pause
- URL:
http://localhost:3001
- URL:
http://localhost:9091
- URL:
http://localhost:9090/actuator/prometheus