Cato 参照のみ API - イベント

Prev Next

イベント API クエリの概要

イベント API クエリは、アカウントのために生成されたイベントのサマリー情報を個々のイベントを抽出して分析することなく取得する方法を提供します。  

イベント API に含まれる分析例:

  • 特定の期間にログインした SDP ユーザーの数

  • ファイアウォールのブロック対許可イベントの割合

  • 過去 30 日間にイベントタイプごとに生成されたイベント数(カーディナリティ)を表示

イベントの引数

こちらは、イベントAPIコールに渡してその動作を変更するための引数です:

  • accountID

  • 測定

  • フィルター

  • 次元

  • 並び替え 

  • 期間

accountID 引数

これは、クエリを実行中のアカウントのための accountID です。

注:

このアカウントIDは Cato 管理アプリケーションには表示されず、代わりに Cato 管理アプリケーションのURLの数字です。  例として、次のURL: https://cc.catonetworks.com/#!/26/topology の場合、アカウントIDは26です。

測定引数

measures 引数により、events クエリが調査し、結果がどのように集約されるべきかを定義します。 分析したいフィールドごとに、次の定義が必要です: 

  • fieldName - 集約したいフィールドを定義

  • aggType - 集計方法を定義 (例えば、count_distinct)

次の例は、event_count フィールドの合計を返すクエリの measures 構文を示しています: 

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

フィルター引数

filters 引数により、制限されたイベントのサブセットのみに基づいて調査するフィルターを定義します。 各フィルターについて次の定義が必要です:

  • fieldName - フィルターするフィールド名を定義

  • operator - フィールドをフィルターするために使用するフィルター操作を定義

  • values - 演算子と共に使用されるフィルター値を定義

次の例は、セキュリティ の event_type を持つイベントのみを選択するためのフィルター引数の使用を示しています:

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

次元引数

dimensions 引数を使用して、同じ値を持つフィールドをサマリー行にグループ化します。

次の例は、event_type に従ってファイルをグループ化するものです:

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

並び替え引数

sort 引数は、返されるデータがどのように並べ替えられるかを定義します。  ここでは並び替え引数の使用例が示されます

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

期間引数

クエリのtimeframeを定義します。  これは、ISO 8601 仕様で定義されたフォーマットを使用して指定されます。過去 30 日間の期間を指定する方法の例は次の通りです:

"timeFrame": "last.P30D" 

注:

  • 現在、timeFrame 引数に対して指定可能な最大期間は 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": "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"
                        }
                 }
             ]
        }
    }
}