1
resposta

[Dúvida] Prometheus carrega e depois cai

Olá.

Atualmente possuo um projeto que possui um container docker com o prometheus atribuído.

Eu consigo carregar a aplicação e acessar a url pelo prometheus mas, logo em seguida, ele cai.

Como resolver?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Docker-compose:

version: '3.8'

services:
  rabbitmq:
    image: rabbitmq:3-management
    container_name: rabbitmq
    restart: always
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - rabbitmq_data:/var/lib/rabbitmq

  admin:
    image: slydeveloper/spring-boot-admin:latest
    volumes:
      - ./config/admin-application.yml:/application.yml
    ports:
      - "1111:1111"
    networks:
      - aw-network

  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./src/main/resources/prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus-data:/prometheus
    ports:
      - "9090:9090"
    networks:
      - aw-network

  nib:
    image: openjdk:17-jdk
    container_name: nib
    ports:
      - "8081:8081"
    networks:
      - aw-network

volumes:
  prometheus-data:
  rabbitmq_data:

networks:
  aw-network:
    driver: bridge

prometheus.yml:

global:
  scrape_interval: 1m

scrape_configs:
  -   job_name: "api-challenge"
      metrics_path: "/actuator/prometheus"
      static_configs:
        - targets: ["nib-prometheus-1:8081"]
1 resposta

Olá, Maria!

Parece que o problema está relacionado à configuração do Prometheus para acessar o endpoint do serviço que você quer monitorar. A mensagem de erro "connection refused" sugere que o Prometheus não está conseguindo se conectar ao serviço no endereço especificado.

Vou deixar aqui algumas sugestões para resolver o problema:

  1. Verifique o Nome do Serviço: No arquivo prometheus.yml, você está usando nib-prometheus-1:8081. Certifique-se de que o nome do serviço está correto. No seu docker-compose, o serviço está nomeado como nib, então talvez você precise usar nib:8081.

  2. Portas e Endpoints: Certifique-se de que o serviço nib está realmente expondo a porta 8081 e que o caminho /actuator/prometheus está correto e acessível.

  3. Rede do Docker: Todos os serviços estão na mesma rede aw-network. Verifique se não há problemas de configuração na rede que possam estar bloqueando a comunicação.

  4. Logs do Container: Verifique os logs do container do Prometheus e do serviço nib para mais informações sobre possíveis erros.

  5. Firewall e Segurança: Certifique-se de que não há regras de firewall ou configurações de segurança que estejam bloqueando a conexão.

Experimente essas sugestões e veja se alguma delas resolve o problema. Bons estudos!