nginx 设置promethues和grafana的反向代理
在配置完promethues,和grafana之后,可能需要上生产环境,这个时候如果有下面两种情况,那么就可能需要用到代理;
- 端口只开发80,或者8080等特别的几个端口,端口数量有限;
- 不希望暴露给外部端口号,使用子路经来区分;eg: http://{ip}/prometheus,http://{ip}/grafana
nginx 配置,监听server的端口为80,然后通过子路径在内部反向代理出去:
1 | server { |
alertmanager很大的情况等同与prometheus,可以等同配置。
设置promethues的代理,子路径
接下来需要的是将prometheus和grafana在启动或者配置文件中做一些更改,prometheus的相对来说比较简单,主要实在启动的时候根据命令行的参数来进行子路径设置。
在启动的时候设置web.external-url
使用下面的命令:
1 | ./prometheus --web.external-url=promethues |
结果如图:
还可以使用./promethues --help
获取更多的命令行参数,alertmanager同样也适用。
设置grafana的代理,子路径
grafana的代理需要在default.ini
中配置root_url:root_url = %(protocol)s://%(domain)s:/grafana
之后再重启就可以了。记住,再nginx中,proxy_pass 不要带上后缀。添加反向代理后,如果访问使用http://localhost:3000/grafana
或者http://localhost:3000
页面会显示不全。但是使用nginx代理后的路径:http://localhost/grafana
就可以看到全页面了。