如何通过Grafana变量将时间范围嵌入ElasticSearch日志链接?
如何在Grafana链接中传递当前时间范围到Elasticsearch Discover?
问题描述:
我正在为Grafana面板或数据添加Data Link(数据链接)或Panel Link(面板链接),希望链接指向ElasticSearch日志,且包含Grafana仪表板当前的时间范围。以下是Elastic链接示例,其中time部分为关键内容:
https://myhostname.com/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=
解决方法
直接用Grafana的内置时间变量替换链接里的time参数部分即可,具体操作如下:
- 使用格式化后的时间变量:Grafana的
$__from和$__to对应当前面板的起止时间,需要转成Elastic能识别的ISO格式,所以用$__from:iso和$__to:iso,记得给这两个值加单引号,避免解析错误。 - 替换链接中的time段:把示例里的
time:(from:now-1h,to:now)替换为:time:(from:'$__from:iso',to:'$__to:iso') - 最终完整链接:
https://myhostname.com/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:'$__from:iso',to:'$__to:iso'))&_a=
补充说明
- 若你的Grafana版本较旧,
$__from:iso无法使用,可替换为$__from_date和$__to_date,同样需要加单引号。 - 如果用户选择的是相对时间范围(比如“最近1小时”),也可以用
$__range变量,但传递绝对时间范围通常更靠谱,能避免两边相对时间计算不一致的问题。
内容的提问来源于stack exchange,提问作者Jake Toronto
相关产品推荐
相关产品推荐

