![](/img/trans.png)
[英]Mongodb Exporter doesn't Show the Metrics Using Docker and Prometheus
[英]can't collect docker metrics using prometheus
我想监控 Docker 引擎。 我正在关注“使用 Prometheus 收集 Docker 指标”来配置Docker 守护程序以获取稍后可以使用 Prometheus 收集和分析的 指标。
在我的 PC 上(操作系统版本是 CentOS 7.4,Docker 版本是 17.12.0.ce),我已将以下内容粘贴到/etc/docker/daemon.json
{
"metrics-addr" : "0.0.0.0:9323",
"experimental" : true
}
然后,启动 Prometheus 实例,发现 Prometheus 和 Docker daemon 连接失败。
错误日志
Get http://localhost:9323/metrics: dial tcp 127.0.0.1:9323: connect: connection refused
我接下来可以做什么?
关于你的问题
我接下来可以做什么?
更改/etc/docker/daemon.json
的配置后,需要
systemctl daemon-reload
systemctl restart docker
您可以在此之后检查端口 9323 是否处于LISTEN
状态
lsof -Pi TCP -a -c dockerd
正如你在评论中提到的那样
curl http://$(hostname):9323/metrics
在您的本地主机上正常工作,这表明您的网络存在问题。
由于 Prometheus 服务通常在其他地方运行,您可以检查是否有从远程机器到您的 Docker 主机的连接。 为此,您可以使用类似
root@prometheusHost:/# nc -vz dockerHost 9323
如果连接被拒绝,例如被防火墙拒绝,它会给你一个提示。
注意:
0.0.0.0
即本地机器上的所有 IP 地址
/etc/docker/daemon.json
{
"metrics-addr" : "0.0.0.0:9323",
"experimental" : true
}
9323
--permanently
$ sudo firewall-cmd --zone=public --permanent --add-port=9323/tcp
success
检查,记得列出--permanent
配置,否则不会显示
$ sudo firewall-cmd --zone=public --permanent --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client http https ssh
ports: 9323/tcp <= OPEN
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
$ sudo lsof -Pi TCP -a -c dockerd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dockerd-c 28157 root 14u IPv6 30732963 0t0 TCP *:9323 (LISTEN)
...
检查与localhost
连接
nc -vz localhost 9323
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:9323.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.
检查与主机 IP 的连接,例如 10.223.37.14
$ nc -vz 10.223.37.14 9323
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.223.37.14:9323.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.
curl
检查指标访问curl http://localhost:9323/metrics
或使用另一台机器的 IP
curl http://10.223.37.14:9323/metrics
如果端口未打开,您将收到拒绝连接
curl http://10.223.37.14:9323/metrics
curl: (7) Failed to connect to 10.223.37.14 port 9323: Connection refused
但是一旦打开,您将能够看到指标
$ curl http://10.223.37.14:9323/metrics
# HELP engine_daemon_container_actions_seconds The number of seconds it takes to process each container action
# TYPE engine_daemon_container_actions_seconds histogram
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.005"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.01"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.025"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.05"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.1"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.25"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="0.5"} 1
engine_daemon_container_actions_seconds_bucket{action="changes",le="1"} 1
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.