如何配置 Loki 以接受带有子路径的请求?

Posted

技术标签:

【中文标题】如何配置 Loki 以接受带有子路径的请求?【英文标题】:How to configure Loki to accept requests with subpath? 【发布时间】:2020-10-15 21:47:38 【问题描述】:

我想用以下格式的地址与我的 Loki 实例通话:

http://my.domain.com/monitoring/loki/

但我找不到正确的配置位置。

我假设 Loki 基于 Prometheus,并且我可以使用像 --web.external-url 这样的标志。但似乎情况并非如此,因为我已经使用docker run grafana/loki --help 检查了所有可用的标志。

是我遗漏了什么,还是我必须在 Loki 和世界其他地方之间添加一个反向代理?

【问题讨论】:

【参考方案1】:

以防万一有人需要它并来到这篇文章,您可以使用-server.path-prefix=/loki 来处理这种情况。

所有的 api 路径都将由该路径提供服务。

【讨论】:

【参考方案2】:

不可能。使用 nginx

尽管 Loki 基于 Prometheus,但目前无法让 Loki 在子路径上侦听。

【讨论】:

“使用 Nginx”到底是什么意思?您是否设法在 my.domain.com/monitoring/loki 路径的反向代理后面运行 Loki 服务? 是的,我就是这样做/做到的(我不在生产中使用 Loki) 好的,这给了我希望:)谢谢 你还记得你是怎么做到的吗?除了 loki 配置之外还需要什么:``` 服务器:http_listen_address:localhost http_listen_port:3100 ``` 和 Nginx 虚拟主机包括:``` location /loki/ proxy_pass localhost:3100; ``` ? 实际上,这就是我们所需要的。 loki 服务运行正常,当我访问 /loki/metrics 时,我可以在浏览器上看到指标。但是,当我转到 /loki 时,我得到了 404(由 Loki,而不是 Nginx)。由于服务已启动,因此这是目前可接受的解决方案。正如你所说,我找不到 Loki 的任何“外部 url”设置,类似于 Prometheus。

以上是关于如何配置 Loki 以接受带有子路径的请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 WebSocket 服务器以接受安全连接请求

如何配置 IIS 7.5 以使用“POST”方法接受对 .json 文件的请求

在 C# WebAPI 中,如何配置 CORS 以允许带有凭据和 json 内容的 POST 请求?

如何配置 Spring Boot 应用程序以接受未知的 SSL 客户端证书?

如何解决类中分配端点上的错误请求?

如何以Qt子窗口的形式显示点云视窗