この記事では、サイトの最大アップストリームおよびダウンストリームスループットを監視するためのサンプルアカウントメトリクスAPIクエリについて説明します。
ピークメトリクスであるbytesUpstreamMaxおよびbytesDownstreamMaxを使用することをお勧めします。 Catoライセンスは、平均スループットではなく、これらの値に基づいています。
これは、2024年2月6日の15:00:00から15:10:00のタイムフレームで、ID=12345のサイトのタイムシリーズを10バケット分取得するクエリです。 10分のタイムフレームで10バケットは、各バケットが実質的に1分であることを意味します。
{
accountMetrics(
accountID: 7890
timeFrame: "utc.2024-02-06/{15:00:00--15:10:00}"
groupDevices: true
groupInterfaces: true
) {
from
to
sites (siteIDs:[12345]) {
interfaces {
name
timeseries (labels:[bytesUpstreamMax] buckets:10) {
label
units
data
}
}
}
}
}
これは、GraphQL API Playgroundでのクエリの見た目です。
完全な応答は次のとおりです。
{
"data": {
"accountMetrics": {
"from": "2024-02-06T15:00:00Z",
"to": "2024-02-06T15:10:00Z",
"sites": [
{
"interfaces": [
{
"name": "all",
"timeseries": [
{
"label": "bytesUpstreamMax",
"units": "bytes",
"data": [
[
1707231600000,
6008
],
[
1707231660000,
12802
],
[
1707231720000,
6557
],
[
1707231780000,
3467
],
[
1707231840000,
7168
],
[
1707231900000,
3660
],
[
1707231960000,
6791
],
[
1707232020000,
5839
],
[
1707232080000,
4183
],
[
1707232140000,
4684
]
]
}
]
}
]
}
]
}
}
}
タイムシリーズ/データ配列の各要素はリストであり、最初の要素はそのバケットの開始時点のタイムスタンプで、2番目の要素はそのバケットのメトリックです。 タイムスタンプはUTC、ナノ秒単位のUnixエポック時間です。 Pythonの一行コマンドで最初のバケットのタイムスタンプを人間が読める文字列に変換します。
python3 -c "import datetime;print(datetime.datetime.fromtimestamp(1707231600000/1000))"
Macでこのコマンドを実行すると次のようになります。
sh-3.2$ python3 -c "import datetime;print(datetime.datetime.fromtimestamp (1707231600000/1000))" 2024-02-06 15:00:00 sh-3.2$
bashコマンドを使用して次のように実行することもできます。
date -r $((1707231600000/1000))
これはbashコマンドの結果です。
Cato-admin-M:tools catoadmin$ date -r $((1707231600000/1000)) Tue 6 Feb 2024 15:00:00 GMT
これらの技術を使用して、上記の出力からすべてのタイムスタンプを変換すると、それらがタイムフレーム内の毎分のバケットの開始に一致していることがわかります。
1707231600000 -> 2024-02-06 15:00:00 1707231660000 -> 2024-02-06 15:01:00 1707231720000 -> 2024-02-06 15:02:00 1707231780000 -> 2024-02-06 15:03:00 1707231840000 -> 2024-02-06 15:04:00 1707231900000 -> 2024-02-06 15:05:00 1707231960000 -> 2024-02-06 15:06:00 1707232020000 -> 2024-02-06 15:07:00 1707232080000 -> 2024-02-06 15:08:00 1707232140000 -> 2024-02-06 15:09:00
タイムシリーズ要素の2番目の項目は、この場合、そのバケット内のピークアップストリームスループットを示すメトリックです。 単一のクエリで複数のメトリックを要求できます。通常、bytesUpstreamMaxとbytesDownstreamMaxの両方を要求します。 メトリックは、perSecond入力パラメータに関係なく、常にレートとして表現されます。 unitsフィールドはこれがバイトであることを示しているので、通常のビット毎秒に変換するには8倍する必要があります。
上記の応答で最初の要素を見ると、
[ 1707231600000, 6008 ],
これを以下のように解釈できます。
-
2024-02-06 15:00:00 UTCはこのバケットの開始でした。
-
パラメータからこれは1分間のバケットであることがわかっています(不明な場合はAPIにバケットの粒度を返すよう依頼することもできます)。
-
このバケットの間、最高スループットは秒あたり6008バイトでした。 8倍すると、ピーク値は8×6008 = 48,064 bits per second = 48kbpsです。
この原則を返されたタイムシリーズ内のすべてのアイテムに適用すると、次の値が得られます。
1707231600000 -> 2024-02-06 15:00:00 48kbps 1707231660000 -> 2024-02-06 15:01:00 102kbps 1707231720000 -> 2024-02-06 15:02:00 52kbps 1707231780000 -> 2024-02-06 15:03:00 27kbps 1707231840000 -> 2024-02-06 15:04:00 57kbps 1707231900000 -> 2024-02-06 15:05:00 29kbps 1707231960000 -> 2024-02-06 15:06:00 54kbps 1707232020000 -> 2024-02-06 15:07:00 46kbps 1707232080000 -> 2024-02-06 15:08:00 33kbps 1707232140000 -> 2024-02-06 15:09:00 37kbps
これらの値をExcelでグラフ化すると、折れ線グラフは次のようになります。
対応するタイムフレームおよびサイトの「最大スループット - アップストリーム」グラフは次のようになります。
一見すると、これらのグラフは若干異なって見えますが、それは主にCMAグラフが非常に多くのバケットを持つクエリから来ているからです。デモの容易さのため、Playgroundクエリでは小規模なバケット数(10)を使用しています。 ExcelのグラフをCMAグラフの上に配置すると、強い相関が見られます。
0件のコメント
記事コメントは受け付けていません。