
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Elastic Stack ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π½Π΅ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Elasticsearch, ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Kibana ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ (Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΡ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ Logstash, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Beats, APM ΠΈ Π΄Ρ.). ΠΠ΄Π½ΠΎ ΠΎΡ ΠΏΡΠΈΡΡΠ½ΠΈΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΎΠ·ΠΈ ΡΡΠ΅ΠΊ ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ Π΅ Π°Π½Π°Π»ΠΈΠ·ΡΡ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° ΡΠ΅Π·ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠΎΠ»Ρ, ΠΏΠΎΠ΄ ΠΊΠ°Ρ.
ΠΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΏΠ»Π°ΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈΡ Elastic Stack ΠΈ Π΅ ΡΠ°ΡΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° X-Pack. ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ 30-Π΄Π½Π΅Π²Π΅Π½ ΠΏΡΠΎΠ±Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄. Π‘Π»Π΅Π΄ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠΈΡΠΊΠ°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠ΄ΡΠ»ΠΆΠ°Π²Π°Π½Π΅ ΠΈΠ»ΠΈ Π΄Π° Π·Π°ΠΊΡΠΏΠΈΡΠ΅ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ. Π¦Π΅Π½Π°ΡΠ° Π½Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΡ ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Π° ΠΎΡ Π±ΡΠΎΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ. ΠΠ°, ΠΎΠ±Π΅ΠΌΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅ Π²Π»ΠΈΡΠ΅ Π½Π° Π±ΡΠΎΡ Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊΡΠΌ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΏΠΎ-ΡΠΎΠ²Π΅ΡΠ΅Π½ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΡΠ΄ΠΆΠ΅ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°. ΠΠΊΠΎ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ β ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅.
ML Π² Elastic Stack Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΈΠ·Π²ΡΠ½ JVM, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΈΡΡ Elasticsearch. Π’ΠΎΠ΅ΡΡ, ΠΏΡΠΎΡΠ΅ΡΡΡ (ΠΊΠΎΠΉΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ ΡΠ΅ Π½Π°ΡΠΈΡΠ° autodetect) ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ³ΡΠ»Π½Π΅ JVM. ΠΠ° Π΄Π΅ΠΌΠΎ ΡΡΠ΅Π½Π΄Π° ΡΠΎΠ²Π° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΎ, Π½ΠΎ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π° ΡΡΠ΅Π΄Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π²ΡΠ·Π»ΠΈ Π·Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π½Π° ML.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ β ΠΈ . Π Elastic Stack Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΊΡΠΌ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° βΠ±Π΅Π· ΡΡΠΈΡΠ΅Π»β. ΠΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΈ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π°Π½Π½ΠΈ, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ Π½Π° Elasticsearch. ΠΠ°Π΄Π°ΡΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Kibana, ΡΠ°ΠΊΠ° ΠΈ ΡΡΠ΅Π· API. ΠΠΊΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΡΠ΅Π· Kibana, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π·Π½Π°Π΅ΡΠ΅ Π½ΡΠΊΠΎΠΈ Π½Π΅ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π°Π½Π°Π»ΠΈΠ·..ml-state β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°);
.ml-anomalies-* β ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π½Π° ML;
.ml-notifications β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡΡΠ° Π·Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π°.

Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Elasticsearch ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅, ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΡΡΡ
. ΠΠΊΠΎ ΡΡΠ°Π²Π½ΠΈΠΌ Ρ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠ½Π΄Π΅ΠΊΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΎ Ρ ΡΡ
Π΅ΠΌΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΡ Ρ Π·Π°ΠΏΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°. Π’ΠΎΠ²Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΅ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΈ Π΅ Π΄Π°Π΄Π΅Π½ΠΎ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°ΠΌΠΎ ΡΠ° ΡΡΠ²Π°Π»ΠΈ Π·Π° Elasticsearch.
Π§ΡΠ΅Π· API Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠ°ΠΊΡΠ²ΡΠΎ Π΅ ΠΈ ΠΏΡΠ΅Π· ΡΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π·Π°ΡΠΎΠ²Π° Π·Π° ΠΈΠ»ΡΡΡΡΠ°ΡΠΈΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΡΡΠ΅Π· Kibana. Π ΠΌΠ΅Π½ΡΡΠΎ Π²Π»ΡΠ²ΠΎ ΠΈΠΌΠ° ΡΠ°Π·Π΄Π΅Π» Machine Learning, Π² ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Π½ΠΎΠ²Π° Π·Π°Π΄Π°ΡΠ° (Job). Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Kibana ΡΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ. Π‘Π΅Π³Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΠ΅ΠΊΠΈ ΡΠΈΠΏ Π·Π°Π΄Π°ΡΠ° ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²ΠΈΠ΄ΠΎΠ²Π΅ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°Π½ΠΈ ΡΡΠΊ.

