이 문서에서는 사이트의 최대 업스트림 및 다운스트림 처리량을 모니터링하기 위한 샘플 계정 메트릭스 API 쿼리를 설명합니다.
피크 메트릭인 bytesUpstreamMax 및 bytesDownstreamMax를 사용할 것을 권장합니다. 카토 라이센스는 평균 처리량이 아닌 이 값들을 기준으로 합니다.
이것은 ID=12345인 사이트에 대해 2024년 2월 6일 15:00:00부터 15:10:00까지의 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
]
]
}
]
}
]
}
]
}
}
}
타임시리즈/데이터 배열의 각 요소는 첫 번째 요소가 해당 버킷의 시작 시 타임스탬프이고 두 번째 요소가 해당 버킷의 메트릭인 목록입니다. 타임스탬프는 나노초 단위의 UTC, Unix Epoch 시간입니다. 첫 번째 버킷의 타임스탬프를 사람이 읽을 수 있는 문자열로 변환하는 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
각 타임시리즈 요소의 두 번째 항목은 이 경우 해당 버킷의 최대 업스트림 처리량인 메트릭입니다. 하나의 쿼리에서 여러 메트릭을 요청할 수 있으며 일반적으로 bytesUpstreamMax와 bytesDownstreamMax를 요청합니다. 메트릭은 perSecond 입력 매개변수와 상관없이 항상 비율로 표현됩니다. units 필드는 이것이 바이트임을 나타내므로, 보통의 초당 비트로 변환하기 위해 8을 곱해야 합니다.
위의 응답에서 첫 번째 요소를 보면:
[ 1707231600000, 6008 ],
이를 다음과 같이 해석할 수 있습니다:
-
2024-02-06 15:00:00 UTC는 이 버킷의 시작 시점이었습니다
-
매개변수에서 이것이 1분 버킷임을 알고 있습니다 (확실하지 않은 경우, 버킷 세분성을 반환하도록 API에 요청할 수도 있습니다)
-
이 버킷 동안 최고 전송률은 초당 6008 바이트였습니다. 8을 곱하면 최대 값은 8*6008 = 48,064 비트/초 = 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개
이 문서에는 댓글을 달 수 없습니다.