appStats API はアプリケーション分析画面に基づいており、送信元、宛先、アプリケーションなどにより、ある時間範囲の集約されたネットワークデータを提供します。
各クエリは、特定の集約関数(合計、最大、平均など)と異なる次元(site_name、ユーザー、アプリケーションなど)を指定して、異なる指標(上りバイト、下りバイト、フロー数など)に対する集計を計算します。
appStats クエリの使用例:
-
特定のサイトの総/平均/最大帯域幅を計算
-
特定の宛先に対して生成された流量の最大数
-
特定のホストによって使用されたトップ10のアプリケーション
これらは、クエリによって返されるデータを定義するために渡すことができる引数です(全てのフィールドは必須):
クエリが返すデータのアカウントIDを1つ以上入力します。
このアカウントIDはCato 管理アプリケーションには表示されず、代わりにCato 管理アプリケーションのURLに含まれる番号です。 たとえば、次のURLのアカウントIDは 26 です:https://cc.catonetworks.com/#!/26/topology。
filters 引数は、クエリで含めるデータを定義できます。 これらは、あなたが定義できる引数です:
-
fieldName - フィルタリングしたいフィールドのタイプを定義します(詳細は以下のappStats Fieldsを参照)
-
operator - データをフィルタリングするための値をどのように活性化するかを定義します(詳細は以下のappStats filterOperatorを参照)
-
values - オペレーターで使用されるフィルタ値を定義します
次のfilters構文は、特定のアプリケーションのデータを表示するようにフィルターされたクエリの例です:
"filters": [
{
"fieldName": "application",
"operator": "is",
"values": [
"Slack"
]
}
]
dimensions 引数を使用して、同じ値を持つフィールドをまとめ、要約行にします。
次の例は、サイト名に従ってフィールドをグループ化するものです:
"dimensions": [
{
"fieldName": "site_name"
}
]
measures 引数で、クエリで返したいフィールドとその集計タイプを定義できます。 これらは、あなたが定義できる引数です:
-
fieldName - フィルタリングしたいフィールドのタイプを定義します(詳細は以下のappStats Fieldsを参照)
-
aggType - 集計タイプを定義します(詳細は以下のappStats Aggregationを参照)
次の例は、Slackアプリケーションの作成されたフローの要約を測定するクエリのmeasures構文を示しています:
"filters": [
{
"fieldName": "application",
"operator": "is",
"values": [
"Slack"
]
}
]
"measures": [
{
"fieldName": "flows_created",
"aggType": "sum"
},
]
sort 引数で、データがどのようにソートされるかを定義します。
次の例は、Slackアプリケーションの作成されたフローの要約を測定するクエリのsort構文を示しています。 その後、作成されたフローの降順でデータをソートします:
"filters": [
{
"fieldName": "application",
"operator": "is",
"values": [
"Slack"
]
}
]
"measures": [
{
"fieldName": "flows_created",
"aggType": "sum"
},
]
"sort": [
{
"fieldName": "flows_created",
"order": "dec"
},
]
これは、appStats API クエリを使用して、過去2日間の各サイトにおける Slack アプリケーションの作成されたフローの合計を返す例です。 データは、トップ5のサイトに対して降順にソートされます。
サンプルクエリ
query appStats($accountID: ID!, $measures: [Measure], $dimensions: [Dimension], $filters: [AppStatsFilter!], $sort: [AppStatsSort!], $timeFrame: TimeFrame!, $limit: Int, $from: Int) {
appStats(
accountID: $accountID
timeFrame: $timeFrame
measures: $measures
dimensions: $dimensions
filters: $filters
sort: $sort
) {
id
records(limit: $limit, from: $from) {
fieldsUnitTypes
fieldsMap
trends
}
}
}
変数値
{
"accountID": "1234",
"dimensions": [
{
"fieldName": "site_name"
}
],
"measures": [
{
"fieldName": "flows_created",
"aggType": "sum"
},
],
"filters": [
{
"fieldName": "application",
"operator": "is",
"values": [
"Slack"
]
}
]
"sort": [
{
"fieldName": "flows_created",
"order": "desc"
}
],
"timeFrame": "last.P2D",
"limit": 5,
"from": 0
}
サンプル AppStats 出力
{
"data": {
"appStats": {
"id": "1234",
"records": [
{
"fieldsMap": {
"flows_created": "116660",
"site_name": "Sample Socket"
}
},
{
"fieldsMap": {
"flows_created": "105655",
"site_name": " Sample Socket 2"
}
}
]
}
}
}
これは、appStats クエリ内のフィールドの説明です。
|
項目 |
説明 |
|---|---|
|
application |
クラウドアプリケーション名 |
|
new_app |
新しいクラウドアプリケーション識別子 |
|
discovered_app |
使用されたアプリケーションの総数 |
|
traffic |
上りと下りのデータの合計 |
|
upstream |
クラウドアプリケーションにアップロードされたデータ |
|
downstream |
クラウドアプリケーションからダウンロードされたデータ |
|
risk_score |
Cato によって割り当てられたアプリケーションリスクスコア |
|
risk_level |
アプリケーションのリスクレベル |
|
sanctioned |
組織によって承認されたクラウドアプリケーション |
|
hq_location |
登録されたアプリケーション本社が所在する国 |
|
is_cloud_app |
そのアプリケーションがクラウドアプリ/SaaSアプリと見なされるかどうかを示します |
|
category |
クラウドアプリケーションカテゴリ |
|
description |
カテゴリの説明 |
|
ip |
ホストまたはSDPクライアントのIP |
|
subnet |
サブネットの名前 |
|
domain |
SSL SNI、HTTPホスト名、DNS名、または宛先IP |
|
dest_ip |
サーバーIPアドレス(WAN接続のみで関連) |
|
src_site_id |
サイトの一意の内部Cato ID |
|
src_site_name |
送信元サイトまたはSDPユーザー |
|
site_country |
サイトが位置する国 |
|
site_state |
サイトが位置する州 |
|
vpn_user_id |
SDPユーザーの一意の内部Cato ID |
|
flows_created |
作成された接続の数 |
|
dest_site |
宛先サイトまたはSDPユーザーID(プロトタイプ) |
|
dest_is_site_or_vpn |
宛先サイトまたはSDPユーザー |
|
dest_site_id |
宛先サイトまたはSDPユーザーID(DB) |
|
dest_site_name |
宛先サイトまたはSDPユーザー名 |
|
traffic_direction |
トラフィックの方向 |
|
デバイス名 |
PCまたはデバイス名 |
|
ad_name |
Active Directory名 |
|
src_ip |
ホストまたはSDPクライアントのIP |
|
socket_interface |
ソケットインターフェースの名前 |
|
src_is_site_or_vpn |
トラフィックはサイトまたはSDPクライアント |
0件のコメント
サインインしてコメントを残してください。