Single Metric β Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΅Π΄Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°, Multi Metric β Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π²ΡΡΠΊΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π°, Ρ.Π΅. Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ Π½Π΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠ°ΠΊΡΠΎ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π² ΡΠ»ΡΡΠ°Ρ Π½Π° Multi Metric. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΊΠΎΡΠ΅Π»Π°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ Population-Π°Π½Π°Π»ΠΈΠ·. Π Advanced β ΡΠΎΠ²Π° Π΅ ΡΠΈΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
Single Metric
ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ° Π½Π° Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° β Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΡΠΊ. Π‘Π»Π΅Π΄ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° Create Job, Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΡΠ΅ ΡΡΡΡΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ.

Π ΠΏΠΎΠ»Π΅ΡΠΎ Aggregation ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Min Π°Π½ΠΎΠΌΠ°Π»Π½ΠΈ ΡΠ΅ ΡΠ΅ ΡΡΠΈΡΠ°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ ΡΠΈΠΏΠΈΡΠ½ΠΈΡΠ΅. ΠΠΌΠ° Max, High Mean, Low, Mean, Distinct ΠΈ Π΄ΡΡΠ³ΠΈ. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ .
Π ΠΏΠΎΠ»Π΅ΡΠΎ Field ΡΠ΅ ΡΠΊΠ°Π·Π²Π° ΡΠΈΡΠ»ΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π°Π½Π°Π»ΠΈΠ·.
Π ΠΏΠΎΠ»Π΅ΡΠΎ β Π³ΡΠ°Π½ΡΠ»Π°ΡΠ½ΠΎΡΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ, ΠΏΠΎ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ Π²ΠΎΠ΄ΠΈ Π°Π½Π°Π»ΠΈΠ·. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠΈΡΠ΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠΊΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΡΡΠ½ΠΎ. ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ²ΡΡΠ΄Π΅ Π½ΠΈΡΠΊΠ° Π³ΡΠ°Π½ΡΠ»Π°ΡΠ½ΠΎΡΡ β ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π΅ΡΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Π·ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° ΠΊΡΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈΡΠ΅.

ΠΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ±ΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ β ΠΊΠ»ΡΡΠΎΠ²Π° Π²Π΅Ρ, ΠΊΠΎΡΡΠΎ Π²Π»ΠΈΡΠ΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°. ΠΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ, ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° Π΄ΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ (Π±Π°Π·ΠΎΠ²ΠΈ Π»ΠΈΠ½ΠΈΠΈ) ΠΈ ΠΎΡΠΊΡΠΈΠ²Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ β Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°. ΠΡΠΎΡΡΠΎ Π·Π° ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΠΏΡΠΈ ΠΌΠ°Π»ΡΠΊ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΠΈ:

ΠΠΎΠ³Π°ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΠΈΠΌΠ° Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΡΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΡΠ°ΠΊΠ°:

Π‘Π»Π΅Π΄ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠ°ΡΠ°, Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π°Π½ΠΎΠΌΠ°Π»Π½ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ Π½ΠΎΡΠΌΠ°ΡΠ° ΠΈ Π³ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ·ΠΈΡΠ° ΠΏΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΡΡΠ° (Π² ΡΠΊΠΎΠ±ΠΈΡΠ΅ Π΅ ΡΠΊΠ°Π·Π°Π½ΠΈ ΡΠ²Π΅ΡΡΡ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° Π΅ΡΠΈΠΊΠ΅Ρ):
Warning (ΡΠΈΠ½): ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 25
Minor (ΠΆΡΠ»Ρ): 25-50
Major (ΠΎΡΠ°Π½ΠΆΠ΅Π²): 50-75
Critical (ΡΠ΅ΡΠ²Π΅Π½): 75-100
ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ.

Π’ΡΠΊ Π΅ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΡΠΈΡΠ»ΠΎΡΠΎ 94, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° Π·Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ. Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ 100, ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ. Π ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° Π΅ ΡΠΊΠ°Π·Π°Π½Π° ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΠΆΠΈΠΌΠΎ ΠΌΠ°Π»ΠΊΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡ 0.000063634% Π·Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°.
ΠΡΠ²Π΅Π½ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π² Kibana, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°. Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ Π»Π΅ΡΠ½ΠΎ ΠΈ ΠΎΡ ΡΡΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈΡΠ΅ β Π±ΡΡΠΎΠ½Π° Forecast Π² Π³ΠΎΡΠ½ΠΈΡ Π΄Π΅ΡΠ΅Π½ ΡΠ³ΡΠ».

