ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ! Π ΡΠ²ΠΎΠ΅ΡΠΎ ΠΠΈΡΠ°Ρ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΠΈΡΠΎ Π½Π΅ ΠΎΡΡΠ°Π²Π° Π½Π° ΠΌΡΡΡΠΎ, Π½Π°ΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°ΡΡΠ΅ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΡΡΡΠΎ. ΠΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ Graphite+Whisper Π½Π° Graphite+ClickHouse ΠΏΡΠΈ Π²ΠΈΡΠΎΠΊΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, Π·Π° ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΎΡ Π½Π΅Π³ΠΎ ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρ.

ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Graphite+Whisper ΠΊΡΠΌ Graphite+ClickHouse, Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈΡΠ΅ Π½Π° Whisper, Ρ ΠΊΠΎΠΈΡΠΎ ΠΆΠΈΠ²ΡΡ ΠΌΠ΅ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Graphite+Whisper
1. ΠΠΈΡΠΎΠΊΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 1.5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡΡΠ°. Π‘ ΡΠ°ΠΊΡΠ² ΠΏΠΎΡΠΎΠΊ Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π±Π΅ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 30%. Π ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ β Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ, Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π±ΡΡ Π° Π±ΡΡΠ·ΠΈ, ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ ΡΡΡΠΎ... ΠΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ ΠΏΡΡΠ½Π° Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π΅ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° Π½ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ° 10 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡΡΠ°. Π’ΠΎΠ³Π°Π²Π° Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΏΡΠ΅Π³ΡΡΠ²Π° ΠΈ Π²ΠΈΠ΄ΡΡ ΠΌΠ΅ 100% ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ Π±ΡΡΠ·ΠΎ, Π½ΠΎ ΠΎΡΡΠ°Π²ΠΈ Π½Π΅ΠΏΡΠΈΡΡΠ΅Π½ ΡΠΏΠΎΠΌΠ΅Π½.
2. ΠΠΈΠΏΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΡΠΎ Π²ΡΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ»Π·Π²Π°Ρ/ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ Graphite+Whisper, Π½ΠΈΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΏΠΎΡΠΎΠΊ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠ° Graphite Ρ ΡΠ΅Π» ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ. ΠΡΠΌΠ°ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠΎΠ²Π° β Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ ΠΏΠ°Π΄Π½Π΅ΡΠ΅. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΡΠΏΡΠ²Π°Ρ ΠΌΠ΅ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΏΠ°Π΄Π½Π°Π»ΠΈΡ ΡΡΡΠ²ΡΡ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π±ΡΡΠ·ΠΎ ΠΈ carbon-c-relay ΡΡΠΏΡΠ²Π°ΡΠ΅ Π΄Π° Π·Π°Π»Π΅Π΅ Π² Π½Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡ ΠΊΠ΅ΡΠ° ΡΠΈ, Π° ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π½Π΅. Π ΡΠΎΠ³Π°Π²Π° Π² ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π΄ΡΠΏΠΊΠ°, ΠΊΠΎΡΡΠΎ Π·Π°ΠΏΡΠ»Π²Π°Ρ ΠΌΠ΅ Ρ rsync. ΠΡΠΎΡΠ΅Π΄ΡΡΠ°ΡΠ° Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° Π΄ΡΠ»Π³Π°. Π‘ΠΏΠ°ΡΠΈΡΠ΅Π»Π½ΠΎ Π±Π΅ΡΠ΅, ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠΎ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π²Π·ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π³ΠΈ ΡΡΠ°Π²Π½ΡΠ²Π°Ρ ΠΌΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΡΡΠ΅Π΄Π½ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π ΠΎΠΊΠΎΠ»ΠΎ 5% ΠΎΡ ΡΠ»ΡΡΠ°ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΡΠΏΠΎΠΊΠΎΡΠ²Π°ΡΠΎ.
3. ΠΠΎΠ»ΡΠΌ ΠΎΠ±Π΅ΠΌ Π·Π°Π΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΈΡΠ΅ΠΌ Π² Graphite Π½Π΅ ΡΠ°ΠΌΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ, Π½ΠΎ ΠΈ Π±ΠΈΠ·Π½Π΅Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ (Π° ΡΠ΅Π³Π° ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡ Kubernetes), ΡΠ΅ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ° ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π° .wsp ΡΠ°ΠΉΠ»ΡΡ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π½Π° Π·Π°Π΄ΡΡΠΆΠ°Π½Π΅ ΠΈ Π·Π°Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈΡ ΠΎΠ±Π΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ ΡΠ°Π²Π΅Π½ Π½Π° ~2MB. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π° ΠΈ ΠΎΡ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ ΠΏΡΠΈ ΡΡΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΡΡΠ΅ΡΠΈ ΠΏΠΎ ΡΡΡ , Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΠΏΡΠ°Π·Π½ΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΠ½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΈ.
Π‘ΡΠ°Π·Ρ Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Π²Π°Ρ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ, Π½ΠΎ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΠΎΡΡΡΠΏΠ²Π°Ρ ΠΏΡΠΈ Π²Π°Ρ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΎΡΡΡΠΈ ΡΡΠ°Π²Π°Ρ ΡΠ΅.
ΠΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠΈΡΠΊΠΎ Π³ΠΎΡΠ΅ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ), Π° ΡΡΡΠΎ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΆ Π½Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΡΠ½Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡ 30 ΡΠ΅ΠΊ. (ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ β Π΄ΠΎ 10 ΡΠ΅ΠΊ.), ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Graphite+ClickHouse ΠΊΠ°ΡΠΎ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° Whisper.
Graphite+ClickHouse. ΠΡΠ°ΠΊΠ²Π°Π½ΠΈΡ
ΠΠΎΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΡΠ°ΠΏΠ° Ρ ΠΌΠΎΠΌΡΠ΅ΡΠ°ΡΠ° ΠΎΡ Π―Π½Π΄Π΅ΠΊΡ, ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΌΠ΅ , ΠΏΡΠ΅Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΈ Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ClickHouse Ρ Graphite, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π°ΠΌΠ΅!
ΠΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:
- Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ 30% Π΄ΠΎ 5%;
- Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π·Π°Π΅ΡΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ 1TB Π΄ΠΎ 100GB;
- Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ°ΠΌΠ΅ ΠΏΠΎ 100 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°;
- ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΠΎΡ ΠΊΡΡΠΈΡΡΠ°;
- Π΄Π° Π½Π΅ ΠΏΡΠ΅ΠΊΠ°ΡΠ°ΠΌΠ΅ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π°Π΄ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π² ΡΠ°Π·ΡΠΌΠ΅Π½ ΡΡΠΎΠΊ;
- Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠΈΠΌ Π±Π΅Π· ΠΏΡΠ΅ΡΡΠΎΠΉ.
ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½ΠΎ, Π½Π°Π»ΠΈ?
Graphite+ClickHouse. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ
ΠΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Graphite ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ° Π·Π°ΠΏΠΈΡ ΠΈΠΌ Π² ClickHouse, Π±Π΅ ΠΈΠ·Π±ΡΠ°Π½ (golang).
ΠΠ°ΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π±Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π° ΠΎΠ½Π·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅Π»ΠΈΠ· Π½Π° ClickHouse ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ 1.1.54253. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π½Π΅Π³ΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ: Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π½Π΅ Π±Π΅ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Ρ ΡΡΡ . Π ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π΅ Ρ (Π°Π²ΡΠΎΡ Π½Π° carbon-clickhouse, graphite-clickhouse ΠΈ ΠΎΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ°) Π±Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΏΠΎ-ΡΡΠ°Ρ ΠΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΈΠ·ΡΠ΅Π·Π½Π°Ρ Π° β Π²ΡΠΈΡΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ.
ΠΠ° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ClickHouse Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ (golang). ΠΠ°ΡΠΎ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Graphite β (golang). ΠΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ClickHouse Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ . ΠΠ° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ Π½Π°ΡΠΈΡ Π»ΡΠ±ΠΈΠΌ (Π‘) .
Graphite+ClickHouse. Π‘ΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅
βgraphiteβ β Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° ΠΎΡ Π½Π°Ρ Π·Π° ΡΠ°Π±Π»ΠΈΡΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³.
βgraphite.metricsβ β ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ReplicatedReplacingMergeTree (ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠ°Π½Π° ). Π ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ ΠΈ ΠΏΡΡΠΈΡΠ°ΡΠ° Π΄ΠΎ ΡΡΡ .
CREATE TABLE graphite.metrics ( Date Date, Level UInt32, Path String, Deleted UInt8, Version UInt32 ) ENGINE = ReplicatedReplacingMergeTree('\/clickhouse\/tables\/replicator\/graphite.metrics', 'r1', Date, (Level, Path), 8192, Version);βgraphite.dataβ β ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ReplicatedGraphiteMergeTree (ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠ°Π½Π° ). Π ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅.
CREATE TABLE graphite.data ( Path String, Value Float64, Time UInt32, Date Date, Timestamp UInt32 ) ENGINE = ReplicatedGraphiteMergeTree('\/clickhouse\/tables\/replicator\/graphite.data', 'r1', Date, (Path, Time), 8192, 'graphite_rollup')βgraphite.date_metricsβ β ΡΠ°Π±Π»ΠΈΡΠ°, ΠΏΠΎΠΏΡΠ»Π²Π°ΡΠ° ΡΠ΅ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ReplicatedReplacingMergeTree. Π ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΡΠ΅ΡΠ½Π°ΡΠΈ Π·Π° Π΄Π΅Π½ΠΎΠ½ΠΎΡΠΈΠ΅. ΠΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΉ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π² ΡΠ°Π·Π΄Π΅Π» Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ.
CREATE MATERIALIZED VIEW graphite.date_metrics ( Path String, Level UInt32, Date Date) ENGINE = ReplicatedReplacingMergeTree('\/clickhouse\/tables\/replicator\/graphite.date_metrics', 'r1', Date, (Level, Path, Date), 8192) AS SELECT toUInt32(length(splitByChar('.', Path))) AS Level, Date, Path FROM graphite.dataβgraphite.data_statβ β ΡΠ°Π±Π»ΠΈΡΠ°, ΠΏΠΎΠΏΡΠ»Π²Π°ΡΠ° ΡΠ΅ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ReplicatedAggregatingMergeTree (ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠ°Π½Π° ). Π ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° Π±ΡΠΎΡΡ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° Π΄ΠΎ 4 Π½ΠΈΠ²Π° Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΎΡΡ.
CREATE MATERIALIZED VIEW graphite.data_stat ( Date Date, Prefix String, Timestamp UInt32, Count AggregateFunction(count)) ENGINE = ReplicatedAggregatingMergeTree('\/clickhouse\/tables\/replicator\/graphite.data_stat', 'r1', Date, (Timestamp, Prefix), 8192) AS SELECT toStartOfMonth(now()) AS Date, replaceRegexpOne(Path, '^([^.]+.[^.]+.[^.]+).*$', '1') AS Prefix, toUInt32(toStartOfMinute(toDateTime(Timestamp))) AS Timestamp, countState() AS Count FROM graphite.data GROUP BY Timestamp, PrefixGraphite+ClickHouse. Π‘Ρ Π΅ΠΌΠ° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅

