Kibana 7.10.2 为单个可视化自定义@timestamp为YY MMM dd ddd格式遇报错求助
Kibana 7.10.2 单可视化自定义时间格式实现与问题排查
报错核心根因
使用脚本字段搭配Date Histogram触发运行异常的本质原因:
- Kibana 7.10.2版本对Date Histogram聚合有强制类型校验:入参分桶字段必须是Elasticsearch索引映射中定义的原生
date类型 - 脚本字段是运行时派生的字符串类型字段,本身不支持时间窗口切片的聚合计算逻辑,传入分桶位置时会直接触发类型校验报错,该问题与脚本语法正确性无关
可行实现方案
以下方案均不会修改Kibana全局设置中的UTC时间格式规则,仅对目标可视化实例生效:
Date Histogram类可视化格式自定义
- 保持Date Histogram的分桶维度绑定原生
@timestamp字段,保障分桶计算逻辑正常 - 在Date Histogram配置面板中找到自定义日期格式输入框,直接填入格式串
YY MMM dd ddd - 该配置仅作用于当前可视化的分桶标签展示层,不影响其他页面、其他可视化的时间展示规则,可完全绕开脚本字段的类型兼容问题
非分桶类可视化格式自定义
如果场景为数据表格、明细视图类可视化中需要单独展示格式化后的时间值:
- 无需新建脚本字段,直接从字段选择面板选中原生
@timestamp字段 - 打开字段格式配置项,选择字符串格式器,在自定义格式规则中填入
YY MMM dd ddd,配置时选择仅应用于当前可视化实例,不要开启全局生效
报错排查方向
- 打开可视化请求详情面板,查看Elasticsearch返回的原始异常栈,如果提示
field type [text] is not supported for date_histogram aggregation,即可确认是脚本字段类型不匹配导致的报错,无需再调整脚本语法 - 所有涉及时间分桶的聚合操作,必须绑定原生date类型字段,脚本字段仅可在桶内指标计算、过滤条件场景下使用,不能承担分桶维度角色
注意:Kibana 7.10.2版本暂不支持灵活的运行时字段类型转换,不要尝试通过脚本强制输出date类型适配分桶逻辑,该类操作在该版本下稳定性不足
内容的提问来源于stack exchange,提问作者anthonws
相关产品推荐
相关产品推荐

