ΠΠ½Π΅Ρ Π½Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΎΡΠ²Π΅Π½ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈΡ ΠΊΠΎΠ΄, ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ. ΠΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠ° Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠΌ Π² ΡΠΎΠ»ΠΊΠΎΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ»ΡΠ³Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅. Π’Π΅ ΠΌΠΎΠ³Π°Ρ ΡΠ°ΠΌΠΈ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ Π½Π° ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²Π΅ ΠΈ Π΄Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΡΡ Π°Π»Π°ΡΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π³ΠΎΠ²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. ΠΡ DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ β ΡΠ°ΠΌΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
Π’ΠΎΠ·ΠΈ ΠΏΠΎΡΡ Π΅ ΡΡΠ°Π½ΡΠΊΡΠΈΠΏΡΠΈΡ Π½Π° ΠΌΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΊΠ°Π·Π²Π°Π½Π΅ ΠΎΡ Π½Π°ΡΠ°ΡΠ° Π½Π° RIT++. ΠΠ½ΠΎΠ·ΠΈΠ½Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ»ΠΈΡ Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅ ΠΎΡ ΡΠ°ΠΌ. ΠΠΊΠΎ ΡΡΠ΅ Π±ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° ΠΈΠ»ΠΈ ΡΡΠ΅ Π³Π»Π΅Π΄Π°Π»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠΎ, Π½ΡΠΌΠ° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½ΠΈΡΠΎ Π½ΠΎΠ²ΠΎ. Π Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ β Π΄ΠΎΠ±ΡΠ΅ Π΄ΠΎΡΠ»ΠΈ ΠΏΠΎΠ΄ ΠΊΠ°Ρ. Π©Π΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅.

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

ΠΠΌΠ°Ρ
ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 24 Π²ΡΠ·Π΅Π»Π°, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ
Π° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π’ΡΠΊ ΠΈΠΌΠ° ΠΊΡΠΏΠΈΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΡΠΎΠ½ΠΎΠ²Π΅, ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π΄Π΅ΠΌΠΎΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ΡΠΎ Π½ΡΠΊΡΠ΄Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΡΡ, ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΌΠΈΡΠ»ΠΈΡ
ΠΌΠ΅ ΡΠΈ, ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-Π΄Π°Π»Π΅Ρ ΡΡΠΈΠ³Π½Π΅ΠΌ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅: ΡΠ²ΡΡΠ΄Π΅ ΠΎΠ±Π΅ΠΌΠ½Π°.
Π Π΅ΡΠΈΡ
ΠΌΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΎΠ½Π΅Π·ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅, ΠΈ ΡΠ΅Π·ΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ. ΠΠΊΠ°Π·Π°Ρ
Π° ΡΠ΅ 19. ΠΡΡΠ°Π½Π°Ρ
Π° ΡΠ°ΠΌΠΎ Π³ΡΠ°ΡΠΈΡΠΈ, Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠΈ ΠΈ Grafana ΠΊΠ°ΡΠΎ Π΄Π°ΡΠ±ΠΎΡΠ΄. ΠΠΎ ΠΊΠ°ΠΊ Π»ΠΈ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°? ΠΡΠΎ ΡΠ°ΠΊΠ°:

ΠΠΌΠ°ΠΌΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ: ΡΠΎΠ²Π° ΡΠ° Π³ΡΠ°ΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Ρ Π½Π° Π±ΡΡΠ·ΠΈ SSD Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠΈ Π·Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° β Grafana Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²Π΅ ΠΈ Moira ΠΊΠ°ΡΠΎ Π°Π»Π°ΡΠΌΠΈΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ.
Π‘ΡΠ°Π½Π΄Π°ΡΡ: ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ 2.0
Π’Π°ΠΊΠ° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠ΅Π· 2015. ΠΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΡΠ°ΠΌΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°, Π½ΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π½Π΅Ρ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π΅Π½ ΡΡΠ°Π½Π΄Π°ΡΡ, ΠΊΠΎΠΉΡΠΎ Π½Π°ΡΠ΅ΠΊΠΎΡ ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ 2.0. ΠΠ°ΠΊΠ²ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π±ΡΡ Π° ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°?
- ΠΏΠΎΡΡΠΎΡΠ½Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ;
- ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ = 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ;
- ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ ΡΠ°Π±Π»Π° Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ;
- SLA > 99,99%
- ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠΈΠΉΠ½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ UDP (!).
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π½ΠΈ Π±Π΅ΡΠ΅ UDP, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π³ΠΎΠ»ΡΠΌ ΠΏΠΎΡΠΎΠΊ ΠΎΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ ΡΡΠ±ΠΈΡΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΠΊΠΎ Π³ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π²ΡΠΈΡΠΊΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ Π² Graphite, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΡΠ΅ ΠΏΠ°Π΄Π½Π΅. ΠΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.

