Tidb 如何为grafana 配置http_proxy 以及https_proxy

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】 V4.0

【问题描述】
我们的TIDB集群是在内网,如果我想使用grafana的报警功能,需要配置webhook,但是现在需要配置http_proxy或者https_proxy才能把报警信息发到外网,请问在tidb 的grafana 如何配置?

如果正常安装grafana,则在/etc/default/grafana-server 可以添加http_proxy

https://stackoverflow.com/questions/41069748/grafana-datasources-connection-using-proxy


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

2 个赞

stackoverflow 答案并不适合你,你可以看下 tiup 部署的 grafana 的 systemd service unit 配置文件,并没有指定 EnvironmentFile=/etc/default/grafana-server

你可以在内网搭一个代理(比如nginx),让 grafana 通过这个代理去访问外面的 webhook

因为这个代理是你自己部署的,可以灵活的配置 http proxy ,正常访问 webhook 地址


Grafana Github 有一个关于 http proxy 的讨论
不过我觉得在配置报警通道的时候,再给用户一个 http proxy 的配置项 是很方便的

我已经搭建了squid代理,现在问题是,我在哪里配置告诉grafana 这个http_proxy?

在 Grafana Web GUI 配置报警通道的时候,不要写真正的 webhook 地址,写一个内网的 Nginx 代理
这个 Nginx 机器上,配置 http proxy 去访问 webhook

Grafana 可以访问内网的 Nginx,内网的 Nginx 可以访问 webhook,多了一道转发

2 个赞

因为我不知道你具体的网络拓扑,你理解我的意思就可以了,部署细节还得你来定

1 个赞

懂你的意思了,感谢!!!~~~
不过要是tidb 的grafana可以和原生的grafana一样的配置,就更方便了

确实,tiup 在提供便利的同时,损失了一些灵活性。你遇到的这个问题,tiup 如果修改一下 /etc/systemd/system/grafana-3000.service 的 [Service] 配置,加一条 EnvironmentFile=/etc/default/grafana-server 你就可以管理这个 /etc/default/grafana-server 文件来控制环境变量了

可以去吐槽 还有积分拿,有能力就直接 Github 提 PR :wink:

1 个赞

我好像解决了这个问题,就是在 /tidb-deploy/grafana/scripts/run_grafana.sh里面export 一下http_proxy 和https_proxy

1 个赞

也可以,只是下次tiup会覆盖掉这些文件

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。