Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ ΠΎΡ‚ 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 Ρ„Π°ΠΉΠ»ΡŠΡ‚ сС създава с ΠΎΠ³Π»Π΅Π΄ Π½Π° цСлия ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π° Π·Π°Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ ΠΈ Π·Π°Π΅ΠΌΠ° прСдвидимия ΠΎΠ±Π΅ΠΌ място, ΠΊΠΎΠΉΡ‚ΠΎ бСшС Ρ€Π°Π²Π΅Π½ Π½Π° ~2Мб. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС услоТнява ΠΈ ΠΎΡ‚ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ появата Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ става ΠΌΠ½ΠΎΠ³ΠΎ, Π° ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ Π·Π° тях ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°Π·Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ рСсурси.

Π’Π΅Π΄Π½Π°Π³Π° искам Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, описани ΠΏΠΎ-Π³ΠΎΡ€Π΅, ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π±ΠΎΡ€ΠΈ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° стСпСн Π½Π° СфСктивност, Π½ΠΎ ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄Π°Π½Π½ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΏΠΎΡΡ‚ΡŠΠΏΠ²Π°Ρ‚ ΠΏΡ€ΠΈ вас, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-силно Ρ‚Π΅ сС изострят.

Π‘ всичко, посочСно ΠΏΠΎ-Π³ΠΎΡ€Π΅ (с ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎΡ‚ΠΎ Π½Π° статията), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ постоянният растСТ Π½Π° броя Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΆΠ΅Π»Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° ΠΏΡ€Π΅Π²Π΅Π΄Π΅ΠΌ всички ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ към ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 30 сСкунди (ΠΏΡ€ΠΈ нСобходимост - Π΄ΠΎ 10 сСкунди), Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Graphite+ClickHouse ΠΊΠ°Ρ‚ΠΎ пСрспСктивна Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° Whisper.

Graphite+ClickHouse. ΠžΡ‡Π°ΠΊΠ²Π°Π½ΠΈΡ

ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ…ΠΌΠ΅ няколко срСщи с ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°Ρ‚Π° ΠΎΡ‚ ЯндСкса, ΠΏΡ€ΠΎΡ‡Π΅Ρ‚ΠΎΡ…ΠΌΠ΅ няколко статии Π² Π₯Π°Π±Ρ€Π°, ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ докумСнтацията ΠΈ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ…ΠΌΠ΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ClickHouse с Graphite, Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΄Π° дСйствамС!

Π˜ΡΠΊΠ°Ρ…ΠΌΠ΅ Π΄Π° постигнСм слСдното:

  • Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° дисковата подсистСма ΠΎΡ‚ 30% Π΄ΠΎ 5%;
  • Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π·Π°Π΅Ρ‚ΠΎΡ‚ΠΎ пространство ΠΎΡ‚ 1Π’Π± Π΄ΠΎ 100Π“Π±;
  • Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅ ΠΏΠΎ 100 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡƒΡ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€;
  • рСпликация Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ устойчивост Π½Π° ΠΎΡ‚ΠΊΠ°Π·ΠΈ ΠΎΡ‚ кутията;
  • Π΄Π° Π½Π΅ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ с Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠΌ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° Π·Π° Ρ€Π°Π·ΡƒΠΌΠ΅Π½ срок;
  • Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ Π±Π΅Π· ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅.

Доста Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½ΠΎ, Π½Π°Π»ΠΈ?

Graphite+ClickHouse. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ

Π—Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Graphite ΠΈ послСдващото ΠΈΠΌ записванС Π² ClickHouse, бСшС ΠΈΠ·Π±Ρ€Π°Π½ carbon-clickhouse (golang).

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

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

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 TB Π΄ΠΎ 300 GB;
  • ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅ ΠΏΠΎ 125 ΠΌΠ»Π½ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΌΠΈΠ½ΡƒΡ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° (ΠΏΠΈΠΊΠΎΠ²Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° миграцията);
  • ΠΏΡ€Π΅Π²Π΅Π΄ΠΎΡ…ΠΌΠ΅ всички ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° тридСсСтсСкундСн ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅;
  • ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ рСпликация Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ устойчивост ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ°Π·;
  • ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ…ΠΌΠ΅ Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅ Π½Π° прСстой;
  • Π·Π° всичко ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Ρ…ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 7 сСдмици.

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

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

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

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

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

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

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

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

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

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