如何使用 SumoLogic API 执行聚合查询

问题描述 投票:0回答:2

我正在尝试使用此处提到的 SumoLogic API 执行聚合查询。 类似:

_view = <some_view> | where sourceCategory matches \"something\" | sum(field) by sourceCategory

这在 Sumo GUI 中运行得很好。我在结果中得到一个名为“_sum”的字段,它给了我想要的结果。

但是,当我使用 SUMO API 执行此操作时,同样不起作用。如果我用这个机构创造一份工作:

{ "query": "_view = <some_view> | where sourceCategory matches "something" | sum(field) by sourceCategory", "from": "start_timestamp", "to": "end_timestamp", "timeZone": "some_timezone" }

我使用上述主体调用“v1/search/jobs”POST 方法,并获取“v1/search/jobs/{job_id}”,直到状态为“DONE GATHERING RESULTS”。然后我执行“v1/search/jobs/{job_id}/messages”。我原本希望在结果中看到聚合值,但我看到的却是类似的内容:

{ "fields":[ { "name":"_messageid", "fieldType":"long", "keyField":false }, ... ], "messages":[ { "map":{ "_receipttime":"1359407350899", "_size":"549", "_sourcecategory":"service", "_sourceid":"1640", "the_field_i_mentioned":"not-aggregated-value" "_messagecount":"2044" } }, ... ] ]

感谢您解决我的问题。任何建议/解决方法表示赞赏。我真的不想手动迭代所有项目并计算总和。我更喜欢在 SumoLogic 方面自行完成。再次感谢!

rest aggregate sumologic
2个回答
2
投票

与用户界面类似,在日志搜索 API 中,您可以获得

两者

原始结果(也称为消息)和聚合结果(也称为记录)。 (显然,只有在查询中有任何聚合时才会返回后者。在您的情况下是有的。)

实际建议

然后我执行“v1/search/jobs/{job_id}/messages”

尝试使用
/records

请参阅 

文档“对搜索作业找到的记录进行分页”

免责声明:我目前受雇于 Sumo Logic。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.