[英]Grafana/Loki: How to use multi-select template variable with LogQL?
[英]Use variables on grafana loki queries (LogQL)
我已经成功地在服务器上安装了 Loki,并在我的数据中心的多个主机上安装了 Promtail。 每个主机运行不同数量的 tomcat,例如 tomcat10、tomcat11...tomcat20。
所以在 promtail 上,我的工作得到了一个带有主机名的标签, __path__
类似于work/java/tomcat*/logs*
。
现在我在 Postgre 上添加与这些 tomcat 相关的不同应用程序名称,以及主机及其名称。
但是我正在努力使用 Grafana 上的 LogQL 查询来访问这些变量。 例如,我在 Grafana 中定义了以下名为varHost 的变量
select server __value, server __text from loki_promtail.servers order by id ASC
假设我想访问 Host Saturn上的每个日志。 使用{job="saturn"}
很容易,但我想使用 ${varHost} 代替 Saturn(主机名),这样同一个面板可以显示多个主机信息。
同样,假设我正在尝试访问/work/java/tomcat10/logs/catalina.out
。 我希望能够在 LogQL 查询中连接 varApp,所以,而不是{filename="/work/java/tomcat10/logs/catalina.out"}
我想要类似{filename="/work/java/tomcat${varApp}/logs/catalina.out"}
,我正在使用正则表达式{filename=~"/work/java/tomcat${varApp}/logs/catalina.out"}
但在选择时失败全部在 Grafana 的 ${varApp} 中。
我怎么能做到这一点?
谢谢你提前!
使用以下 LogQL 选择文件名:
{filename=~"/work/java/tomcat(${varApp:pipe})/logs/catalina.out"}
例如,":pipe" 修饰符会将 "$varApp" 更改为 10|11|20。
此处的 Grafana 文档中的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.