下面是当我点击目标时 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容器的日志时
Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directory
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
要更改端口号,这是 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'
...
在您的 docker 配置文件中,您没有在这三个服务上映射正确的端口:
您需要映射这些 docker 镜像公开的端口。
例如,对于 node_exporter,如果您想在虚拟机的端口
9091
上访问它,您将看到如下内容:
ports:
- 9091:9100 # node_exporter works on port 9100 by default
如果你想知道这些镜像暴露了哪些端口,你可以查看每个项目的 github 文档或做一个
docker image inspect your_image