ΠΡΠΎΠ³Π½ΠΎΠ·Π°ΡΠ° ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π·Π° 8 ΡΠ΅Π΄ΠΌΠΈΡΠΈ Π½Π°ΠΏΡΠ΅Π΄. ΠΠΎΡΠΈ Π΄Π° ΡΠ΅ ΠΈΡΠΊΠ°, ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ Π·Π°ΠΌΠΈΡΡΠ».

Π Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π²ΡΡΡ
Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
ΠΡΠ»ΡΠΈΠΌΠΈΠ΅ΡΡΠΈΠΊΠ°
ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΊΡΠΌ ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ML Π² Elastic Stack β Π°Π½Π°Π»ΠΈΠ· Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ. ΠΠΎ ΡΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ΅ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° Π΅Π΄Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΎΡ Π΄ΡΡΠ³Π°. Π’ΠΎΠ²Π° Π΅ ΡΡΡΠΎΡΠΎ ΠΊΠ°ΡΠΎ Single Metric, ΡΠ°ΠΌΠΎ ΡΠ΅ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½ Π΅ΠΊΡΠ°Π½ Π·Π° ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΅Π΄Π½Π°ΡΠ° Π²ΡΡΡ Ρ Π΄ΡΡΠ³Π°ΡΠ°. ΠΠ° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° Π΅Π΄Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΎΡ Π΄ΡΡΠ³Π° ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π² ΡΠ°ΡΡΡΠ° Population.
Π‘Π»Π΅Π΄ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° Ρ ΠΡΠ»ΡΠΈΠΌΠΈΠ΅ΡΡΠΈΠΊΠ° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ΅ΠΊΠ° ΡΠ΅ ΡΠΏΡΠ΅ΠΌ Π½Π° ΡΡΡ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.

ΠΡΡΠ²ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ ΡΡΡ
. ΠΠ°ΡΠΈΠ°Π½ΡΠΈΡΠ΅ Π·Π° Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΡΡΠΊ ΡΠ° ΡΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ Π·Π° Single Metric (Max, High Mean, Low, Mean, Distinct ΠΈ Π΄ΡΡΠ³ΠΈ). Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Π°ΠΊΠΎ ΠΆΠ΅Π»Π°Π΅ΡΠ΅, ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ ΠΏΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° (ΠΏΠΎΠ»Π΅ Split Data). Π ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½ΠΈΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ ΠΏΠΎ ΠΏΠΎΠ»Π΅ΡΠΎ OriginAirportID. ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π²Π΄ΡΡΠ½ΠΎ ΡΠ΅Π³Π° Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΡΠ°ΡΠΈΠΊΠΈ.

ΠΠΎΠ»Π΅ ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° (Influencers) ΠΏΡΡΠΊΠΎ Π²Π»ΠΈΡΠ΅ Π½Π° Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΡΠΊ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ½Π΅ Π΅Π΄Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ, Π° Π²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ. ΠΠ»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΡΠ΅ ΠΎΡΡΠΈΡΠ° Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π°ΠΉ-βΠ²Π»ΠΈΡΡΠ΅Π»Π½ΠΈΡΠ΅β ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
Π‘Π»Π΅Π΄ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Kibana ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°ΠΊΠ°Π²Π° ΠΊΠ°ΡΡΠΈΠ½Π°.

Π’ΠΎΠ²Π° Π΅ Ρ.Π½. ΡΠΎΠΏΠ»ΠΈΠ½Π½Π° ΠΊΠ°ΡΡΠ° Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΏΠΎ Π²ΡΡΠΊΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ. OriginAirportID, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡ
ΠΌΠ΅ Π² Split Data. ΠΠ°ΠΊΡΠΎ ΠΏΡΠΈ Single Metric, ΡΠ²Π΅ΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π°Π½ΠΎΠΌΠ°Π»Π½ΠΎΡΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΠ΄ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π΅ ΡΠ΄ΠΎΠ±Π΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ°Π½ΡΠΈΠΈ, Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Ρ.Π½. ΠΠ΅ΡΠ΅ ΠΏΠΈΡΠ°Ρ
ΠΌΠ΅ , ΠΊΠΎΠΈΡΠΎ ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠ±ΠΈΡΠ°Π½ΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠΊ.
ΠΠΎΠ΄ ΡΠ΅ΡΠΌΠ°Π»Π½Π°ΡΠ° ΠΊΠ°ΡΡΠ° ΡΠΏΠΈΡΡΠΊ Ρ aΠ½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Single Metric Π·Π° Π΄Π΅ΡΠ°ΠΉΠ»Π΅Π½ Π°Π½Π°Π»ΠΈΠ·.
Population
ΠΠ° Π΄Π° ΡΡΡΡΠΈΡΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΡΡΠ΅Π΄ ΠΊΠΎΡΠ΅Π»Π°ΡΠΈΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π² Elastic Stack ΠΈΠΌΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Population Π°Π½Π°Π»ΠΈΠ·. Π‘ Π½Π΅Π³ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΡΠ΅ Π°Π½ΠΎΠΌΠ°Π»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΡΡΠ²ΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΏΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.

