[英]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.