[英]Prometheus Nodeexporter Not Accessible on Port 9100 using docker-compose
我使用 Docker Compose(如下所示的 docker-compose.yml)在同一個 Ubuntu 18.04 系統上啟動了 Prometheus、Grafana 和 Nodeexporter。
問題:我無法通過http://<ip.address>:9100/metrics
訪問 Nodeexporter,而可以通過http://<ip.address>:9090
和http://<ip.address>:3000
訪問 Promethus 和 Grafana http://<ip.address>:3000
分別。
nodeexporter
的 docker 日志顯示它正在偵聽端口 9100,但lsof
沒有顯示。
為什么nodeexporter
不能監聽9100端口?
docker logs nodeexporter
的輸出
time="2020-01-21T16:38:07Z" level=info msg="Starting node_exporter (version=0.18.1, branch=HEAD, revision=3db77732e925c08f675d7404a8c46466b2ece83e)" source="node_exporter.go:156"
time="2020-01-21T16:38:07Z" level=info msg="Build context (go=go1.12.5, user=root@b50852a1acba, date=20190604-16:41:18)" source="node_exporter.go:157"
time="2020-01-21T16:38:07Z" level=info msg="Enabled collectors:" source="node_exporter.go:97"
time="2020-01-21T16:38:07Z" level=info msg=" - arp" source="node_exporter.go:104"
...
time="2020-01-21T16:38:07Z" level=info msg=" - xfs" source="node_exporter.go:104"
time="2020-01-21T16:38:07Z" level=info msg=" - zfs" source="node_exporter.go:104"
time="2020-01-21T16:38:07Z" level=info msg="Listening on :9100" source="node_exporter.go:170"
lsof -i:3000,9100,9090
的輸出
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 22163 root 4u IPv6 3751831 0t0 TCP *:9090 (LISTEN)
docker-pr 22202 root 4u IPv6 3751884 0t0 TCP *:3000 (LISTEN)
curl localhost:9100
的輸出
curl: (7) Failed to connect to localhost port 9100: Connection refused
docker-compose.yml
改編自https://github.com/stefanprodan/dockprom/blob/master/docker-compose.yml
version: '2.1'
networks:
monitor-net:
driver: bridge
default:
external:
name: ${NETWORK}
services:
prometheus:
image: prom/prometheus:v2.15.2
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
restart: unless-stopped
expose:
- 9090
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
nodeexporter:
image: prom/node-exporter:v0.18.1
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
expose:
- 9100
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
grafana:
image: grafana/grafana:6.5.3
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
environment:
GF_SECURITY_ADMIN_USER: ${ADMIN_USER:-admin}
GF_SECURITY_ADMIN_PASSWORD: ${ADMIN_PASSWORD:-admin}
GF_USERS_ALLOW_SIGN_UP: "false"
VIRTUAL_HOST: ${DOMAINS}
LETSENCRYPT_HOST: ${DOMAINS}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
restart: unless-stopped
expose:
- 3000
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
...
你忘了映射端口。
請參閱下面的ports
示例
root@d:~# lsof -i :3000,9100,9090
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 96795 root 4u IPv6 46823321 0t0 TCP *:jetdirect (LISTEN)
docker-pr 96829 root 4u IPv6 46831661 0t0 TCP *:websm (LISTEN)
docker-pr 96873 root 4u IPv6 46814051 0t0 TCP *:hbci (LISTEN)
version: '2.1'
networks:
monitor-net:
driver: bridge
default:
external:
name: aaa
services:
prometheus:
image: prom/prometheus:v2.15.2
ports: [ "9090:9090" ]
expose: [ "9090" ]
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
nodeexporter:
image: prom/node-exporter:v0.18.1
ports: [ "9100:9100" ]
expose: [ "9100" ]
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
grafana:
image: grafana/grafana:6.5.3
ports: [ "3000:3000" ]
expose: [ "3000" ]
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.