مساء الخير عزيزي القارئ! نشأت هذه المقالة من محاولة للنظر في المراقبة التشغيلية من التحليلات. سيكون من المفيد لك:
- شيء من القائمة التالية مألوف: Grafana ، InfluxDB ، Prometheus ، Zabbix ، أو نظام مراقبة آخر بأفكار متشابهة ؛
- أنت لست وسطًا خبيرًا / محترفًا / واثقًا في أنواع مختلفة من عرض السلاسل الزمنية وإحصائياتها (وإلا ، فمن المحتمل جدًا أن تكون مملة بالنسبة لك) ؛
- هناك رغبة في النظر إلى بعض الجوانب "تحت المجهر".
إذا قررت استيفاء الشروط المذكورة أعلاه ، نرحب بك في القط.

"قل لي ، من فضلك ، أين يجب أن أذهب من هنا؟"
"أين تريد أن تذهب؟" - أجاب القطة.
قالت أليس "لا أهتم ...".
قال القطة "ثم لا يهم أين تذهب".
وأوضحت أليس "... فقط للوصول إلى مكان ما".
قال القطة: "من المؤكد أن تذهب إلى مكان ما". "عليك فقط الذهاب لفترة طويلة بما فيه الكفاية."
أليس في بلاد العجائب بواسطة لويس كارول
تبدأ الرحلة ...
. , , , , . , «?» . ? , ( , )! , .
, 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 , «».
من الواضح أن الحد الأقصى والدقيقة سيعملان بشكل مستقل. ولكن ماذا لو قمت بدمج هذين وإضافتهما إلى المتوسط؟ اتضح أن هذه الفكرة ليست شيئًا جديدًا ، فهي قديمة بشكل عام ، مثل الأهرامات. من الأمثلة "الكلاسيكية" في أنظمة المراقبة ، أتذكر الاتجاهات في Zabbix (بحثت عن قصد عن رابط إلى إصدار قديم) و Graphite Whisper Rollup ، بالإضافة إلى أداة RRDtool السابقة ، والتي تم استخدامها أيضًا في Cacti ، حيث لسبب ما كان مفقودًا بشكل افتراضي. ربما ، على الرغم من كل النص التالي ، يعد هذا أحد أفضل الأساليب. إنه غني بالمعلومات تمامًا ، وليس صاخبًا جدًا ، وبديهيًا ، ورخيص التنفيذ ، وعالميًا نسبيًا ومتاح في جميع الأنظمة الحديثة تقريبًا.
أمثلة على العرض المماثل:- في زبكس

- 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 .