三网监控VPS延迟部署方案
结构
- 使用第三方 Zstatic CDN 提供的国内PING节点。
- 使用官方的 blackbox_exporter 实现TCP PING延迟探测。
- 使用Prometheus进行定时的数据进行数据收集和存储。
- 使用Grafana进行数据的可视化。
- 全部服务用Docker-compose进行打包。
实现流程
注意Prometheus不能暴露到公网,仅Grafana暴露对应端口到公网,这里Grafana仍然只暴露到本地,使用nginx进行转发。首先新建一个文件夹,写入docker-compose.yml
,文件中涉及的服务配置文件路径需要自行进行自定义。
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
restart: unless-stopped
grafana:
image: grafana/grafana
container_name: grafana
restart: unless-stopped
ports:
- '127.0.0.1:3000:3000'
volumes:
- grafana-storage:/var/lib/grafana
blackbox_exporter:
image: quay.io/prometheus/blackbox-exporter:latest
container_name: blackbox_exporter
volumes:
- /opt/blackbox/config:/config
command:
- '--config.file=/config/blackbox.yml'
restart: unless-stopped
volumes:
prometheus-data:
grafana-storage:
然后我们需要配置blackbox, 使用TCP PING连接端点:
modules:
tcp_connect:
prober: tcp
timeout: 5s
tcp:
preferred_ip_protocol: "ip4"
在Prometheus中,我们需要采集blackbox暴露的数据,这里的Target需要从第三方中选择适合自己的:
scrape_configs:
- job_name: 'tcp_ping'
metrics_path: /probe
scrape_interval: 30s
params:
module: [tcp_connect]
static_configs:
- targets:
- exmaple.com:80
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox_exporter:9115
最后在Grafana中配置对应的Dashboard即可。
具体效果
商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。