Graphite+ClickHouse. ΠΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΠ°ΠΊΡΠΎ ΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎΡ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΎΡ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ClickHouse ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π±Π΅Π· Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π΄Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΡΠ»Π°ΡΠ° Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠ°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ Π³ΠΎ ΡΠ°ΠΊΠ°.
Π carbon-c-relay Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² carbon-clickhouse Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡΠ²ΡΡΠΈΡΠ΅, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ClickHouse.
ΠΠ°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΠΌΠ°Π»ΡΠΊ ΡΠΊΡΠΈΠΏΡ Π½Π° Python, ΠΊΠΎΠΉΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° whisper-dump ΠΈΠ·Π²Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ .wsp ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π½Π°ΡΠ΅ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎ-Π³ΠΎΡΠ΅ carbon-clickhouse Π² 24 ΠΏΠΎΡΠΎΠΊΠ°. ΠΡΠΎΡΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π² carbon-clickhouse Π΄ΠΎΡΡΠΈΠ³Π°ΡΠ΅ 125 ΠΌΠ»Π½/ΠΌΠΈΠ½., ΠΈ ClickHouse Π΄ΠΎΡΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΡΠΈ.
Π‘ΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ DataSource Π² Grafana Ρ ΡΠ΅Π» ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ°Π±Π»Π°. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅, Π½ΠΎ Π½Π΅ Π±ΡΡ Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² carbonapi. ΠΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡ ΠΌΠ΅ PR-ΠΎΠ²Π΅ Π½Π° Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° carbonapi (ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΈΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ).
- ΠΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ ΡΠ΅ΡΡΡΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡ ΠΌΠ΅ Π΅Π½Π΄ΠΏΠΎΠΈΠ½ΡΠΈΡΠ΅ ΠΎΡ graphite-api (API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Graphite+Whisper) Π½Π° carbonapi.
Graphite+ClickHouse. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ
Π½Π°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ 30% Π΄ΠΎ 1%;

