Selamat siang, pembaca yang budiman! Artikel ini muncul dari upaya untuk melihat pemantauan operasional dari analitik. Ini akan bermanfaat bagi Anda jika:
- sesuatu dari daftar berikut ini sudah dikenal: Grafana, InfluxDB, Prometheus, Zabbix, atau sistem pemantauan lain dengan ide-ide serupa;
- Anda bukan ahli / profesional / percaya diri tengah dalam berbagai jenis tampilan seri waktu dan statistik (jika tidak, itu akan sangat membosankan bagi Anda);
- ada keinginan untuk melihat beberapa aspek "di bawah mikroskop".
Jika Anda memutuskan bahwa persyaratan di atas terpenuhi, selamat datang di kucing.

"Tolong beritahu aku, kemana aku harus pergi dari sini?"
"Ke mana kamu mau pergi?" - jawab si Kucing.
"Aku tidak peduli ..." kata Alice.
"Maka tidak masalah ke mana harus pergi," kata si Kucing.
"... hanya untuk mendapatkan suatu tempat," Alice menjelaskan.
"Kamu pasti akan pergi ke suatu tempat," kata si Kucing. "Kamu harus pergi cukup lama."
Alice in Wonderland oleh Lewis Carroll
Petualangan dimulai ...
. , , , , . , «?» . ? , ( , )! , .
, 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 , «».
Jelas, max dan min akan bekerja secara mandiri. Tetapi bagaimana jika Anda menggabungkan keduanya dan menambahkan rata-rata ke mereka? Ternyata ide ini bukan sesuatu yang baru, pada umumnya kuno, seperti piramida. Dari contoh "klasik" dalam sistem pemantauan, saya ingat tren di Zabbix (saya sengaja mencari tautan ke versi yang lebih lama) dan Graphite Whisper Rollup , serta RRDtool sebelumnya , yang juga digunakan di Cacti , di mana karena beberapa alasan min hilang secara default. Mungkin, terlepas dari semua teks berikut, ini adalah salah satu pendekatan terbaik. Ini cukup informatif, tidak terlalu berisik, intuitif, murah dalam implementasinya, relatif universal dan tersedia di hampir semua sistem modern.
Contoh rendering serupa:- dalam 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 .