ΠΡΠ΅ΠΊΠΈ ΠΎΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΈΡΠ΅ Π½ΠΎΡΠΈ Π½ΡΠΊΠ°ΠΊΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ. ΠΠΌΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΡΡΡΠ²ΡΡΠΈ, ΠΌΡΠ΅ΠΆΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ΅ΡΡΡΡΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΡΡΠ½Π°, ΡΡΡΠΎΠ³Π°, ΡΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠΈΠ»ΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ°ΠΌΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ, Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π³ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΠΌΠ΅. Π’Π°ΠΊΠ° ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ
ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π· 2015 Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅Π³Π°?
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ: ΡΡ Π΅ΠΌΠ° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°: Π½Π°ΡΠΈΡ PHP ΠΊΠΎΠ΄, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ β Ρ Π΅Π΄Π½Π° Π΄ΡΠΌΠ°, Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΈΡΠ°Ρ Π½Π°ΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. ΠΡΠΈΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΡΠΌ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠ° Brubeck (statsd, ΠΏΡΠ΅ΠΏΠΈΡΠ°Π½ Π½Π° C) ΡΡΠ΅Π· UDP. Π’ΠΎΠΉ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π½Π°ΠΉ-Π±ΡΡΠ· Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅. Π ΡΠΎΠΉ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π²Π΅ΡΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite ΡΡΠ΅Π· TCP.
ΠΠΌΠ° ΡΠ°ΠΊΡΠ² ΡΠΈΠΏ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠΈ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π²ΡΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΡ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π² Brubeck ΠΌΠ΅ΡΡΠΈΠΊΠ° Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ. ΠΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ, Π° Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΡΡ ΠΈΠ·Π΄Π°Π²Π° ΡΠ°ΠΌΠΎ 10 ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΠΌΠ°ΡΠ΅ Π±ΡΠΎΠΉ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΈ ΡΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΈ 4 ΠΏΠ΅ΡΡΠ΅Π½ΡΠΈΠ»Ρ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π² Graphite ΠΈ Π³ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π½Π° ΠΌΡΡΡΠΎ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π·Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ Ρ Π°ΡΠ΄ΡΠ΅Ρ, ΡΠΎΡΡΡΠ΅Ρ, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π½Π°ΡΠ°ΡΠ° ΡΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Munin (ΡΡ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΠΏΡΠΈ Π½Π°Ρ Π΄ΠΎ 2015 Π³.). ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΡΡΠ΅Π· C Π΄Π΅ΠΌΠΎΠ½Π° CollectD (Π² Π½Π΅Π³ΠΎ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½Π° ΡΡΠ»Π° ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π° ΠΊΠΎΡΡΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½, ΠΏΡΠΎΡΡΠΎ Π·Π°Π΄Π°ΠΉΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠ΄Π΅ Π΄Π° ΠΏΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅) ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Graphite. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° python ΠΈ shell ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ: CollectD ΡΠ΅ ΡΡΠ±ΠΈΡΠ° ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Ρ ΠΎΡΡ (ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΈΠΌΠ° Curl) ΠΈ ΡΠ΅ Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π² Graphite.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π² Carbon-c-relay. Π’ΠΎΠ²Π° Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Carbon Relay ΠΎΡ Graphite, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ Π½Π° C. Π’ΠΎΠ²Π° Π΅ ΡΡΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ±ΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠΈ, ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ° ΡΡΡ ΠΏΠΎ Π½ΠΎΠ΄ΠΎΠ²Π΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅. Π’Π΅, ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΈΡΠ΅, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ ΠΏΠΎ-ΡΠ°Π½ΠΎ ΠΈ, ΠΎΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, Π΄Π° ΡΠ° Π²Π°Π»ΠΈΠ΄Π½ΠΈ Π·Π° Graphite. Π ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»ΡΡ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Carbon-c-relay ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Graphite. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Carbon-cache ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΏΡΠ΅ΠΎΡΠΌΠΈΡΠ»Π΅Π½ΠΎ Π½Π° Go. Go-carbon ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ²ΠΎΡΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°Π΄ΠΌΠΈΠ½Π°Π²Π° Carbon-cache ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π’ΠΎΠΉ ΠΏΡΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π³ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° Π½Π° Π΄ΠΈΡΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° whisper (ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python). ΠΠ° Π΄Π° ΡΠ΅ΡΠ΅ΠΌ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Graphite API. Π’ΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ Graphite WEB. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ?
Π’Π΅ ΠΎΡΠΈΠ²Π°Ρ Π² Grafana. ΠΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Graphite, ΠΏΠ»ΡΡ ΠΈΠΌΠ°ΠΌΠ΅ Grafana ΠΊΠ°ΡΠΎ ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»Π°. ΠΡΠ΅ΠΊΠΈ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΡΠ°Π±Π»ΠΎ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΈΡΠ°Ρ ΠΎΡ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ²Π΅Π½ Grafana, ΠΈΠΌΠ°ΠΌΠ΅ ΠΈ SLAM. Π’ΠΎΠ²Π° Π΅ Python Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° SLA Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Graphite. ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ , ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SLAM ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΈ Ρ ΡΡΠ°Π²Π½ΡΠ²Π°ΠΌΠ΅ Ρ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π² Graphite ΠΈ ΡΡΠ°Π²Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ²ΠΈΠ·ΠΈ.
ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅: Π°Π»Π΅ΡΡΠΈΡΠ°Π½Π΅. Π’ΠΎ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠΎΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° β Moira. Π’Ρ Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°, Π·Π°ΡΠΎΡΠΎ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Graphite. Π Π°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π΅ ΠΎΡ Π΅ΠΊΠΈΠΏΠ° Π½Π° Π‘ΠΠ βΠΠΎΠ½ΡΡΡβ, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Python ΠΈ Go, Π½Π°ΠΏΡΠ»Π½ΠΎ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄. Moira ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ²Π° Π² Graphite. ΠΠΊΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° Π²Π°ΡΠ΅ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ΅ ΡΡΡΠΏΠΈ, Π²Π°ΡΠ΅ΡΠΎ Π°Π»Π΅ΡΡΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
Moira Π΅ ΡΠ°Π·Π²ΠΈΡΠ° Π² Kubernetes ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Redis ΡΡΡΠ²ΡΡΠ΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΡΡΠΎΠΉΡΠΈΠ²Π° Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°. Π’Ρ ΡΡΠ°Π²Π½ΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠ° ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΡΡΠΈΠ³Π΅ΡΠΈΡΠ΅: Π°ΠΊΠΎ Π² Π½Π΅Π³ΠΎ Π½ΡΠΌΠ° ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½ΠΈΡ, ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π²Π°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡΡΠ°.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π΅Π½ LDAP, ΡΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ (ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ) ΡΡΠΈΠ³Π΅ΡΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Moira Π² ΡΠ΅Π±Π΅ ΡΠΈ ΡΡΠ΄ΡΡΠΆΠ° Graphite, ΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΡΠΎΠ²Π° ΠΏΡΡΠ²ΠΎ Π²Π·ΠΈΠΌΠ°ΡΠ΅ ΡΠ΅Π΄Π° ΠΈ Π³ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π² Grafana. ΠΠ»Π΅Π΄Π°ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π² Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π²Π·ΠΈΠΌΠ°ΡΠ΅ ΡΡΡΠΈΡ ΡΠ΅Π΄ ΠΈ Π³ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π² Moira. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π»ΠΈΠΌΠΈΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠΈΡ. ΠΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π½Π΅ ΡΠ° Π²ΠΈ Π½ΡΠΆΠ½ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π½Π°Π½ΠΈΡ. Moira ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΠΏΠΎ SMS, ΠΈΠΌΠ΅ΠΉΠ», Π² Jira, Slack ΠΈ Π΄Ρ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠΎΠ³Π°ΡΠΎ Π½Π°ΡΡΡΠΏΠΈ ΡΡΠΈΠ³Π΅Ρ ΠΈ ΡΡ Π΅ Π°Π±ΠΎΠ½ΠΈΡΠ°Π½Π° Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ», ΡΡ Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ° ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π° JSON Π½Π° stdin Π½Π° ΡΠΎΠ·ΠΈ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ». Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, Π²Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΠΏΠ°ΡΡΠΈΡΠ°. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΏΡΠ°Π²ΠΈΡΠ΅ Ρ ΡΠΎΠ·ΠΈ JSON β ΡΠ΅ΡΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ. ΠΡΠΊΠ°ΡΠ΅ β ΠΈΠ·ΠΏΡΠ°ΡΠ΅ΡΠ΅ Π² Telegram, ΠΈΡΠΊΠ°ΡΠ΅ β ΠΎΡΠ²Π°ΡΡΠΉΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² Jira, ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π΅ΡΠ΅.
ΠΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ β Imagotag. ΠΠ΄Π°ΠΏΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΠ°Π½Π΅Π», ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈ ΡΠ΅Π½ΠΈ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΈΡΠ΅, Π·Π° Π½Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ. ΠΠ·Π²Π΅Π»ΠΈ ΡΠΌΠ΅ ΡΡΠΈΠ³Π΅ΡΠΈΡΠ΅ ΠΎΡ Moira Π½Π° Π½Π΅Π³ΠΎ. Π’Π°ΠΌ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π² ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ° ΠΈ ΠΊΠΎΠ³Π° ΡΠ° ΡΠ΅ ΡΠ»ΡΡΠΈΠ»ΠΈ. Π§Π°ΡΡ ΠΎΡ Π΅ΠΊΠΈΠΏΠ° ΠΎΡΠΊΠ°Π·Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π² Slack ΠΈ ΠΈΠΌΠ΅ΠΉΠ» Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠ°Π½Π΅Π».

Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΠΈΠ²Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΡΠ»Π΅Π΄ΠΈΠΌ ΠΈ Kubernetes Π² ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΊΠ»ΡΡΠΈΡ
ΠΌΠ΅ Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ΅Π· Heapster, ΠΊΠΎΠΉΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ
ΠΌΠ΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΠΎΠΉ ΡΡΠ±ΠΈΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π² Graphite. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΡ
Π΅ΠΌΠ°ΡΠ° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:

ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΡΠΎ ΡΠΏΠΈΡΡΠΊ Π½Π° Π»ΠΈΠ½ΠΊΠΎΠ²Π΅ ΠΊΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Π·Π° ΡΠ°Π·ΠΈ Π·Π°Π΄Π°ΡΠ°. ΠΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
Graphite:
- go-carbon:
- whisper:
- graphite-api:
Carbon-c-relay:
Brubeck:
Collectd:
Moira:
Grafana:
Heapster:
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
Π Π΅ΡΠΎ ΠΌΠ°Π»ΠΊΠΎ ΡΠΈΡΡΠΈ Π·Π° ΡΠΎΠ°, ΠΊΠ°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°Ρ Π½Π°Ρ.
Aggregator (brubeck)
ΠΡΠΎΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ: ~ 300 000 / ΡΠ΅ΠΊ.
ΠΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π²ΠΎ Graphite: 30 ΡΠ΅ΠΊ.
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ: ~ 6% CPU (ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠ½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ); ~ 1Gb RAM; ~ 3 Mbps LAN
Graphite (go-carbon)
ΠΡΠΎΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ: ~ 1 600 000 / ΠΌΠΈΠ½.
ΠΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅: 30 ΡΠ΅ΠΊ.
Π¨Π΅ΠΌΠ° Π½Π° ΡΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ: 30ΡΠ΅ΠΊ 35Π΄, 5ΠΌΠΈΠ½ 90Π΄, 10ΠΌΠΈΠ½ 365Π΄ (Π΄Π°Π²Π° ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΡ Π²ΠΎ Π΄ΠΎΠ»Π³ ΡΠΎΠΊ)
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ: ~ 10% CPU; ~ 20Gb RAM; ~ 30 Mbps LAN
ΠΡΠ²ΠΊΠ°Π²ΠΎΡΡ
ΠΠΎ Avito ΠΌΠ½ΠΎΠ³Ρ ΡΠ° ΡΠ΅Π½ΠΈΠΌΠ΅ ΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° Π½Π° Π½Π°ΡΠΈΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΠ²ΠΈΡ. ΠΠΎΡΡΠΎ, Π²ΡΡΡΠ½ΠΎΡΡ, ΡΠΎΡ Π΅ ΡΠ°ΠΊΠ°? ΠΡΠ²ΠΎ, Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ: ΠΈ ΡΠ°ΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΈ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ. ΠΡΠΎΡΠΎ β ΠΏΠΎΠ΄Π΄ΡΠΆΠ»ΠΈΠ²ΠΎΡΡ. ΠΠΎΡΡΠΎ ΡΠ΅Π»ΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈΠ·Π²ΠΎΡΠΈ, Π²ΠΈΠ΅ ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΡ, Π΄Π° Π²Π½Π΅ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠΎ ΠΏΠ°ΠΊΡΠ²Π°ΡΠ΅ΡΠΎ. ΠΠΎΡΠΈΡΡΠ°Ρ Π΄ΠΎΡΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅ΡΠΈ ΡΡΠ΅ΠΊΠΈ, Π³Π»Π°Π²Π½ΠΎ Go ΠΈ Python, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠΎΠ° Π΅ ΡΠ΅Π»Π°ΡΠΈΠ²Π½ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ.
ΠΠ²Π΅ Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠ΅Π°Π»Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ΅ΡΡΠΈΠΊΠ°ΡΠ° Π²ΠΎ Graphite β ΡΠΎΠ° Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°. ΠΠΌΠ° ΠΈΠΌΠ΅. ΠΠΌΠ΅ΡΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° = ΠΈΠΌΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°. Π ΠΏΠΎΡΡΠΎΠΈ ΠΏΠ°Ρ Π΄ΠΎ Π½Π΅Π°. ΠΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π²ΠΎ Linux ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π½Π° 255 ΡΠΈΠΌΠ±ΠΎΠ»ΠΈ. Π Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ (ΠΊΠ°ΠΊΠΎ "Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ Π½Π°ΡΠ°ΡΠ°ΡΠ΅Π»ΠΈ") Π»ΡΡΠ΅ ΠΎΠ΄ ΠΎΠ΄Π΄Π΅Π»ΠΎΡ Π·Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π’ΠΈΠ΅ Π½ΠΈ Π²Π΅Π»Π°Ρ: "Π‘Π°ΠΊΠ°ΡΠ΅ Π΄Π° Π³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ SQL-Π·Π°ΠΏΡΠ°ΡΡΠ²Π°ΡΠ΅. Π ΡΠΈΠ΅ β Π½Π΅ 255 ΡΠΈΠΌΠ±ΠΎΠ»ΠΈ, ΡΡΠΊΡ 8 MB ΡΠ΅ΠΊΠΎΡΠ°. Π‘Π°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΠΌΠ΅ Π²ΠΎ Grafana, Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ²Π°Π° Π½Π°ΡΠ°ΡΠΊΠ°, Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ, ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΏ ΡΠ°ΠΊΠ²ΠΈ Π½Π°ΡΠ°ΡΠΊΠΈ. ΠΠΈ Π±ΠΈΠ»ΠΎ ΡΡΠΏΠ΅Ρ Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π ΡΠΎΡΠ΅ΠΌΠ° ΠΊΡΠ» Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° Π³ΠΈ Π²ΠΊΠ»ΡΡΠΈΠΌΠ΅ Π²ΠΎ Π°Π»Π°ΡΠΌΠΎΡ."

ΠΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° SQL-Π·Π°ΠΏΡΠ°ΡΡΠ²Π°ΡΠ΅ Π΅ Π·Π΅ΠΌΠ΅Π½ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄
Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ Redis ΡΡΡΠ²ΡΡ ΠΈ Π½Π°ΡΠΈΡΠ΅ Collectd ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ Postgres ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡΡΠ°ΠΌ, ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite. ΠΠΎ ΡΠΌΠ΅Π½ΡΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° Ρ Ρ Π΅ΡΠΎΠ²Π΅. Π’ΠΎΠ·ΠΈ Ρ Π΅Ρ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π² Redis ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡ, Π° ΡΠ΅Π»ΠΈΡΡ SQL Π·Π°ΡΠ²ΠΊΠ° - ΠΊΠ°ΡΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡ. ΠΡΡΠ°Π²Π° Π½ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ Grafana Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ Redis ΠΈ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠ²Π°ΡΡΠΌΠ΅ Graphite API, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Ρ Graphite, ΠΈ Π²ΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°ΡΠ΅ΡΠ΅Π½Π° aliasByHash() β ΠΎΡ Grafana ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° ΠΈ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΊΡΠΌ Redis ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡ, Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠ° Π½Π°ΡΠΈΡ βSQL Π·Π°ΡΠ²ΠΊΠ°β. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π² Grafana SQL Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π΅ Π±ΠΈ ΠΌΠΎΠ³Π»Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ°ΠΌ, Π·Π°Π΅Π΄Π½ΠΎ ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎ Π½Π΅Ρ (ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΎΠ±ΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ...).
Π Π΅Π·ΡΠΌΠ΅
ΠΠ°Π»ΠΈΡΠ½ΠΎΡΡ. ΠΠ°ΡΠΈΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΠ²ΠΈΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ 24/7 ΠΎΡ Π²ΡΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ΄. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠ·ΠΈΠΊΡΡ Π½Π΅ Π΅ Π²Π°ΠΆΠ΅Π½, ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π½Π΅ ΡΠ° Π²Π°ΠΆΠ½ΠΈ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠΎΠΊΠ΅Ρ, Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° ΠΈ Π΄Π° Π·Π°ΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠΎΠΊΠ΅ΡΠ°.
ΠΠ°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ. ΠΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ Π½Π° ΠΎΡΠΊΠ°Π·ΠΈ ΠΈ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Π΄ΠΎΠ±ΡΠ΅ Ρ Π½Π°ΡΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ.
ΠΠΈΡΡΠΊ ΠΏΡΠ°Π³ Π½Π° Π²Π»ΠΈΠ·Π°Π½Π΅. ΠΠ° Π΄Π° ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·ΡΡΠ°Π²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² Grafana. ΠΡΠΎΡΡΠΎ ΠΎΡΠ²Π°ΡΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ, Π²ΠΏΠΈΡΠ²Π°ΡΠ΅ ΡΠΎΠΊΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite, Π·Π°ΡΠ²Π°ΡΡΡΠ΅ Π³ΠΎ, ΠΎΡΠ²Π°ΡΡΡΠ΅ Grafana, ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ°ΠΌ ΡΠ°Π±Π»Π° ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΡΡΠ΅Π· Moira.
Π‘Π°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎΡΡ. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ, Π±Π΅Π· ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ. Π ΡΠΎΠ²Π° Π΅ ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΈ Π²Π΅Π΄Π½Π°Π³Π°, Π±Π΅Π· Π΄Π° ΠΌΠΎΠ»ΠΈΡΠ΅ Π½ΠΈΠΊΠΎΠ³ΠΎ β Π½ΠΈΡΠΎ Π·Π° Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°, Π½ΠΈΡΠΎ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΡΠ΅ΠΌΠΈΠΌ?
ΠΡΠΈΡΠΊΠΎ ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ Π½Π΅ ΡΠ° ΠΏΡΠΎΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΈ ΠΌΠΈΡΠ»ΠΈ, Π° Π½Π΅ΡΠ°, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠΌΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ½Π΅ ΠΏΡΡΠ²ΠΈ ΡΡΡΠΏΠΊΠΈ.
- ΠΠ΅ΡΠ΅ΠΊΡΠΎΡ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π½Π°ΡΠΈΡΠ΅ Graphite Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ Π²ΡΡΠΊΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠ΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅, ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΈ ΡΠΌΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ ΡΡΡ .
- ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. ΠΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Ρ ΠΎΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΡΡ . ΠΠΎΡΡΠΎΡΠ½Π½ΠΎΡΠΎ Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΡΠΊΠ° Π½Π΅ Π΅ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ°ΡΠΎΠ²Π° Π² Π½Π°ΡΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ. Π’Π°ΠΌ Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠΎΠΉ Π³ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠ», Π΅Π·ΠΈΡΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ, ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΏΠΎ SLA, ΠΊΡΠ΄Π΅ ΠΈ Π½Π° ΠΊΠΎΠ³ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΈΠ·Π²Π΅ΡΡΠΈΡ. ΠΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π΄Π²Π΅ Π²ΡΡΠ·ΠΊΠΈ β Π΅Π΄Π½Π° Π·Π° ΡΡΠΈΠ³Π΅ΡΠΈ, Π΄ΡΡΠ³Π° β Π·Π° ΡΠ°Π±Π»Π°ΡΠ° Π² Grafana.
- ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌ. Π‘ΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π²ΠΈΠ½Π°Π³ΠΈ Π·Π½Π°Π΅ΡΠ΅ ΠΊΡΠ΄Π΅ Π΅ Π²Π°ΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Ρ Π½Π΅Π³ΠΎ, ΠΊΡΠ΄Π΅ ΠΏΠ°Π΄Π°, ΠΊΡΠ΄Π΅ ΠΈΠΌΠ° ΡΠ»Π°Π±ΠΈ ΠΌΠ΅ΡΡΠ°. ΠΠΊΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΉΠ΄Π΅ Π½Π΅ΡΠΎ ΠΈ Π·Π°Π²Π°Π»ΠΈ Π²Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°, Π²ΠΈΠ΅ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠ±Π°ΠΆΠ΄Π°Π½Π΅ ΠΎΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΠ΅ΡΠ°, Π° ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅, ΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠ²Π΅ΠΆΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΡΡΠ°Π½Π°Π»ΠΎ.
- ΠΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠ°ΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°ΡΡΠ΅ ΠΈ Π΄Π½Π΅Ρ Π² Π½Π΅Π³ΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΎΠΊΠΎΠ»ΠΎ 2 000 000 ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡΡΠ°. ΠΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» Π±Π΅ΡΠ΅ 500 000. Π ΡΠ°ΡΡΠ΅ΠΆΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Graphite (whisper) ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ ΠΊΠ°Π·Π°Ρ , ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π΅ Π΄ΠΎΡΡΠ° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅. ΠΡΠΊΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° Graphite ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π·ΡΠΈΡΡΠ²Π° ΡΠ²ΠΎΡΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, Π½ΠΎ Π½ΠΈΠ΅ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΡΡΠ³Π½Π΅ΠΌ ΠΏΠΎ Π΄ΡΡΠ³ ΠΏΡΡ: Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π’ΠΎΠ·ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ Π΅ ΠΏΠΎΡΡΠΈ Π·Π°Π²ΡΡΡΠ΅Π½ ΠΈ ΡΡΠ²ΡΠ΅ΠΌ ΡΠΊΠΎΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΊ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½: ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΈ ΠΊΠ°ΠΊ ΡΠ΅ Π±ΡΡ Π° ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, ΡΠ΅ ΠΎΠΏΠΈΡΠ° ΠΈΠ·Π±ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ! ΠΠΎΡΡΠ°Π²ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈΡΠ΅ Π²ΡΠΏΡΠΎΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ°, ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠ°ΡΠ°Ρ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΡ ΡΡΠΊ ΠΈΠ»ΠΈ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΠ²Π΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π½ΡΠΊΠΎΠΉ Π΄Π° ΠΈΠΌΠ° ΠΎΠΏΠΈΡ Π² ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Clickhouse Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡ β ΡΠΏΠΎΠ΄Π΅Π»ΡΠΉΡΠ΅ Π³ΠΎ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
