Cato API Только для чтения - события

Обзор событий API-запроса

Запрос API событий предоставляет способ получения сводной информации о событиях, сгенерированных для учетной записи, без необходимости сначала извлекать отдельные события и выполнять анализ.  

Примеры анализа, включаемые в события API: 

  • Количество пользователей SDP, вошедших в систему за определенный период времени

  • Процент событий блокировки и разрешения фаерволла

  • Показать количество (кардинальность) событий, сгенерированных для каждого типа событий за предыдущие 30 дней.

Аргументы для событий

Это аргументы, которые вы можете передать в вызов API событий для изменения его работы:

  • accountID

  • measures

  • filters

  • dimensions

  • sort 

  • timeFrame

Аргумент accountID

Это accountID для учетной записи, по которой вы выполняете запрос.

Примечание

Примечание: Этот ID учетной записи не отображается в Приложении Управления Cato, вместо этого это номер в URL для Приложения Управления Cato. Например, ID учетной записи 26 в следующем URL: https://cc.catonetworks.com/#!/26/topology.

Аргумент measures

Аргумент measures позволяет вам определить поля, которые вы хотите, чтобы запрос событий исследовал, и то, как должны быть агрегированы результаты. Для каждого поля, которое вы хотите проанализировать, вы должны определить следующее: 

  • fieldName - определяет поле, которое вы хотите агрегировать

  • aggType - определяет, как вы хотите выполнить агрегацию (например, count_distinct)

Следующий пример показывает синтаксис measures для запроса, который возвращает сумму полей event_count: 

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

Аргумент filters

Аргумент filters позволяет вам определить фильтр, который приведет к проверке только ограниченной части событий. Для каждого фильтра вы должны определить следующее:

  • fieldName - определяет имя поля, которое вы хотите отфильтровать

  • operator - определяет операцию фильтрации, которая должна быть использована для фильтрации поля

  • values - определяет значение фильтра, которое используется с оператором

Вот пример аргумента filters, используемого для выбора только событий с event_type Security:

"filters": [
    {
        "fieldName": "event_type",        
         "operator": "is",
         "values": ["Security"]
    }
]

Аргумент dimensions

Используйте аргумент dimensions, чтобы сгруппировать поля с одинаковыми значениями в сводные строки.

Вот пример, который группирует файлы в соответствии с event_type:

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

Аргумент sort

Аргумент 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": "is", "values": ["Security"]
          }  
    ],  
    "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 комментариев