Cato API en lecture seule - événements

Aperçu de la requête API des événements

La requête API des événements permet d'obtenir des informations résumées sur les événements générés pour un compte sans avoir à extraire d'abord les événements individuels et à effectuer l'analyse.  

Exemples de types d'analyse que l'API des événements inclut : 

  • Nombre d'utilisateurs SDP qui se sont connectés sur une période spécifique

  • Pourcentage d'événements de blocage vs. autorisation du pare-feu

  • Afficher combien d'événements (cardinalité) ont été générés pour chaque type d'événement au cours des 30 derniers jours

Arguments pour les événements

Voici les arguments que vous pouvez passer à l'appel API des événements pour modifier son fonctionnement :

  • idCompte

  • mesures

  • filtres

  • dimensions

  • trier 

  • période

L'argument idCompte

Ceci est l'idCompte pour le compte contre lequel vous exécutez la requête.

Remarque

Remarque : Cet ID de compte n'est pas affiché dans l'application de gestion Cato, c'est plutôt le numéro dans l'URL pour l'application de gestion Cato. Par exemple, l'ID de compte est 26 pour l'URL suivant : https://cc.catonetworks.com/#!/26/topology.

L'argument mesures

L'argument mesures vous permet de définir les champs que vous souhaitez que la requête événements examine et la manière dont les résultats doivent être agrégés. Pour chaque champ que vous souhaitez analyser, vous devez définir ce qui suit : 

  • nomDuChamp - définit le champ que vous souhaitez agréger

  • typeDagg - définit la manière dont vous souhaitez que l'agrégation soit effectuée (par exemple, count_distinct)

L'exemple suivant montre la syntaxe mesures pour une requête qui retourne la somme des champs event_count : 

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

L'argument filtres

L'argument filtres vous permet de définir un filtre qui entraînera l'examen d'un sous-ensemble limité d'événements uniquement. Pour chaque filtre, vous devez définir ce qui suit :

  • nomDuChamp - définit le nom du champ que vous souhaitez filtrer

  • opérateur - définit l'opération de filtre qui doit être utilisée pour filtrer le champ

  • valeurs - définit la valeur de filtre utilisée avec l'opérateur

Voici un exemple de l'argument filtres utilisé pour sélectionner uniquement les événements avec un event_type de Sécurité :

"filtres": [
    {
        "fieldName": "event_type",        
         "operator": "is",
         "values": ["Sécurité"]
    }
]

L'argument dimensions

Utilisez l'argument dimensions pour regrouper les champs ayant les mêmes valeurs en lignes de résumé.

Voici un exemple qui regroupe les fichiers selon l'event_type :

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

L'argument trier

L'argument trier définit comment les données retournées doivent être triées.  Voici un exemple d'utilisation de l'argument trier

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

L'argument période

Définit la période de la requête.  Ceci est spécifié en utilisant le format défini par la spécification ISO 8601. Voici un exemple de comment vous spécifieriez la période pour les 30 derniers jours :

"timeFrame": "last.P30D" 

Remarque

Remarques :

  • La durée maximale pouvant être spécifiée pour l'argument période est actuellement de 89 jours.

  • La spécification ISO 8601 réelle peut être obtenue ici, mais elle n'est pas gratuite.  Vous pouvez également consulter cet article Wikipedia pour plus d'informations afin de comprendre comment définir cet argument.

Exemple de requête des événements

Exemple de requête

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

Valeurs des variables

{  
    "accountID": "1234",
    "measures": [ {
          "fieldName": "event_sub_type",
          "aggType": "count_distinct"
          }
    ],
    "filters": [ {
          "fieldName": "event_type",
          "operator": "is", "values": ["Sécurité"]
          }  
    ],  
    "timeFrame": "last.P1M"
}

Exemple de sortie des événements

{  
    "data": {
        "events": {
            "id": "xxx",
            "from": "2023-01-26T00:00:00Z",
            "to": "2023-02-27T00:00:00Z",
            "total": 1,
            "records": [        
                 { 
                     "fieldsMap": {          
                        "event_sub_type": "6"
                        }
                 }
             ]
        }
    }
}

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0

0 commentaire