Prometheus targets dont displayed [cadvisor, node application]

994 Views Asked by At

i should see tree targets in my prometheus dashboard, one from prometheus itself, which works, and one from my self created node.js application called chat-api, and one from cadvisor. for cadvisor i get following error, when i run docker-compose up:

cadvisor      | W0419 22:12:08.195849       1 sysinfo.go:203] Nodes topology is not available, providing CPU topology
cadvisor      | W0419 22:12:08.196364       1 sysfs.go:348] unable to read /sys/devices/system/cpu/cpu0/online: open /sys/devices/system/cpu/cpu0/online: no such file or directory
cadvisor      | E0419 22:12:08.200398       1 info.go:114] Failed to get system UUID: open /etc/machine-id: no such file or directory

i changed the parameters in my docker-compose file but it dont change anything. im a beginner in docker.

docker-compose.yml:

version : '3.7'
services:
  chat-api:
    container_name: chat-api
    build:
      context: .
      dockerfile: ./Dockerfile 
    ports: 
      - '4000:4000'
    networks:
      - cchat
    restart: 'on-failure'
  userdb:
    image: mongo:latest 
    container_name: mongodb
    volumes:
      - userdb:/data/db
    networks:
      - cchat 
  cadvisor:
    image: gcr.io/cadvisor/cadvisor
    container_name: cadvisor
    privileged: true
    restart: always 
    volumes:     
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker:/var/lib/docker:ro
    devices:
      - /dev/kmsg:/dev/kmsg
    depends_on:
      - chat-api
    networks:
      - cchat 
  prometheus: 
    image: prom/prometheus:latest
    container_name: prometheus 
    restart: always 
    volumes: 
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - prometheus-data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    ports:
      - '9090:9090'
    depends_on:
      - chat-api
    networks:
      - cchat    
volumes:
  userdb:
  prometheus-data:
networks:
  cchat:  

prometheus.yml:

global: 
  scrape-interval: 5s 

scrape_configs:
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']
  - job_name: 'chat-api'
    static_configs:
      - targets: ['chat-api:4000']

Dockerfile:

FROM node:alpine
WORKDIR .
COPY package*.json ./
RUN npm install 
COPY . .
EXPOSE 4000
CMD ["node", "server.js"]

chat-api is a node application with express

my folder structure:

structure

0

There are 0 best solutions below