Speedtest 在 Prometheus 中被发现
Speedtest is found down in Prometheus
我使用了这个 docker-compose(有点基本),但是在配置和构建它之后,我在输入 http://[server-ip]:9090/targets
信息后得到:
speedtest (0/1 up)
Error: Get "http://speedtest:9798/metrics": dial tcp: lookup speedtest on 127.0.0.11:53: no such host
我知道它找不到那个主机,只是配置本身没有被触及,它对我来说实际上看起来是合法的:
docker-撰写
service:
speedtest:
tty: true
stdin_open: true
expose:
- 9798
ports:
- 9798:9798
image: miguelndecarvalho/speedtest-exporter
restart: always
networks:
- back-tier
prometheus.yml
- job_name: 'speedtest'
metrics_path: /metrics
scrape_interval: 5m
scrape_timeout: 60s # running speedtest needs time to complete
static_configs:
- targets: ['speedtest:9798']
有人能发现问题吗?如何在本地 DNS 服务器上找不到速度测试?什么都暴露了,还没有找到合适的东西。
#Edit 我的 DNS 服务器由 dnsmasq
配置
如果 Prometheus 绑定到主机的网络并且您也尝试访问主机网络上的 speedtest
,那么您应该将 speedtest
引用为 localhost
不 speedtest
:
static_configs:
- targets: ['localhost:9798']
NOTE Docker (Compose) only provides DNS resolution for e.g. services (i.e. speedtest
) within the process. If you were to run Prometheus within the Docker Compose services too, then you'd be able to use Docker (Compose) DNS resolution to resolve speedtest
to the container on port 9798
.
我使用了这个 docker-compose(有点基本),但是在配置和构建它之后,我在输入 http://[server-ip]:9090/targets
信息后得到:
speedtest (0/1 up)
Error: Get "http://speedtest:9798/metrics": dial tcp: lookup speedtest on 127.0.0.11:53: no such host
我知道它找不到那个主机,只是配置本身没有被触及,它对我来说实际上看起来是合法的: docker-撰写
service:
speedtest:
tty: true
stdin_open: true
expose:
- 9798
ports:
- 9798:9798
image: miguelndecarvalho/speedtest-exporter
restart: always
networks:
- back-tier
prometheus.yml
- job_name: 'speedtest'
metrics_path: /metrics
scrape_interval: 5m
scrape_timeout: 60s # running speedtest needs time to complete
static_configs:
- targets: ['speedtest:9798']
有人能发现问题吗?如何在本地 DNS 服务器上找不到速度测试?什么都暴露了,还没有找到合适的东西。
#Edit 我的 DNS 服务器由 dnsmasq
如果 Prometheus 绑定到主机的网络并且您也尝试访问主机网络上的 speedtest
,那么您应该将 speedtest
引用为 localhost
不 speedtest
:
static_configs:
- targets: ['localhost:9798']
NOTE Docker (Compose) only provides DNS resolution for e.g. services (i.e.
speedtest
) within the process. If you were to run Prometheus within the Docker Compose services too, then you'd be able to use Docker (Compose) DNS resolution to resolvespeedtest
to the container on port9798
.