如何更改Prometheus监控的cadvisor和node-exporter中的端口号

问题描述 投票:0回答:2

下面是当我点击目标时 Prometheus URL 中的显示。

cadvisor(0/1 向上)和节点导出器(0/1 向上)显示在 Prometheus URL 中

这是我的 filename.yml 文件

version: '3.2'

services:

  prometheus:
       image: prom/prometheus:latest
#       container_name: monitoring_prometheus
       command:
         - '--config.file=/etc/prometheus/prometheus.yml'
         - '--storage.tsdb.path=/prometheus'
         - '--web.console.libraries=/usr/share/prometheus/console_libraries'
         - '--web.console.templates=/usr/share/prometheus/consoles'
       volumes:
         - /Prometheus/alert.rules:/etc/prometheus/alert.rules
         - /Prometheus/container.yml:/etc/prometheus/container.yml
         - /Prometheus/diskusage.yml:/etc/prometheus/diskusage.yml
         - ./prometheus.yml:/etc/prometheus/prometheus.yml
       ports:
         - 9090:9090

  node-exporter:       
       image: prom/node-exporter:latest
#       container_name: monitoring_node_exporter       
       volumes:       
         - /proc:/host/proc:ro       
         - /sys:/host/sys:ro       
         - /:/rootfs:ro       
       ports:
         - 9091:9091
       command:       
         - '--path.procfs=/host/proc'       
         - '--path.sysfs=/host/sys'       
         - '--path.rootfs=/host'       
         - '--collector.filesystem.ignored-mount-points="^(/rootfs|/host|)/(sys|proc|dev|host|etc)($$|/)"'       
         - '--collector.filesystem.ignored-fs-types="^(sys|proc|auto|cgroup|devpts|ns|au|fuse\.lxc|mqueue)(fs|)$$"'       


  cadvisor:
       image: google/cadvisor:latest
#       container_name: monitoring_cadvisor
       ports:
         - 9092:9092
       volumes:
         - /:/rootfs:ro
         - /var/run:/var/run:rw
         - /sys:/sys:ro
         - /var/lib/docker/:/var/lib/docker:ro


  grafana:
       image: grafana/grafana:latest
#       image: grafana-custom:latest
#       container_name: monitoring_grafana   
       volumes:
         - grafana-data:/var/lib/grafana
#         - ./data/grafana:/var/lib/grafana
#         - ./grafana/provisioning:/etc/grafana/provisioning
#         - ./defaults.ini:/usr/share/grafana/conf/defaults.ini
       ports:
         - 3000:3000
       environment:
         - "GF_SMTP_ENABLED=true" 
         - "GF_SMTP_HOST=smtp.gmail.com:465" 
         - "[email protected]" 
         - "GF_SMTP_PASSWORD=xxxxxx" 

  alertmanager:
       image: prom/alertmanager
#        privileged: true
       volumes:
         - ./alertmanager.yml:/alertmanager.yml
       command:
         - '--config.file=/alertmanager.yml'
       ports:
         - '9093:9093'
 
  karma-alert-dashboard:
#       image: cloudflare/unsee
       image: lmierzwa/karma:latest
       environment:
#         - "ALERTMANAGER_URIS=default:http://alertmanager:9093"
         - "ALERTMANAGER_URI=http://alertmanager:9093"
       ports:
         - '9094:9094'


volumes:
  grafana-data:

我通过 docker stack -c filename.yml 测试部署了 5 个 docker 服务,所有服务和 docker 容器都已启动。

前 3 个连接在一起并且工作正常

Grafana      =  http://SERVERIP:3000/ - 3000  
Prometheus   =  http://SERVERIP:9090/ - 9090  
AlertManager =  http://SERVERIP:9093/ - 9093  

最后 3 个没有连接在一起,并且由于 docker 容器和 docker 服务中的端口问题而无法正常工作

Karma        =  http://SERVERIP:9094/ - 8080  
Node Exporter=  http://SERVERIP:9100/ - 9100  
CAdvisor     =  http://SERVERIP:8080/ - 8080

这是截图:

当我检查端口号 3 服务在终端中显示不同,但在我的 filename.yml 中一切都是正确的时,任何人都可以让我知道问题是什么以及我错在哪里

当我检查3个docker容器的日志时

  1. docker 日志 cadvisor
Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directory
  1. 节点导出器未显示任何日志。
  2. 这是 lmierzwa/karma 的日志
level=info msg="Version: v0.86-83-gf5e5269f"
level=info msg="Configured Alertmanager source" name=default proxy=false readonly=false uri=http://alertmanager:9093
level=info msg="Initial Alertmanager collection"
level=info msg="Pulling latest alerts and silences from Alertmanager"
level=info msg="Collecting alerts and silences" alertmanager=default
level=info msg="GET request" timeout=40 uri=http://alertmanager:9093/metrics
level=info msg="Upstream version" alertmanager=default version=0.22.2
level=info msg="Got silences" alertmanager=default duration=0.000204419 silences=0
level=info msg="Detecting ticket links in silences" alertmanager=default silences=0
level=info msg="Collected alert groups" alertmanager=default duration=0.000201856 groups=0
level=info msg="Deduplicating alert groups" alertmanager=default groups=0
level=info msg="Processing deduplicated alert groups" alertmanager=default groups=0
level=info msg="Merging autocomplete hints" alertmanager=default hints=0
level=info msg="Collection completed"
level=info msg="Done, starting HTTP server"
level=info msg="Starting HTTP server" address=[::]:8080
level=info msg="Pulling latest alerts and silences from Alertmanager"
level=info msg="Collecting alerts and silences" alertmanager=default
level=info msg="GET request" timeout=40 uri=http://alertmanager:9093/metrics
level=info msg="Upstream version" alertmanager=default version=0.22.2
level=info msg="Got silences" alertmanager=default duration=0.000155633 silences=0
docker prometheus prometheus-alertmanager prometheus-operator prometheus-node-exporter
2个回答
5
投票

要更改端口号,这是 cadvisor 和节点导出器的示例

version: '3.2'

services:
  cadvisor:
    image: google/cadvisor:latest
    ports:
    - 9092:9092
  ...
    command:
    - '-port=9092'
    ...
  
  node-exporter:       
   image: prom/node-exporter:latest      
   ...
   ports:
   - 9091:9091
   command:
     # To specify port in node-exporter colon is required
     - '--web.listen-address=:9091'             
     ...

0
投票

在您的 docker 配置文件中,您没有在这三个服务上映射正确的端口:

  • 节点导出器
  • 顾问
  • 业力警报仪表板

您需要映射这些 docker 镜像公开的端口。
例如,对于 node_exporter,如果您想在虚拟机的端口

9091
上访问它,您将看到如下内容:

       ports:
         - 9091:9100 # node_exporter works on port 9100 by default

如果你想知道这些镜像暴露了哪些端口,你可以查看每个项目的 github 文档或做一个

docker image inspect your_image

© www.soinside.com 2019 - 2024. All rights reserved.