ΠΠ° ΡΠ°Π·ΠΈ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ Π² ΠΏΠΎΠ»Π΅ΡΠΎ Population Π΅ ΡΠΊΠ°Π·Π°Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ°, Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΎΡ Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π΅ Π²Π»ΠΈΡΠ΅Π»ΠΎ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ.
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΡΡ Π½Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ ΡΠ»ΡΡΠ°ΠΈΡΠ΅ Ρ Single Metric ΠΈ Multi Metric. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π² Kibana ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΏΡΠΈΡΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.

ΠΡ Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° ΡΠ΅ Π²ΠΈΠΆΠ΄Π°, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ stress (ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°) Π½Π° ΡΡΡΠ²ΡΡΠ° poipu, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠΊΠ°Π·Π°Π» Π²Π»ΠΈΡΠ½ΠΈΠ΅ (ΠΈΠ»ΠΈ Π΅ Π±ΠΈΠ» ΠΈΠ½ΡΠ»ΡΠ΅Π½ΡΡΡ) Π·Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΡ.
Π Π°Π·ΡΠΈΡΠ΅Π½
ΠΠ½Π°Π»ΠΈΠ· Ρ ΡΠΈΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π°Π½Π°Π»ΠΈΠ· Π² Kibana ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Π‘Π»Π΅Π΄ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΌΠ΅Π½ΡΡΠΎ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ»ΠΎΡΠΊΠ°ΡΠ° Advanced, ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΏΡΠΎΠ·ΠΎΡΡΠ΅ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈ. Π Π°Π·Π΄Π΅Π»ΡΡ Job Details Π±Π΅ΡΠ΅ ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ ΡΠΌΠΈΡΠ»Π΅Π½ΠΎ, ΡΠ°ΠΌ ΠΈΠΌΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ ΠΏΡΡΠΊΠΎ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°.

Π summary_count_field_name ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ β Π±ΡΠΎΡ Π½Π° ΡΡΠ±ΠΈΡΠΈΡΡΠ° Π² ΠΌΠΈΠ½ΡΡΠ°. Π ΡΠ΅ ΡΠΊΠ°Π·Π²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ. ΠΠΎ ΠΌΠ°ΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±ΡΡΠΎΠ½Π° Add detector Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΈΠ»ΡΡΡΡΠ°ΡΠΈΡ. ΠΠΎ-Π΄ΠΎΠ»Ρ Π΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ Π±ΡΡΠΎΠ½.

Π’ΡΠΊ Π΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π±Π»ΠΎΠΊ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π·Π°Π΄Π°ΡΠ°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° (ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΠ΅Π·ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°) ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΈΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ. Π’ΠΎΠΉ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΄ΠΊΠΎ ΡΡΠ΅ΡΠ°ΡΠΈ ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° .
Π ΠΏΠΎΠ»Π΅ΡΠΎ function ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΡΠ²Π΅Π½ rare, ΠΠΌΠ° ΠΈ ΠΎΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ β . Π’Π΅ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Ρ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ ΠΏΡΠ΅Π· Π΄Π΅Π½Ρ ΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΌΠΈΡΠ°ΡΠ° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ. ΠΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· .
Π field_name ΠΏΠΎΡΠΎΡΠ²Π° ΠΏΠΎΠ»Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ·. By_field_name ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎ Π²ΡΡΠΊΠ° ΠΎΡΠ΄Π΅Π»Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎΡΠΎ ΠΏΠΎΠ»Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΠΊΠΎ ΠΏΠΎΠΏΡΠ»Π½ΠΈΡΠ΅ over_field_name ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ population-Π°Π½Π°Π»ΠΈΠ·, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅. ΠΠΊΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² partition_field_name, ΡΠΎ ΠΏΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ»Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ (Π² ΡΠΎΠ»ΡΡΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π°Ρ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΡΠ²ΡΡΠ°). Π exclude_frequent ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ»ΠΈ none, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ (ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅) Π½Π° ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅.
Π ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°Ρ
ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΊΡΠ°ΡΠΊΠΎ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π² Elastic Stack, Π·Π°Π΄ ΠΊΠ°Π΄ΡΡ ΠΎΡΡΠ°Π½Π°Ρ
Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ. ΠΠ°ΠΆΠ΅ΡΠ΅ Π½ΠΈ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΡΠ΅ ΡΡΠΏΠ΅Π»ΠΈ Π΄Π° ΡΠ΅ΡΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Elastic Stack ΠΈ Π·Π° ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅. ΠΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡ Ρ Π½Π°Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π»ΠΈΡΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π₯Π°Π±ΡΠ΅ ΠΈΠ»ΠΈ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
