Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ Graphite+Whisper към Graphite+ClickHouse

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ Π½Π° всички! Π’ своСто ΠΏΡ€ΠΎΡˆΠ»Π°Ρ‚Π° статия ΠŸΠΈΡΠ°Ρ… Π·Π° организацията Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π½Π°Ρ‚Π° систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° микросСрвизна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Нищо Π½Π΅ остава Π½Π° място, Π½Π°ΡˆΠΈΡΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ постоянно растС ΠΈ количСството Π½Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΡΡŠΡ‰ΠΎ. Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ Graphite+Whisper Π½Π° Graphite+ClickHouse ΠΏΡ€ΠΈ високи натоварвания, Π·Π° очакванията ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ миграцията ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ.

Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ 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, Π±Π΅ ΠΈΠ·Π±Ρ€Π°Π½ carbon-clickhouse (golang).

ΠšΠ°Ρ‚ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π±Π΅ ΠΈΠ·Π±Ρ€Π°Π½ послСдния Π½Π° ΠΎΠ½Π·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π΅Π»ΠΈΠ· Π½Π° ClickHouse стабилна вСрсия 1.1.54253. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅Π³ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ…Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ: Π² Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ сС появи мноТСство Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π½Π΅ бСшС съвсСм ясно ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ с тях. Π’ обсъТданС с Π ΠΎΠΌΠ°Π½ Ломоносов (Π°Π²Ρ‚ΠΎΡ€ Π½Π° carbon-clickhouse, graphite-clickhouse ΠΈ ΠΎΡ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°) Π±Π΅ ΠΈΠ·Π±Ρ€Π°Π½ ΠΏΠΎ-стар Ρ€Π΅Π»ΠΈΠ· 1.1.54236.Π“Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΈΠ·Ρ‡Π΅Π·Π½Π°Ρ…Π° β€” всичко Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ прСкрасно.

Π—Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ClickHouse бСшС ΠΈΠ·Π±Ρ€Π°Π½ graphite-сlickhouse (golang). ΠšΠ°Ρ‚ΠΎ API-интСрфСйс Π·Π° Graphite β€” carbonapi (golang). Π—Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° рСпликацията ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ ClickHouse бСшС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ zookeeper. Π—Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ оставихмС нашия любим carbon-c-relay (Π‘) (Π²ΠΆ. ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° статия).

Graphite+ClickHouse. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅

β€œgraphite” β€” Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, създадСна ΠΎΡ‚ нас Π·Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³.

β€œgraphite.metrics” β€” Ρ‚Π°Π±Π»ΠΈΡ†Π° с Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» ReplicatedReplacingMergeTree (Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½Π° ReplacingMergeTree). Π’ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ ΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π°Ρ‚Π° Π΄ΠΎ тях.

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 (Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½Π° GraphiteMergeTree). Π’ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ стойноститС Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅.

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 (Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½Π° AggregatingMergeTree). Π’ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° сС записва броят Π½Π° входящитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ с Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ° Π΄ΠΎ 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, Prefix

Graphite+ClickHouse. Π‘Ρ…Π΅ΠΌΠ° Π·Π° взаимодСйствиС Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅

Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ Graphite+Whisper към Graphite+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%;

    Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ Graphite+Whisper към Graphite+ClickHouse

  • Π½Π°ΠΌΠ°Π»ΠΈΡ…ΠΌΠ΅ Π·Π°Π΅Ρ‚ΠΎΡ‚ΠΎ пространство ΠΎΡ‚ 1 Π’Π± Π΄ΠΎ 300 Π“Π±;
  • ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅ ΠΏΠΎ 125 ΠΌΠ»Π½ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡƒΡ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° (ΠΏΠΈΠΊΠΎΠ²Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° миграцията);
  • ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ…ΠΌΠ΅ всички ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° тридСсСтсСкундСн ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅;
  • ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ рСпликация Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ отказоустойчивост;
  • ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спиранС;
  • Π·Π° всичко ΠΏΠΎΡ…Π°Ρ€Ρ‡ΠΈΡ…ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 7 сСдмици.

Graphite+ClickHouse. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ

Π’ нашия случай Π½Π΅ ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΈ камъни. Π•Ρ‚ΠΎ с ΠΊΠ°ΠΊΠ²ΠΎ сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ…ΠΌΠ΅ слСд ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π°.

  1. ClickHouse Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡ€Π΅Ρ‡ΠΈΡ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, понякога трябва Π΄Π° сС ΠΏΠ΅Ρ€Π΅Π·Π°Ρ€Π΅Π΄ΠΈ. НапримСр, Π² случай с описаниСто Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° zookeeper Π² конфигурацията Π½Π° ClickHouse β€” Ρ‚ΠΎΠΉ Π½Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° clickhouse-server.
  2. НС ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ…Π° Π³ΠΎΠ»Π΅ΠΌΠΈ заявки Π² ClickHouse, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π°ΡˆΠ°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ° Π² graphite-clickhouse ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΅Ρ‚ΠΎ Ρ‚Π°ΠΊΠ°:
    url = "http://localhost:8123/?max_query_size=268435456&max_ast_elements=1000000"
  3. Π’ ClickHouse доста чСсто ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ Π½ΠΎΠ²ΠΈ вСрсии Π½Π° стабилни Ρ€Π΅Π»ΠΈΠ·ΠΈ, Π² тях ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС срСщнат ΠΈΠ·Π½Π΅Π½Π°Π΄ΠΈ: Π±ΡŠΠ΄Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ.
  4. Π”ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² kubernetes ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ голямо количСство ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ с ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΈ случайно дълъг ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚. Π’ΠΎΡ‡ΠΊΠΈΡ‚Π΅ ΠΏΠΎ Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с мястото няма. Но ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° запитвания ClickHouse ΠΈΠ·Π²Π»ΠΈΡ‡Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство ΠΎΡ‚ ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° β€˜metrics’. Π’ 90% ΠΎΡ‚ случаитС Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° тях Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° (24 часа) липсват. А Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° β€˜data’ сС ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π° ΠΈ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка стига Π΄ΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°. Π—Π° Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄ с информация Π·Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са сС срСщнали ΠΏΡ€Π΅Π· Π΄Π΅Π½ΠΎΠ½ΠΎΡ‰ΠΈΠ΅Ρ‚ΠΎ. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ (Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ) Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΡŠΠ·Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π·Π°ΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ само Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са сС появили Π² зададСния ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Π° Π½Π΅ Π·Π° цСлия ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ускори ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈΡ‚Π΅ Π·Π° тях. Π—Π° описаното Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ бСшС ΡΡŠΠ±Ρ€Π°Π½ graphite-clickhouse (fork), Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ рСализация Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° date_metrics.

Graphite+ClickHouse. Π’Π°Π³ΠΎΠ²Π΅

ΠžΡ‚ вСрсия 1.1.0 Graphite ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ‚Π°Π³ΠΎΠ²Π΅. И Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ обмислямС ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΈΠΌ Ρ‚Π°Π·ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° Π² стСка graphite+clickhouse.

Graphite+ClickHouse. Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ

На Π±Π°Π·Π°Ρ‚Π° Π½Π° описаната ΠΏΠΎ-Π³ΠΎΡ€Π΅ инфраструктура, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΈ! Но Π·Π° Π½Π΅Π³ΠΎ β€” Π² слСдващата статия.

АбонирайтС сС, натиснСтС стрСлката Π½Π°Π³ΠΎΡ€Π΅ ΠΈ Π±ΡŠΠ΄Π΅Ρ‚Π΅ щастливи!

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster