如何在Kibana中可视化API响应的缓存命中与未命中?
在Kibana中分别展示缓存命中与未命中数据的方法
针对你遇到的两个Y轴图形完全相同的问题,核心原因是两个指标未区分缓存状态的数据源,以下是具体解决步骤:
1. 先提取缓存状态字段(关键前提)
如果你的日志还没有把"USING CACHE"/"NO HIT"提取为独立字段,需要先创建脚本字段:
- 进入Stack Management > Index Patterns,找到你的日志对应的索引模式
- 点击脚本字段标签,添加新字段:
- 字段名:
cache_status - 脚本内容:
doc['message'].value.contains('USING CACHE') ? '命中' : (doc['message'].value.contains('NO HIT') ? '未命中' : '其他') - 字段类型选择字符串,保存即可
- 字段名:
2. 调整可视化配置(以折线/柱状图为例)
方法一:给每个Y轴指标单独加过滤器
- 打开你的可视化图表,切换到数据标签页
- 添加第一个指标:选择计数,然后在该指标的过滤器中添加条件:
cache_status: 命中 - 添加第二个指标:同样选择计数,过滤器条件改为:
cache_status: 未命中 - 此时两个Y轴会分别对应命中和未命中的计数,图形不再重合
方法二:用「拆分系列」自动区分(更高效)
- 指标部分只保留一个计数指标
- 在拆分系列区域,选择
Terms类型,字段选择刚创建的cache_status - Kibana会自动将命中、未命中的数据拆分为两条折线(或两组柱子),无需手动维护多个指标
3. X轴的调整建议
X轴通常选择时间字段(比如@timestamp),根据你的需求设置时间间隔(如分钟、小时),这样可以直观看到不同时间段的缓存命中/未命中趋势,不需要额外特殊调整,确保选择的时间范围覆盖你要分析的日志即可
内容的提问来源于stack exchange,提问作者Jerry
相关产品推荐
相关产品推荐

