Tom*_*all 2 amazon-web-services amazon-cloudwatchlogs aws-cloudwatch-log-insights
使用AWS CloudWatch Insights分析一些日志文件后,我可以使用以下方式绘制时间仓中汇总的计数:
| stats count(*) by bin(1h)
Run Code Online (Sandbox Code Playgroud)
如预期的那样,这将产生一个图表,汇总每个时间段中的所有日志。
我想通过一个值是A和B的“组”字段来拆分此数据。
| stats count(*) by group, bin(1h)
Run Code Online (Sandbox Code Playgroud)
这将按预期返回跨时间段的日志计数,但是可视化选项卡显示“无可用可视化”。我想返回一个时间序列图,其中A组为一个系列,B组为一个系列。
我在哪里出错,或者这根本不可能?
Esk*_*ola 12
这是基于 @smth 等人的答案的另一种变体。无法根据值自动构建图表非常烦人,因此您需要明确提及每个值。
fields @timestamp, @message
| filter namespace like "audit-log"
| fields coalesce(`audit.client-version`, "legacy") as version
| parse version "legacy" as v0
| parse version "886ac066*" as v1
| parse version "93e021e2*" as v2
| stats count(*), count(v0), count(v1), count(v2) by bin(5m)
Run Code Online (Sandbox Code Playgroud)
Jar*_*art 10
@smth 描述的解决方法还有一个扩展,可以支持比count(). 下面的示例显示了一段时间内不同实例的 CPU 使用情况:
| fields (instance_id like "i-instance_1") as is_instance_1, (instance_id like "i-instance_2") as is_instance_2
| stats sum(cpu * is_instance_1) as cpu_1, sum(cpu * is_instance_2) as cpu_2 by bin(5m)
Run Code Online (Sandbox Code Playgroud)
扩展@smth的样本,我通常做的有点不同,
通过此查询,我遵循标准 nginx 访问日志上随时间聚合的状态代码的趋势
fields @timestamp, @message
| parse @message '* - * [*] "* * *" * * "-" "*"' as host, identity, dateTimeString, httpVerb, url, protocol, status, bytes, useragent
| stats count (*) as all, sum ( status < 299 ) as c_s200, sum ( status > 299 and status < 399 ) as c_s300, sum ( status > 399 and status < 499 ) as c_s400, sum ( status > 499 ) as c_s500 by bin (1m)
Run Code Online (Sandbox Code Playgroud)
诀窍在于,像“status > 499”这样的表达式如果为假则返回 0,如果为真则返回 1,因此,将它添加到时间桶上可以模拟类似“count if [condition]”之类的东西
在可视化选项卡上,生成的示例图也是如此。
小智 5
好吧,我找到了一种解决问题的方法。看来不,你不能做
| stats count(*) by group, bin(1h)
Run Code Online (Sandbox Code Playgroud)
但是,您可以使用解析来人为地创建新变量,如下所示:
parse "[E*]" as @error
| parse "[I*]" as @info
| parse "[W*]" as @warning
| filter ispresent(@warning) or ispresent(@error) or ispresent(@info)
| stats count(@error) as error, count(@info) as info, count(@warning) as warning by bin(15m)
Run Code Online (Sandbox Code Playgroud)
在这里,我试图查看日志类型随时间的分布。我有三种格式的日志消息:“ [错误]”,“ [信息]”和“ [警告]”
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |