Buenas tardes, querido lector! Este artículo surgió de un intento de observar el monitoreo operativo desde el análisis. Te será útil si:
- algo de la siguiente lista es familiar: Grafana, InfluxDB, Prometheus, Zabbix u otro sistema de monitoreo con ideas similares;
- No es un medio experto / profesional / seguro en varios tipos de visualización y estadísticas de series de tiempo (de lo contrario, probablemente será aburrido para usted);
- existe el deseo de ver algunos aspectos "bajo el microscopio".
Si decide que se cumplen las condiciones anteriores, bienvenido a cat.

"Dime, por favor, ¿a dónde debo ir desde aquí?"
"¿A donde quieres ir?" - respondió el gato.
"No me importa ..." dijo Alice.
"Entonces no importa a dónde ir", dijo el gato.
"... solo para llegar a algún lado", explicó Alice.
"Seguro que irás a algún lado", dijo el gato. "Solo tienes que ir lo suficiente".
Alicia en el país de las maravillas de Lewis Carroll
El viaje comienza ...
. , , , , . , «?» . ? , ( , )! , .
, RFC1065:
…
3.2.3.3. Counter
This application-wide type represents a non-negative integer which
Rose & McCloghrie [Page 8]
RFC 1065 SMI August 1988
monotonically increases until it reaches a maximum value, when it
wraps around and starts increasing again from zero. This memo
specifies a maximum value of 2^32-1 (4294967295 decimal) for
counters.
3.2.3.4. Gauge
This application-wide type represents a non-negative integer, which
may increase or decrease, but which latches at a maximum value. This
memo specifies a maximum value of 2^32-1 (4294967295 decimal) for
gauges.
…
, , 1988- , : . - , , , Prometheus.
. — : , , . — - . - …
UI Grafana, , , - , $__interval, , , . — , 4k. , , — . , , .
, ( ) « » . :

, “Step count” 200 300 (, , . : 10 , :
, ! ( ) , , .
. ( Influx’, ):

InfluxDB, , : An instantaneous rate of change is equivalent to a derivative ( ), . , , , , (average rate of change). . , , mean ( ), , . , «» , - . , , , , , .
«» : , last, ( InfluxQL, promql ). last . , . , , 00 . non_negative_derivative(first(...)) . , , — , — : ( ) .

, ? .
mean, InfluxDB : max, min, last, , , — stddev. prometheus min_over_time, max_over_time, stddev_over_time, Influx ( , ). Last, , , , , mean: - , mean , «».
Obviamente, max y min funcionarán más o menos independientemente. Pero, ¿qué pasa si combina estos dos y les agrega el promedio? Resulta que esta idea no es algo nuevo, generalmente es antigua, como las pirámides. De los ejemplos "clásicos" en los sistemas de monitoreo, recuerdo las tendencias en Zabbix (busqué intencionalmente un enlace a una versión anterior) y Graphite Whisper Rollup , así como el RRDtool anterior , que también se usó en Cacti , donde por alguna razón faltaba min por defecto. Quizás, a pesar de todo el texto siguiente, este es uno de los mejores enfoques. Es bastante informativo, no demasiado ruidoso, intuitivo, económico de implementar, relativamente universal y disponible en casi todos los sistemas modernos.
Ejemplos de renderizado similar:- en zabbix

- Grafana

, min mean ( max avg) , , Grafana Legend -> Values , , , .
«»
, , stddev — standard deviation, - . , , . , , «» . , (, , , , ).
, : error bar. — “ ”, 1-, 2- 3- (25% , 75% ). , ? :) , , Grafana. , pandas seaborn ( plotly).

, , « » , , . “the Datasaurus Dozen animation” Google.

, , , . , , , .
, « » . ? seaborn! , : violinplot. , « » « -» , , - , : violinplot Grafana.
: , , ? , ? ? , ? - .
, , . : Google SRE book. « » (, , ): latency, traffic, errors, saturation. , - ( ), . : saturation % 100, : 100, «» , 0 — , , , . , , — , .
, : . , , , /. (, , ): pull push. , . , , , push — Riemann-tools, pull — Prometheus.
Telegraf, (input-plugins) , (output-plugins) . , discovery-plugins— input-plugins, . , , LLD (low-level discovery) Zabbix, . «»: ( ). (, prometheus-operator), , . , , … Kubernetes, — Influxdata. - ( API/RPC) snap, , , ( , ).
, pull- -, . , . , , , . . , : (, Riemann ). . , , , , (, - ). Graphite / statsd, , , UI. Prometheus recording rules Thanos Compact, TICK- , , : Continues Queries InfluxDB TICKscript Kapacitor. , , — , Histogram Summary Prometheus, Accumulator interface Telegraf.
B , , , , :

, UI, . : , , , UI-preprocessing. , . , «» UI-preprocessing UI, , . , , / — .
« » , 3- , , . , , .
, , : Prometheus, Telegraf . , , heatmap ( ), Grafana. , « », .
Grafana

, Grafana heatmap time series buckets, , , CPU :

, :
- :
;
latency, traffic, errors saturation. - , .
- ( ), , , .
- . - Grafana ( UI ), , , , - Python JS.
Grafana ) UI; ) ; ) .
— , : , , .

, , , . . latency .