Exemplo de largura de banda do site com a API accountMetrics

Este artigo explica uma consulta de amostra da API accountMetrics para monitorar a taxa máxima de upstream e downstream para um site.

Criar a Consulta

Recomendamos que você use bytesUpstreamMax e bytesDownstreamMax, que são métricas de pico. Licenças da Cato são baseadas nesses valores, não na taxa média.

Esta é uma consulta para recuperar uma série temporal de 10 segmentos para o período de 15:00:00 a 15:10:00 em 6 de fevereiro de 2024, para o site com ID=12345. 10 segmentos para um período de 10 minutos significa que cada segmento é efetivamente de um minuto.

{
    accountMetrics(
        accountID: 7890
        timeFrame: "utc.2024-02-06/{15:00:00--15:10:00}"
        groupDevices: true
        groupInterfaces: true
    ) {
        de
        para
        sites (siteIDs:[12345]) {
            interfaces {
                nome
                series temporais (labels:[bytesUpstreamMax] buckets:10) {
                    etiqueta
                    unidades
                    dados
                }
            }
        }
    }
}

É assim que a consulta aparece no GraphQL API Playground:

01_accountMetrics.png

A resposta completa é:

{
  "dados": {
    "accountMetrics": {
      "de": "2024-02-06T15:00:00Z",
      "para": "2024-02-06T15:10:00Z",
      "sites": [
        {
          "interfaces": [
            {
              "nome": "todas",
              "series temporais": [
                {
                  "etiqueta": "bytesUpstreamMax",
                  "unidades": "bytes",
                  "dados": [
                    [
                      1707231600000,
                      6008
                    ],
                    [
                      1707231660000,
                      12802
                    ],
                    [
                      1707231720000,
                      6557
                    ],
                    [
                      1707231780000,
                      3467
                    ],
                    [
                      1707231840000,
                      7168
                    ],
                    [
                      1707231900000,
                      3660
                    ],
                    [
                      1707231960000,
                      6791
                    ],
                    [
                      1707232020000,
                      5839
                    ],
                    [
                      1707232080000,
                      4183
                    ],
                    [
                      1707232140000,
                      4684
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

Interpretando os Resultados da Série Temporal

Timestamp

Cada elemento da série temporal / array de dados é uma lista onde o primeiro elemento é o timestamp no início daquele segmento, e o segundo elemento é a métrica para aquele segmento. Os timestamps estão em UTC, o tempo da Epoch Unix em nanosegundos. Um comando Python de uma linha converte o timestamp no primeiro segmento para uma string legível por humanos:

python3 -c "import datetime;print(datetime.datetime.fromtimestamp(1707231600000/1000))"

Executar este comando em um Mac parece assim:

sh-3.2$ python3 -c "import datetime;print(datetime.datetime.fromtimestamp (1707231600000/1000))"
2024-02-06 15:00:00
sh-3.2$

Você também pode executar um comando bash assim:

date -r $((1707231600000/1000))

Este é o resultado do comando bash:

Cato-admin-M:tools catoadmin$ date -r $((1707231600000/1000))
Ter 6 Fev 2024 15:00:00 GMT

Usando essas técnicas para converter todos os timestamps do output acima, vemos que eles correspondem ao início dos segmentos para cada minuto no nosso período:

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

Pico de Taxa de Upstream

O segundo item em cada elemento da série temporal é a métrica que, neste caso, é a taxa de upstream máxima naquele segmento. Múltiplas métricas podem ser solicitadas em uma única consulta – é comum solicitar ambas bytesUpstreamMax e bytesDownstreamMax. A métrica é sempre expressa como uma taxa, independentemente do parâmetro de entrada perSecond. O campo unidades indica que são bytes, então devemos multiplicar por 8 para converter para a forma mais habitual de bits por segundo.

Olhando para o primeiro elemento da nossa resposta acima:

[
1707231600000,
6008
],

Podemos interpretar isso como:

  • 2024-02-06 15:00:00 UTC foi o início deste segmento

  • Sabemos dos nossos parâmetros que este é um segmento de um minuto (você também pode pedir para a API retornar a granularidade do segmento caso tenha dúvidas)

  • Durante este segmento, a taxa máxima foi de 6008 bytes por segundo. Multiplicando por 8, obtemos um valor de pico de 8*6008 = 48,064 bits por segundo = 48kbps.

Aplicando este mesmo princípio a todos os itens da nossa série temporal retornada, obtemos estes valores:

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

Se grafarmos esses valores no Excel, o gráfico de linha fica assim:

02_excel.png

Para o período e site correspondentes, o gráfico “Máxima Taxa – Upstream” fica assim:

03_excel.png

À primeira vista esses gráficos parecem um tanto diferentes, mas isso é principalmente porque o gráfico CMA vem de uma consulta com um número muito maior de segmentos – para facilidade de demonstração, estamos usando um pequeno número de segmentos (10) na nossa consulta Playground. Se colocarmos o gráfico do Excel dos nossos dados de consulta sobre o gráfico CMA, podemos ver uma forte correlação:

04-excel.png

Esse artigo foi útil?

Usuários que acharam isso útil: 0 de 0

0 comentário