계정 메트릭스 API를 사용한 예시 사이트 대역폭

이 문서에서는 사이트의 최대 업스트림 및 다운스트림 처리량을 모니터링하기 위한 샘플 계정 메트릭스 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에서의 쿼리 모양입니다:

01_accountMetrics.png

전체 응답은 다음과 같습니다:

{
  "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에서 그래프로 만들면 선 차트가 다음과 같이 보입니다:

02_excel.png

해당 시간 범위와 사이트에 대해 “최대 처리량 – 업스트림” 그래프는 다음과 같이 보입니다:

03_excel.png

처음 보기에는 이 그래프들이 다소 다르게 보이지만, 그것은 대부분 CMA 그래프가 훨씬 더 많은 버킷 수를 가진 쿼리에서 비롯되었기 때문입니다 – 시연의 용이함을 위해, 우리는 Playground 쿼리와 함께 작은 버킷 수(10)를 사용하고 있습니다. Excel 그래프를 쿼리 데이터와 CMA 그래프 위에 놓으면 강한 상관관계를 볼 수 있습니다:

04-excel.png

도움이 되었습니까?

0명 중 0명이 도움이 되었다고 했습니다.

댓글 0개