使用Docker运行的Prometheus通过使用Nginx在子目录中运行
总结
Prometheus是一款基于Go语言开发的拉取类型监控工具。我希望将多个不同的服务汇总到一个服务器上,并在子目录中运行Prometheus,也就是说我希望通过访问 https://exsample.com/prometheus/ 的方式来访问。另外,我希望在不弄乱环境的情况下在Docker上运行它。然而,由于缺乏可靠的中文信息,我将这些总结在一起。
将Prometheus在子目录中运行
关键的设置是”–web.external-url”和”–web.route-prefix”。在”–web.external-url”中,设置外部URL,即要在nginx端设置的URL。在”–web.route-prefix”中,设置prometheus端的前缀。
例如,将其配置在docker-compose.yml中,如下所示。
version: '2'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./data:/prometheus/data
ports:
- 3002:9090
command: >
--config.file=/etc/prometheus/prometheus.yml
--storage.tsdb.path=/prometheus/data
--web.console.libraries=/etc/prometheus/console_libraries
--web.console.templates=/etc/prometheus/consoles
--web.external-url http://localhost:9090/prometheus/
--web.route-prefix=/
如果想要通过 exsample.com/prometheus/ 进行访问,则可以按照以下示例进行nginx的配置。
server_name exsample.com;
# 中略
location /prometheus/ {
proxy_pass http://localhost:3002/;
}
只需要一种选项:这将使来自”https://example.com/prometheus/”的访问正常重定向到”http://localhost:3002/”。
请提供下面的中文翻译。
- Reliable Insights -External URLs and path prefixes-