Grafana中如何为Elasticsearch数据源的时间序列面板配置字段选择变量
Grafana中如何为Elasticsearch数据源的时间序列面板配置字段选择变量
我完全懂你的需求——就是想让仪表盘用户能通过一个下拉变量,自主选择要在时间序列图里展示的单个字段对吧?之前你尝试用字段覆盖但发现没法直接填变量,别着急,我给你说个靠谱的实现步骤:
第一步:创建字段选择变量
- 打开仪表盘右上角的齿轮图标进入「设置」面板,切换到「变量」标签页,点击「添加变量」按钮
- 变量类型选择「字段」,数据源选你正在使用的Elasticsearch实例,索引模式对应到你的ES索引
- 在「字段过滤」区域,你可以设置规则只保留想要让用户选择的字段(比如排除
@timestamp这类时间字段,避免用户误选) - 变量名称建议设得直观些,比如
selected_field,然后在「选项」里设置为单选(符合你只显示单个字段的需求),最后点击「保存变量」
第二步:通过转换过滤显示字段
- 回到你的时间序列面板编辑界面,切换到「转换」标签页
- 除了你已经添加的「Organize Fields」转换,再点击「添加转换」,选择「Filter fields by name」
- 在这个转换的配置项里,「匹配类型」选择「精确匹配」,然后在「字段名称」输入框里填入
${selected_field}(就是你刚才创建的变量名) - 保存面板配置后,回到仪表盘视图,你就能看到顶部的下拉变量了——选择不同的字段,图表就会自动只展示选中的字段
为什么之前的覆盖方法行不通?
因为Grafana的字段覆盖功能里,「Field with Name」输入框目前不支持直接引用变量,而用「Filter fields by name」转换的方式,是直接基于变量对返回的字段进行过滤,完全适配你的需求。
备注:内容来源于stack exchange,提问作者Hasti
相关产品推荐
相关产品推荐

