首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在grafana loki查询(LogQL)中使用变量

在grafana loki查询(LogQL)中使用变量
EN

Stack Overflow用户
提问于 2021-11-08 16:21:25
回答 1查看 2K关注 0票数 2

我成功地在服务器上安装了Loki,在我的数据中心的多台主机上安装了Promtail。每个主机运行不同数量的tomcats,如tomcat10、tomcat11...tomcat20。

因此,我的工作会得到一个带有主机名的标签,而__path__类似于work/java/tomcat*/logs*

现在,我在Postgre上添加了与这些猫相关的不同名称,以及主机及其名称。

但是,我很难用Grafana上的LogQL查询来访问这些变量。例如,我在Grafana中定义了以下变量,名为varHost

select server __value, server __text from loki_promtail.servers order by id ASC

假设我想访问土星主机上的每一个日志。使用{job="saturn"}很容易,但是我想使用${varHost}来代替土星(它是主机的名称),这样同一个面板可以显示多个主机信息。

同样,让我们假设我正在尝试访问/work/java/tomcat10/logs/catalina.out。我希望能够将varApp连接到LogQL查询中,因此,与{filename="/work/java/tomcat10/logs/catalina.out"}不同,我希望使用regex {filename=~"/work/java/tomcat${varApp}/logs/catalina.out"}来实现类似{filename="/work/java/tomcat${varApp}/logs/catalina.out"}的操作,但在Grafana中的${varApp}中选择all时失败。

我怎样才能做到这一点?

谢谢你提前了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-09 00:25:17

使用以下LogQL选择文件名:

代码语言:javascript
复制
{filename=~"/work/java/tomcat(${varApp:pipe})/logs/catalina.out"}

例如,“:管道”修饰符将将"$varApp“更改为10\11\20。

更多信息在Grafana文档这里中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69886700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档