我正在尝试创建一个AWS仪表板可视化,以显示一段时间内缓存命中与未命中的计数。为此,我要设置一个log
类型的仪表板,并在日志上添加见解查询。为了尽可能简单,我的日志是:
{"cache.hit", true}
或{"cache.hit", false}
。
我希望仪表板在同一个图形上跟踪这两种可能性,但似乎我不能不将我的日志分成这些值的不同行。例如,如果我的日志很简单:
{"cache.hit.true", true}
或{"cache.hit.false", true}
,然后我可以创建2个单独的图形来在仪表板中独立跟踪这些值,但这并不干净。
为了使它们破折号,我已经尝试过,但是它所做的只是显示两个字段,并且两个显示字段的值相同,但绝对不应该这样:
fields @timestamp, @message, cache.hit as cache_hits
| filter cache_hits IN [0, 1]
| display cache_hits = 0 as in_cache_false
| display cache_hits = 1 as in_cache_true
| stat count (in_cache_true), count(in_cache_false) by bin(30s)
| sort @timestamp desc
| limit 20
答案 0 :(得分:1)
下面的此查询提取缓存命中和缓存未命中,然后计算出缓存命中百分比。
fields @timestamp, @message
| filter @message like /cache.hit/
| fields strcontains(@message, "true") as @CacheHit,
strcontains(@message, "false") as @CacheMiss
| stats sum(@CacheHit) as CacheHits, sum(@CacheMiss) as CacheMisses, sum(@CacheHit) / (sum(@CacheMiss) + sum(@CacheHit)) * 100 as HitPercentage by bin(30s)
| sort @timestamp desc