Prometheus(通过Docker) - 反向代理(通过Apache)重定向问题

时间:2018-04-13 06:56:26

标签: linux apache docker reverse-proxy prometheus

环境
操作系统:Redhat 7
ReverseProxy:Apache(仅) 通过以下方式部署:Docker

=============================================== =========================

问题:
是否可以在Apache反向代理中进行更改,以便我可以通过
访问prometheus控制台 " http://myserverurl/prometheus" - > " http://myserverurl/prometheus/graph"

而不是目前的失败 " http://myserverurl/prometheus" - > " http://myserverurl/graph" (FAIL)

反向代理后,URL被重定向,/ promethus消失。

在Grafana设置中,我能够添加如

之类的选项

(#docker run -d -p 3000:3000 --name = grafana -e" GF_SERVER_ROOT_URL = http://0.0.0.0/grafana" grafana / grafana)

允许我通过
访问Grafana控制台 " http://myserverurl/grafana" - > " http://myserverurl/grafana/login" (成功)

=============================================== =========================

Docker状态:
docker run -d --name prometheus -p 9090:9090 prom / prometheus
Prometheus docker status

对代理通过的测试配置:(无效)
ProxyPass / prometheus http://0.0.0.0:9090/prometheus
ProxyPassReverse / prometheus http://0.0.0.0:9090/prometheus

动作:
试图访问" http://myserverurl/prometheus"

结果失败:
找不到404页面

=============================================== =========================

但是,如果我按以下方式更改配置,则可以正常工作:
ProxyPass / http://0.0.0.0:9090/
ProxyPassReverse / http://0.0.0.0:9090/

访问网址" http://myserverurl/" - > " http://myserverurl/graph"

结果成功:
enter image description here ================================================== ======================
也尝试了以下组合 - 不起作用:
ProxyPass / promethus / http://0.0.0.0:9090/
ProxyPassReverse / promethus / http://0.0.0.0:9090/

1 个答案:

答案 0 :(得分:0)

为了让Prometheus本身侦听/ prometheus而不是/,您需要添加运行时参数:

-web。 route-prefix =“ prometheus”

-web。 external-url =“ http:// myserverurl / prometheus”

(至少在二进制prometheus-2.7中)

普罗米修斯的调用:

prometheus --web.listen-address="127.0.0.1:9090" --web.route-prefix="prometheus" --web.external-url="http://myserverurl/prometheus"

,并添加对称的Apache rev-proxy:

ProxyPreserveHost On
ProxyRequests Off

ProxyPass        /prometheus http://127.0.0.1:9090/prometheus
ProxyPassReverse /prometheus http://127.0.0.1:9090/prometheus