Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π½Π° Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ»ΠΈ. ΠΠ΅Π»Π°ΡΡ ΡΡΠΎ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ°Ρ ΡΠΈΠ»Π°ΠΌΠΈ DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ. ΠΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠΈ, ΡΡΡΠΎΠΈΡΡ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΠΏΡΠΈΠΊΡΡΡΠΈΠ²Π°ΡΡ ΠΊ Π½ΠΈΠΌ Π°Π»Π΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π‘ DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² β ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΡΠΎΡ ΠΏΠΎΡΡ β ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΅Π³ΠΎ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Ρ Π½Π°ΡΠ΅ΠΉ
ΠΡΠΎΡΠ»ΠΎΠ΅: ΡΡ Π΅ΠΌΡ ΠΈ ΠΏΠ»Π°Π½Ρ
ΠΠ°ΠΊ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°? ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Π² 2015 Π³ΠΎΠ΄. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ ΡΠΎΠ³Π΄Π°:
Π£ Π½Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° 24 ΡΠ·Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π»ΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΡΠ΅Π»Π°Ρ ΠΏΠ°ΡΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΊΡΠΎΠ½ΠΎΠ², ΡΠΊΡΠΈΠΏΡΠΎΠ², Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎ-ΡΠΎ Π³Π΄Π΅-ΡΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΡΠ΅ΠΌ Π΄Π°Π»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΌΠ΅Π½Π΅Π΅ ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Π°. Π Π°Π·Π²ΠΈΠ²Π°ΡΡ Π΅Ρ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°: ΡΠ»ΠΈΡΠΊΠΎΠΌ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠ°Ρ.
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ, ΠΈ ΡΠ΅, ΠΎΡ ΠΊΠ°ΠΊΠΈΡ
ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌΡΡ. ΠΡ
ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ 19. ΠΡΡΠ°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΡΡ, Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΡ ΠΈ Grafana Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Π°. ΠΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°? ΠΠΎΡ ΡΠ°ΠΊ:
Π£ Π½Π°Ρ Π΅ΡΡΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ: ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π±ΡΡΡΡΡΡ
SSD-Π΄ΠΈΡΠΊΠ°Ρ
, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΡ Π΄Π»Ρ ΠΌΠ΅ΡΡΠΈΠΊ. ΠΠ°Π»Π΅Π΅ β Grafana Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ² ΠΈ Moira Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»Π΅ΡΡΠΈΠ½Π³Π°. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Ρ
ΠΎΡΠ΅Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ.
Π‘ΡΠ°Π½Π΄Π°ΡΡ: ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ 2.0
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°Π½Ρ Π² 2015. ΠΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΠ°ΠΌ ΡΠ΅ΡΠ²ΠΈΡ, Π½ΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π½Π΅ΠΌΡ. ΠΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·Π²Π°Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ 2.0. ΠΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅?
- ΠΏΠΎΡΡΠΎΡΠ½Π½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ;
- ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ = 10 ΡΠ΅ΠΊΡΠ½Π΄;
- ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²;
- SLA > 99,99%
- cΠ±ΠΎΡ ΠΈΠ²Π΅Π½ΡΠΎΠ²ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΠΎ UDP (!).
ΠΠ°ΠΌ Π±ΡΠ» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ UDP, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΡΠ»ΠΈ ΠΈΡ Π²ΡΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΈΡΠ°ΡΡ Π² Π³ΡΠ°ΡΠΈΡ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π»ΡΠΆΠ΅Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΡΠΈΠΊ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² Π½ΠΎΡΠΈΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ. ΠΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ, ΡΠ΅ΡΡΠΌ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ, ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ΅ΡΠΊΠ°Ρ, ΡΡΡΠΎΠ³Π°Ρ, ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ, Π³Π΄Π΅ ΠΌΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄ΡΠΎΠΏΠ°Π΅ΠΌ. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² 2015 Π³ΠΎΠ΄Ρ. Π§ΡΠΎ ΠΆΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ?
ΠΠ°ΡΡΠΎΡΡΠ΅Π΅: ΡΡ Π΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠΌ Π°ΠΏΠΏΠ»ΠΈΠΊΠ΅ΠΉΡΠ½Ρ: Π½Π°Ρ PHP-ΠΊΠΎΠ΄, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΠ»ΠΎΠ²ΠΎΠΌ, Π²ΡΠ΅, ΡΡΠΎ ΠΏΠΈΡΡΡ Π½Π°ΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ. ΠΡΠ΅ Π°ΠΏΠΏΠ»ΠΈΠΊΠ΅ΠΉΡΠ½Ρ ΡΠ΅ΡΠ΅Π· UDP ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Π°Π³ΡΠ΅Π³Π°ΡΠΎΡ Brubeck (statsd, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Π‘). ΠΠ½ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΡΠΌ ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΠΎΠ². Π ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΆΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite ΡΠ΅ΡΠ΅Π· TCP.
Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΌΠ΅ΡΡΠΈΠΊ, ΠΊΠ°ΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΡΡΡΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π² Brubeck ΠΌΠ΅ΡΡΠΈΠΊΡ Ρ response time. ΠΡΠΈΡΠ΅Π» ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΎΡΠ²Π΅ΡΠΎΠ², Π° Π°Π³ΡΠ΅Π³Π°ΡΠΎΡ Π²ΡΠ΄Π°Π» Π²ΡΠ΅Π³ΠΎ 10 ΠΌΠ΅ΡΡΠΈΠΊ. Π£ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΡ Π»ΡΠ΄Π΅ΠΉ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΡΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, ΠΌΠ΅Π΄ΠΈΠ°Π½Π° ΠΈ 4 ΠΏΠ΅ΡΡΠ΅Π½ΡΠΈΠ»Ρ. ΠΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Graphite ΠΈ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΡ Π²ΡΠ΅ Π²ΠΆΠΈΠ²ΡΡ.
Π’Π°ΠΊΠΆΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π΄Π»Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΠΎ ΠΆΠ΅Π»Π΅Π·Ρ, ΡΠΎΡΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Munin (ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π»Π° Ρ Π½Π°Ρ Π΄ΠΎ 2015 Π³ΠΎΠ΄Π°). ΠΡΠ΅ ΡΡΠΎ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· C’ΠΈΡΠ½ΡΠΉ Π΄Π΅ΠΌΠΎΠ½ CollectD (Π² Π½Π΅Π³ΠΎ Π²ΡΠΈΡΠ° ΡΠ΅Π»Π°Ρ ΠΏΠ°ΡΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Ρ ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΡΠ΄Π° ΠΏΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅) ΠΈ ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² Graphite. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ python ΠΈ shell ΡΠΊΡΠΈΠΏΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ: CollectD Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° (ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π΅ΡΡΡ Curl) ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π² Graphite.
ΠΠ°Π»ΡΡΠ΅ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π² Carbon-c-relay. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Carbon Relay ΠΎΡ Graphite, Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Π½Π° C. ΠΡΠΎ ΡΠΎΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Ρ Π½Π°ΡΠΈΡ Π°Π³ΡΠ΅Π³Π°ΡΠΎΡΠΎΠ², ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡ ΠΏΠΎ Π½ΠΎΠ΄Π°ΠΌ. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊ. ΠΠ½ΠΈ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΠ°Π½ΡΡΠ΅ ΠΈ, Π²ΠΎ-Π²ΡΠΎΡΡΡ , Π²Π°Π»ΠΈΠ΄Π½Ρ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ°. ΠΠ½Π°ΡΠ΅ ΠΎΠ½ΠΈ Π΄ΡΠΎΠΏΠ°ΡΡΡΡ.
ΠΠΎΡΠΎΠΌ Carbon-c-relay ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Graphite. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ Carbon-cache, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Go. Go-carbon ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Carbon-cache. ΠΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π±Ρ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° whisper (ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° python). ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ Π½Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Graphite API. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Graphite WEB. Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π»ΡΡΠ΅?
ΠΠ½ΠΈ ΠΈΠ΄ΡΡ Π² Grafana. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π°ΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π³ΡΠ°ΡΠΈΡΠΎΠ², ΠΏΠ»ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Grafana ΠΊΠ°ΠΊ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π΄ΡΡΠ±ΠΎΡΠ΄ΠΎΠ². ΠΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°Π²ΠΎΠ΄ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΡΡΠ±ΠΎΡΠ΄. ΠΠ°Π»Π΅Π΅ ΠΎΠ½ΠΈ ΡΡΡΠΎΡΡ ΠΏΠΎ Π½ΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΏΠΈΡΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠΌΠΈΠΌΠΎ Grafana Ρ Π½Π°Ρ Π΅ΡΡΡ Π΅ΡΠ΅ SLAM. ΠΡΠΎ ΠΏΠΈΡΠΎΠ½ΡΡΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΠ°Π΅Ρ SLA Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ°. ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ SLAM ΠΌΡ Ρ ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π΅Ρ Ρ ΡΠ΅ΠΌ ΡΡΠΎ Π΅ΡΡΡ Π² Graphite ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠ΄Π΅ΠΌ Π΄Π°Π»Π΅Π΅: Π°Π»Π΅ΡΡΠΈΠ½Π³. ΠΠ½ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ β Moira. ΠΠ½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π½Π΅Π΅ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ β ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Graphite. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ΅Π±ΡΡΠ°ΠΌΠΈ ΠΈΠ· Π‘ΠΠ Β«ΠΠΎΠ½ΡΡΡΒ», Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° python ΠΈ Go, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½Π°Ρ. Moira ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²Π΅ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΡΠΎΠΊ, ΡΡΠΎ ΡΡ ΠΎΠ΄ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΡ. ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ Π²Π°Ρ ΡΠΌΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠΎ Π²Π°Ρ Π°Π»Π΅ΡΡΠΈΠ½Π³ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Moira ΠΌΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ Π² Kubernetes, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ Redis-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ½Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠΎΠΊ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ²: Π΅ΡΠ»ΠΈ Π² Π½Π΅ΠΌ Π½Π΅Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ, ΡΠΎ Π΄ΡΠΎΠΏΠ°Π΅Ρ ΠΌΠ΅ΡΡΠΈΠΊΡ. Π’Π°ΠΊ ΠΎΠ½Π° ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΏΠ΅ΡΠ΅Π²Π°ΡΠΈΡΡ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π² ΠΌΠΈΠ½ΡΡΡ.
ΠΡΠ΅ ΠΌΡ ΠΊ Π½Π΅ΠΉ ΠΏΡΠΈΠΊΡΡΡΠΈΠ»ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ LDAP, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ (ΠΈΠ»ΠΈ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ) ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Moira ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Graphite, ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π²Ρ ΡΠ½Π°ΡΠ°Π»Π° Π±Π΅ΡΠ΅ΡΠ΅ ΡΡΡΠΎΡΠΊΡ ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΠ΅ Π΅Π΅ Π² Grafana. Π‘ΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ . Π ΠΏΠΎΡΠΎΠΌ Π±Π΅ΡΠ΅ΡΠ΅ ΡΡΡ ΠΆΠ΅ ΡΡΡΠΎΡΠΊΡ ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΠ΅ Π΅Π΅ Π² Moira. ΠΠ±Π²Π΅ΡΠΈΠ²Π°Π΅ΡΠ΅ Π΅Π΅ Π»ΠΈΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π°Π»Π΅ΡΡΠΈΠ½Π³. Π§ΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ. Moira ΡΠΌΠ΅Π΅Ρ Π°Π»Π΅ΡΡΠΈΡΡ ΠΏΠΎ ΡΠΌΡ, email, Π² Jira, Slackβ¦ Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΠΎΠ³Π΄Π° Ρ Π½Π΅Π΅ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΈΠ³Π³Π΅Ρ, ΠΈ ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π° Π½Π° ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ, ΠΎΠ½Π° Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ, ΠΈ ΠΎΡΠ΄Π°Π΅Ρ Π½Π° stdin ΡΡΠΎΠΌΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΡ JSON. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π΅Π³ΠΎ ΡΠ°ΡΠΏΠ°ΡΡΠΈΡΡ. Π§ΡΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Ρ ΡΡΠΈΠΌ JSONΠΎΠΌ Π΄Π΅Π»Π°ΡΡ β ΡΠ΅ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ. Π₯ΠΎΡΠΈΡΠ΅ β ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ Π² Telegram, Ρ ΠΎΡΠΈΡΠ΅ β ΠΎΡΠΊΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΡΠΊΠΈ Π² Jira, Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
Π£ Π½Π°Ρ Π΄Π»Ρ Π°Π»Π΅ΡΡΠΈΠ½Π³Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅ΡΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° β Imagotag. ΠΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ°Π½Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ΅Π½Π½ΠΈΠΊΠΎΠ² Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ , ΠΏΠΎΠ΄ Π½Π°ΡΠΈ Π·Π°Π΄Π°ΡΠΈ. ΠΡ Π²ΡΠ²Π΅Π»ΠΈ Π½Π° Π½Π΅Π΅ ΡΡΠΈΠ³Π³Π΅ΡΡ ΠΈΠ· Moira. Π’Π°ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ. Π§Π°ΡΡΡ ΡΠ΅Π±ΡΡ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² Slack ΠΈ Π² ΠΏΠΎΡΡΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π²ΠΎΡ ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΠΊΠΈ.
ΠΡ ΠΈ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ β ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΡΠΎ Π·Π°ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ»ΠΈ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΠ΅ ΠΈ Kubernetes. ΠΠΊΠ»ΡΡΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Heapster, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΎΠ½ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ
Π² Graphite. Π ΠΈΡΠΎΠ³Π΅ ΡΡ
Π΅ΠΌΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
ΠΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ΅ ΠΎΠ½ΠΈ β ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠ΅.
Graphite:
- go-carbon:
github.com/lomik/go-carbon - whisper:
github.com/graphite-project/whisper - graphite-api:
github.com/brutasse/graphite-api
Carbon-c-relay:
Brubeck:
Collectd:
Moira:
Grafana:
Heapster:
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
Π Π²ΠΎΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π°Ρ.
Aggregator (brubeck)
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΠΈΠΊ: ~ 300 000 / sec
ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊ Π² Graphite: 30 sec
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°: ~ 6% CPU (ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
); ~ 1Gb RAM; ~ 3 Mbps LAN
Graphite (go-carbon)
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΠΈΠΊ: ~ 1 600 000 / min
ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ: 30 sec
Π‘Ρ
Π΅ΠΌΠ° Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ: 30sec 35d, 5min 90d, 10min 365d (Π΄Π°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Π½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°: ~ 10% CPU; ~ 20Gb RAM; ~ 30 Mbps LAN
ΠΠΈΠ±ΠΊΠΎΡΡΡ
ΠΡ Π² Avito ΠΎΡΠ΅Π½Ρ ΡΠ΅Π½ΠΈΠΌ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π³ΠΈΠ±ΠΊΠΎΡΡΡ. ΠΠΎΡΠ΅ΠΌΡ, ΠΎΠ½ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΡΠ°ΠΊΠΈΠΌ? ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ , Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡ: ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ°ΠΊ ΠΈ ΠΈΡ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎ-Π²ΡΠΎΡΡΡ β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ΅, Π²Ρ ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄, Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Go ΠΈ Python, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ΅ΡΡΠΈΠΊΠ° Π² Graphite β ΡΡΠΎ ΡΠ°ΠΉΠ». Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠΌΡ ΡΠ°ΠΉΠ»Π° = ΠΈΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π Π΅ΡΡΡ ΠΏΡΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ. ΠΠ°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Linux ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ 255 ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. Π Ρ Π½Π°Ρ Π΅ΡΡΡ (Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ βΠ²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ²β) ΡΠ΅Π±ΡΡΠ° ΠΈΠ· ΠΎΡΠ΄Π΅Π»Π° Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡΡΡ: βΠΡ Ρ ΠΎΡΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π½Π°ΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΡ. Π ΠΎΠ½ΠΈ β Π½Π΅ 255 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π° 8 ΠΠ ΠΊΠ°ΠΆΠ΄ΡΠΉ. ΠΡ ΠΈΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π² Grafana, Π²ΠΈΠ΄Π΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ, Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅, ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΏ ΡΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠ΄Π΅Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΡΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°ΠΏΠΈΡ Π½ΡΡΡ ΠΈΡ Π² Π°Π»Π΅ΡΡΠΈΠ½Π³β.
ΠΡΠΈΠΌΠ΅Ρ SQL-Π·Π°ΠΏΡΠΎΡΠ° Π²Π·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ
ΠΡ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ Redis ΠΈ Π½Π°ΡΠΈΠΌΠΈ Collectd-ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΠ΄ΡΡ Π² Postgres ΠΈ Π±Π΅ΡΡΡ ΠΎΡΡΡΠ΄Π° Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite. ΠΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° Ρ ΡΡΠΈ. ΠΡΠΎΡ ΠΆΠ΅ Ρ ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π² Redis Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ°, ΠΈ Π²Π΅ΡΡ SQL-Π·Π°ΠΏΡΠΎΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΌ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Grafana ΡΠΌΠ΅Π»Π° Ρ ΠΎΠ΄ΠΈΡΡ Π² Redis ΠΈ Π±ΡΠ°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Graphite API, Ρ.ΠΊ. ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Ρ Π³ΡΠ°ΡΠΈΡΠΎΠΌ, ΠΈ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠ΄Π° Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ aliasByHash() β ΠΎΡ Grafana ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠΌΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΊ Redis ΠΊΠ°ΠΊ ΠΊΠ»ΡΡ, Π² ΠΎΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Ρ βSQL Π·Π°ΠΏΡΠΎΡβ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π²ΡΠ²Π΅Π»ΠΈ Π² Grafana ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΠΈΠ΄Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΌ Π±ΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ, Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΏΠΎ Π½Π΅ΠΌΡ (calls, rows, total_time, …).
ΠΡΠΎΠ³ΠΈ
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ. ΠΠ°Ρ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄ΠΎΡΡΡΠΏΠ΅Π½ 24 Π½Π° 7 ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ Π°ΠΏΠΏΠ»ΠΈΠΊΠ΅ΠΉΡΠ½Π° ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡ Π΄Π°Π½Π½ΡΠ΅. Π―Π·ΡΠΊ Π½Π΅Π²Π°ΠΆΠ΅Π½, ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ Π²Π°ΠΆΠ½Ρ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠΊΠ΅Ρ, Π·Π°ΠΊΠΈΠ½ΡΡΡ ΡΡΠ΄Π° ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΈ Π·Π°ΠΊΡΡΡΡ ΡΠΎΠΊΠ΅Ρ.
ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ. ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ Π½Π°ΡΠΈΠΌΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ Ρ ΠΎΡΠΎΡΠΎ.
ΠΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π²Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΠΎΡΡ Π² Grafana. ΠΡΠΎΡΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠΎΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite, Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π΅Π³ΠΎ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ Grafana, ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ°ΠΌ Π΄ΡΡΠ±ΠΎΡΠ΄Ρ ΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π°ΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Moira.
Π‘Π°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΈΠΌ, Π±Π΅Π· ΠΏΠΎΠΌΠΎΡΠΈ DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ². Π ΡΡΠΎ ΠΎΠ²Π΅ΡΡΠΈΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΠΈΡΡ β Π½ΠΈ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ, Π½ΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π ΡΠ΅ΠΌΡ ΠΌΡ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ?
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π½ΠΈΠΆΠ΅ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΡΡΠ»ΠΈ, Π° ΡΠΎ, ΠΊ ΡΠ΅ΠΌΡ ΡΠ΄Π΅Π»Π°Π½Ρ Ρ ΠΎΡΡ Π±Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ.
- ΠΠ΅ΡΠ΅ΠΊΡΠΎΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ. Π₯ΠΎΡΠΈΠΌ Π·Π°ΠΏΠΈΠ»ΠΈΡΡ Ρ ΡΠ΅Π±Ρ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΠ΄ΠΈΡΡ Π² Π½Π°ΡΠΈ Graphite-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ. Π£ΠΆΠ΅ Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΌΡ ΡΠΌΠ΅Π΅ΠΌ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
- ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅. Π£ Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²Π΅ΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π²ΡΡΡΠ½ΡΡ β Π½Π΅ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π² Π½Π°ΡΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅. Π’Π°ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΡΠΎ Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π», ΡΠ·ΡΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ, ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ SLA, ΠΊΡΠ΄Π° ΠΈ ΠΊΠΎΠΌΡ Π²ΡΡΡΠ»Π°ΡΡ Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π ΠΈΡΠΎΠ³Π΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄Π²Π΅ ΡΡΡΠ»ΠΊΠΈ β ΠΎΠ΄Π½Π° Π½Π° ΡΡΠΈΠ³Π³Π΅ΡΡ, Π΄ΡΡΠ³Π°Ρ β Π½Π° Π΄ΡΡΠ±ΠΎΡΠ΄Ρ Π² Grafana.
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΠΎΠΌ. ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, Π³Π΄Π΅ Π²Π°Ρ ΡΡΠ°ΡΠΈΠΊ, ΡΡΠΎ Ρ Π½ΠΈΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π³Π΄Π΅ ΠΎΠ½ ΠΏΠ°Π΄Π°Π΅Ρ, Π³Π΄Π΅ Ρ Π½Π΅Π³ΠΎ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΡΠ»ΠΈ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΠΏΡΠΈΠ΄ΡΡ Π½Π΅ΡΡΠΎ ΠΈ Π·Π°Π²Π°Π»ΠΈΡ Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π²ΠΎΠ½ΠΊΠ° ΠΎΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°, Π° ΠΎΡ Π°Π»Π΅ΡΡΠ°, ΠΈ ΡΡΠ°Π·Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΡΠ²Π΅ΠΆΠΈΠ΅ Π»ΠΎΠ³ΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ.
- ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°ΡΡΠ΅Ρ, ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π² Π½ΡΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 2 000 000 Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΡΡΠΈΠΊ Π² ΠΌΠΈΠ½ΡΡΡ. ΠΠΎΠ΄ Π½Π°Π·Π°Π΄ ΡΡΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ» 500 000. Π ΡΠΎΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, ΠΈ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Graphite (whisper) Π½Π°ΡΠ½Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ Π½Π°Π³ΡΡΠΆΠ°ΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π° Π·Π° ΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΡΠΎ-ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ Graphite ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, Π½ΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠΉΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΠ΅ΠΌ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ClickHouse Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π°ΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ. ΠΡΠΎΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½, ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΊΠΎΡΠΎ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ: ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ»ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ» ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠ°Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅, ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π·Π΄Π΅ΡΡ ΠΈΠ»ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΠΎΡΡΠ°Ρ
. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π΅ΡΡΡ ΠΎΠΏΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° Clickhouse Π² ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ β Π΄Π΅Π»ΠΈΡΠ΅ΡΡ ΠΈΠΌ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com