事件API查询概述
事件API查询提供了一种获取帐户生成的事件概要信息的方法,而无需先提取单个事件并进行分析。
事件API包括的分析示例:
特定时间范围内登录的SDP用户数量
防火墙阻止与允许事件的百分比
显示在过去30天内为每种事件类型生成了多少事件(基数)
事件参数
这些是可以传递给事件API调用的参数,以修改其操作:
accountID
measures
filters
dimensions
排序
timeFrame
accountID参数
这是您正在运行查询的账户ID。
注意:
此账户 ID 不会在 Cato 管理应用程序中显示,而是 Cato 管理应用程序 URL 中的数字。 例如,以下网址的账户ID 为26: https://cc.catonetworks.com/#!/26/topology。
measures参数
measures参数允许您定义要让事件查询检查的字段以及结果的聚合方式。 对于每个要分析的字段,您必须定义以下内容:
fieldName - 定义您要聚合的字段
aggType - 定义您要如何执行聚合(例如:count_distinct)
以下示例显示了返回事件计数字段总和的查询measures语法:
"measures": [
{"fieldName":"event_count","aggType":"sum"}
]filters参数
filters参数允许您定义过滤器,该过滤器将仅允许检查有限的事件子集。 对于每个过滤器,您必须定义以下内容:
fieldName - 定义您要过滤的字段名称
operator - 定义用于过滤字段的过滤操作
values - 定义与操作员一起使用的过滤值
以下是用于选择仅具有安全性事件类型的事件的过滤器参数示例:
"filters": [
{
"fieldName": "event_type",
"operator": "is",
"values": ["安全性"]
}
]dimensions参数
使用dimensions参数将具有相同值的字段分组到摘要行中。
以下是根据事件类型分组文件的示例:
"dimensions": [
{"fieldName": "event_type"}
]sort参数
sort参数定义了返回的数据如何排序。 这是排序参数的示例用法
'sort': [
{'fieldName': 'event_count', 'order': 'desc'},
{'fieldName': 'event_type', 'order': 'asc'}
]timeFrame参数
定义查询的时间范围。 此格式使用《ISO 8601》规范定义。下面是为过去30天指定时间范围的示例:
"timeFrame": "last.P30D" 注意事项:
示例事件查询
示例查询
query events(
$accountID: ID!,
$measures: [EventsMeasure],
$dimensions: [EventsDimension],
$filters: [EventsFilter!],
$sort: [EventsSort!],
$timeFrame: TimeFrame!,
$limit: Int,
$from: Int) {
events(
accountID: $accountID
timeFrame: $timeFrame
measures: $measures
dimensions: $dimensions
filters: $filters
sort: $sort ) {
id
from
total
records(limit: $limit, from: $from) {
fieldsMap
}
}
}变量值
{
"accountID": "1234",
"measures": [ {
"fieldName": "event_sub_type",
"aggType": "count_distinct"
}
],
"filters": [ {
"fieldName": "event_type",
"operator": "is", "values": ["安全性"]
}
],
"timeFrame": "last.P1M"
}示例事件输出
{
"data": {
"events": {
"id": "xxx",
"from": "2023-01-26T00:00:00Z",
"to": "2023-02-27T00:00:00Z",
"total": 1,
"records": [
{
"fieldsMap": {
"event_sub_type": "6"
}
}
]
}
}
}