卡托只读API - 事件

事件API查询概述

事件API查询提供了一种获取帐户生成的事件概要信息的方法,而无需先提取单个事件并进行分析。  

事件API包括的分析示例: 

  • 特定时间范围内登录的SDP用户数量

  • 防火墙阻止与允许事件的百分比

  • 显示在过去30天内为每种事件类型生成了多少事件(基数)

事件参数

这些是可以传递给事件API调用的参数,以修改其操作:

  • accountID

  • measures

  • filters

  • dimensions

  • sort 

  • timeFrame

accountID参数

这是您正在运行查询的账户ID。

注意

注意: 此账户ID不会显示在Cato管理应用程序中,而是在Cato管理应用程序的URL中。 例如,以下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": "是",
         "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" 

注意

说明:

  • timeFrame参数可以指定的最长时间目前为89天。

  • 实际ISO 8601规范可以从这里获取,但不是免费的。  您还可以参考此维基百科文章以了解更多信息,以理解如何定义此参数。

示例事件查询

示例查询

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": "是", "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"
                        }
                 }
             ]
        }
    }
}

这篇文章有帮助吗?

0 人中有 0 人觉得有帮助

0 条评论