使用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-
广告
将在 10 秒后关闭
bannerAds