Cato 읽기 전용 API - 이벤트

Prev Next

이벤트 API 쿼리 개요

이벤트 API 쿼리는 개별 이벤트를 먼저 추출하고 분석을 수행하지 않고도 계정에 대해 생성된 이벤트에 대한 요약 정보를 얻을 수 있는 방법을 제공합니다.  

이벤트 API가 포함하는 분석 유형 예:

  • 특정 기간 동안 로그인한 SDP 사용자 수

  • 방화벽 차단 대 허용 이벤트의 비율

  • 이전 30일 동안 각 이벤트 유형에 대해 생성된 이벤트 수(카디널리티) 보기

이벤트 매개변수

이벤트 API 호출의 작동을 수정하기 위해 전달할 수 있는 매개변수는 다음과 같습니다:

  • 계정 ID

  • 측정값

  • 필터

  • 차원

  • 정렬 

  • 기간

계정ID 매개변수

이 쿼리를 실행할 계정의 계정ID입니다.

참고:

이 계정 ID는 Cato 관리 애플리케이션에 표시되지 않으며, 대신 Cato 관리 애플리케이션의 URL 에 있는 숫자입니다. 예를 들어 다음 URL 의 계정 ID는 26입니다: https://cc.catonetworks.com/#!/26/topology.

측정값 매개변수

측정값 매개변수를 사용하여 이벤트 쿼리가 조사하고자 하는 필드를 정의하고 결과를 집계하는 방법을 정의할 수 있습니다. 분석할 각 필드에 대해 다음을 정의해야 합니다: 

  • fieldName - 집계하려는 필드를 정의합니다.

  • aggType - 집계 수행 방식을 정의합니다 (예: count_distinct)

다음은 event_count 필드의 합계를 반환하는 쿼리에 대한 측정값 문법 예시입니다: 

 "measures": [
  {"fieldName":"event_count","aggType":"sum"}
]

필터 매개변수

필터 매개변수를 사용하여 조사되는 이벤트의 제한된 하위 집합만 결과로 가져오게 할 수 있습니다. 각 필터에 대해 다음을 정의해야 합니다:

  • fieldName - 필터하고자 하는 필드의 이름을 정의합니다.

  • operator - 필드를 필터링하는 데 사용할 필터 동작을 정의합니다.

  • values - operator와 함께 사용되는 필터 값을 정의합니다.

다음은 보안이라는 event_type의 이벤트만 선택하는 필터 매개변수 사용 예입니다:

"filters": [
  {
    "fieldName": "event_type",    
    "operator": "같습니다",
    "values": ["보안"]
  }
]

차원 매개변수

차원 매개변수를 사용하여 동일한 값을 가진 필드를 요약 행으로 그룹화하십시오.

다음은 event_type에 따라 파일을 그룹화하는 예입니다:

"dimensions": [
  {"fieldName": "event_type"}
]

정렬 매개변수

정렬 매개변수는 반환된 데이터가 정렬되는 방식을 정의합니다.  정렬 매개변수의 사용 예입니다.

  'sort': [
   {'fieldName': 'event_count', 'order': 'desc'},
   {'fieldName': 'event_type', 'order': 'asc'}
 ]

기간 매개변수

쿼리의 기간을 정의합니다.  ISO 8601 사양으로 정의된 형식을 사용하여 지정됩니다. 다음은 과거 30일의 기간을 지정하는 방법에 대한 예입니다:

"timeFrame": "last.P30D" 

참고:

  • 기간 매개변수에 대해 지정할 수 있는 최대 시간 길이는 현재 89일입니다.

  • 실제 ISO 8601 사양은 여기에서 얻을 수 있지만 무료는 아닙니다.  이 매개변수를 정의하는 방법을 이해하려면 이 Wikipedia 기사를 참조할 수도 있습니다.

샘플 이벤트 쿼리

샘플 쿼리

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"
        }
        }]
    }
  }
}