- Π½Π°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ Π·Π°Π΅ΡΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ 1 Π’Π± Π΄ΠΎ 300 ΠΠ±;
- ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ°ΠΌΠ΅ ΠΏΠΎ 125 ΠΌΠ»Π½ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° (ΠΏΠΈΠΊΠΎΠ²Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ°);
- ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡ ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° ΡΡΠΈΠ΄Π΅ΡΠ΅ΡΡΠ΅ΠΊΡΠ½Π΄Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅;
- ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ;
- ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ Π±Π΅Π· Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠΈΡΠ°Π½Π΅;
- Π·Π° Π²ΡΠΈΡΠΊΠΎ ΠΏΠΎΡ Π°ΡΡΠΈΡ ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 7 ΡΠ΅Π΄ΠΌΠΈΡΠΈ.
Graphite+ClickHouse. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΈ ΠΊΠ°ΠΌΡΠ½ΠΈ. ΠΡΠΎ Ρ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ ΡΠ»Π΅Π΄ ΠΏΡΠ΅Ρ ΠΎΠ΄Π°.
- ClickHouse Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡΠ΅ΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΡΠ΅Π΄ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°ΠΉ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° zookeeper Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ClickHouse β ΡΠΎΠΉ Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° clickhouse-server.
- ΠΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ
Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ClickHouse, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π°ΡΠ°ΡΠ° Π²ΡΡΠ·ΠΊΠ° Π² graphite-clickhouse ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΅ΡΠΎ ΡΠ°ΠΊΠ°:
url = "http://localhost:8123/?max_query_size=268435456&max_ast_elements=1000000" - Π ClickHouse Π΄ΠΎΡΡΠ° ΡΠ΅ΡΡΠΎ ΠΈΠ·Π»ΠΈΠ·Π°Ρ Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΈ, Π² ΡΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ½Π°Ρ ΠΈΠ·Π½Π΅Π½Π°Π΄ΠΈ: Π±ΡΠ΄Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΈ.
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² kubernetes ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ ΠΊΡΠ°ΡΡΠΊ ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π΄ΡΠ»ΡΠ³ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π½Π° ΠΆΠΈΠ²ΠΎΡ. Π’ΠΎΡΠΊΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΌΡΡΡΠΎΡΠΎ Π½ΡΠΌΠ°. ΠΠΎ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ClickHouse ΠΈΠ·Π²Π»ΠΈΡΠ° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡ ΡΡΡΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° βmetricsβ. Π 90% ΠΎΡ ΡΠ»ΡΡΠ°ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° (24 ΡΠ°ΡΠ°) Π»ΠΈΠΏΡΠ²Π°Ρ. Π Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° βdataβ ΡΠ΅ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π° ΠΈ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΡΠΈΠ³Π° Π΄ΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΠ°. ΠΠ° Π΄Π° ΡΠ΅ΡΠΈΠΌ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ΅ ΡΡΠ΅ΡΠ½Π°Π»ΠΈ ΠΏΡΠ΅Π· Π΄Π΅Π½ΠΎΠ½ΠΎΡΠΈΠ΅ΡΠΎ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΡΡΠ΅ΡΠΈ (Π³ΡΠ°ΡΠΈΠΊΠΈ) Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈ Π² Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», Π° Π½Π΅ Π·Π° ΡΠ΅Π»ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΡΡΡ . ΠΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ ΡΡΠ±ΡΠ°Π½ , Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° date_metrics.
Graphite+ClickHouse. Π’Π°Π³ΠΎΠ²Π΅
ΠΡ Π²Π΅ΡΡΠΈΡ 1.1.0 Graphite ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ . Π Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΠΌΠΈΡΠ»ΡΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΈΠΌ ΡΠ°Π·ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π° Π² ΡΡΠ΅ΠΊΠ° graphite+clickhouse.
Graphite+ClickHouse. ΠΠ΅ΡΠ΅ΠΊΡΠΎΡ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ
ΠΠ° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΎΠΏΠΈΡΠ°Π½Π°ΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΈ ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ! ΠΠΎ Π·Π° Π½Π΅Π³ΠΎ β Π² ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ.
ΠΠ±ΠΎΠ½ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅, Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ ΡΡΡΠ΅Π»ΠΊΠ°ΡΠ° Π½Π°Π³ΠΎΡΠ΅ ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠ»ΠΈΠ²ΠΈ!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com

