Este artigo explica uma consulta de amostra da API accountMetrics para monitorar a taxa máxima de upstream e downstream para um site.
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:
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
]
]
}
]
}
]
}
]
}
}
}
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
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:
Para o período e site correspondentes, o gráfico “Máxima Taxa – Upstream” fica assim:
À 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:
0 comentário
Artigo fechado para comentários.