Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ АлСксандр, я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² ЦИАН ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ ΠΈ занимаюсь систСмным администрированиСм ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ инфраструктурных процСссов. Π’ коммСнтариях ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… статСй нас попросили Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ 4 Π’Π‘ Π»ΠΎΠ³ΠΎΠ² Π² дСнь ΠΈ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Π΅ΠΌ. Π”Π°, Π»ΠΎΠ³ΠΎΠ² Ρƒ нас ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ для ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ создан ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ инфраструктурный кластСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π° Π³ΠΎΠ΄ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρƒ с постоянно растущим ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ

Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

ПослСдниС нСсколько Π»Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° cian.ru росла ΠΎΡ‡Π΅Π½ΡŒ быстро, ΠΈ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Ρƒ 2018 Π³ΠΎΠ΄Π° ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒ рСсурса достигла 11.2 ΠΌΠ»Π½ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² мСсяц. Π’ Ρ‚ΠΎ врСмя Π² критичСскиС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΡ‹ тСряли Π΄ΠΎ 40% Π»ΠΎΠ³ΠΎΠ², ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Ρ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сил Π½Π° ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π•Ρ‰Π΅ ΠΌΡ‹ часто Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΈ ΠΎΠ½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΠ»Π°ΡΡŒ спустя ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя. Π­Ρ‚ΠΎ Π±Ρ‹Π» Π°Π΄, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ для хранСния Π»ΠΎΠ³ΠΎΠ² ΠΌΡ‹ использовали кластСр ΠΈΠ· 10 Π΄Π°Ρ‚Π°-Π½ΠΎΠ΄ с ElasticSearch вСрсии 5.5.2 с Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌΠΈ настройками индСксов. Π•Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ большС Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ ΠΊΠ°ΠΊ популярноС ΠΈ доступноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΡ‚ΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² Π±Ρ‹Π» Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ большой, смысла ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ нСстандартныС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ.Β 

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ входящих Π»ΠΎΠ³ΠΎΠ² обСспСчивал Logstash Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚Π°Ρ… Π½Π° пяти ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€Π°Ρ… ElasticSearch. Один индСкс, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, состоял ΠΈΠ· пяти ΡˆΠ°Ρ€Π΄ΠΎΠ². Π‘Ρ‹Π»Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° почасовая ΠΈ днСвная ротация, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час Π² кластСрС появлялось порядка 100 Π½ΠΎΠ²Ρ‹Ρ… ΡˆΠ°Ρ€Π΄ΠΎΠ². Пока Π»ΠΎΠ³ΠΎΠ² Π±Ρ‹Π»ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, кластСр справлялся ΠΈ Π½Π° Π΅Π³ΠΎ настройках Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ заострял внимания.Β 

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ быстрого роста

ОбъСм сгСнСрированных Π»ΠΎΠ³ΠΎΠ² рос ΠΎΡ‡Π΅Π½ΡŒ быстро, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° налоТились Π΄Π²Π° процСсса. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρƒ сСрвиса ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡŒ всС большС. А с Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, распиливая наши старыС ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Ρ‹ Π½Π° C# ΠΈ Python. НСсколько дСсятков Π½ΠΎΠ²Ρ‹Ρ… микросСрвисов, Π·Π°ΠΌΠ΅Π½ΡΠ²ΡˆΠΈΡ… части ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ большС Π»ΠΎΠ³ΠΎΠ² для инфраструктурного кластСра.Β 

ИмСнно ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ нас ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ кластСр стал практичСски нСуправляСм. Когда Π»ΠΎΠ³ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 20 тыс. сообщСний Π² сСкунду, частая бСсполСзная ротация ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π° количСство ΡˆΠ°Ρ€Π΄ΠΎΠ² Π΄ΠΎ 6 тысяч, Π° Π½Π° ΠΎΠ΄Π½Ρƒ Π½ΠΎΠ΄Ρƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π±ΠΎΠ»Π΅Π΅ 600 ΡˆΠ°Ρ€Π΄ΠΎΠ².Β 

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π° ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ΄Ρ‹ начинался ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄ всСх ΡˆΠ°Ρ€Π΄ΠΎΠ², ΡƒΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ Π½Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π»ΠΎ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ запись Π΄Π°Π½Π½Ρ‹Ρ… Π² кластСр. И Π² этот ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΌΡ‹ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π±Π΅Π· Π»ΠΎΠ³ΠΎΠ². А ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ с сСрвСром ΠΌΡ‹ тСряли 1/10 кластСра Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅. Добавляло слоТностСй большоС количСство индСксов малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Π‘Π΅Π· Π»ΠΎΠ³ΠΎΠ² ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π° ΠΈ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π½Π°ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π½Π° Ρ‚Π΅ ΠΆΠ΅ Π³Ρ€Π°Π±Π»ΠΈ снова, Π° Π² ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ нашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ это Π±Ρ‹Π»ΠΎ нСдопустимо, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρƒ нас Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π· Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ β€” Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Для этого Π½Π°ΠΌ Π±Ρ‹Π» Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ объСм Π»ΠΎΠ³ΠΎΠ² ΠΈ доставка ΠΈΡ… практичСски Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅ΠΆΡƒΡ€Π½Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ»Π° Π°Π»Π΅Ρ€Ρ‚Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Π½ΠΎ ΠΈ ΠΎΡ‚ Π»ΠΎΠ³ΠΎΠ². Для понимания ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€”Β  Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ объСм Π»ΠΎΠ³ΠΎΠ² составлял порядка 2 Π’Π± Π² сутки.Β 

ΠœΡ‹ поставили Π·Π°Π΄Π°Ρ‡Ρƒ β€” ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя ΠΈΡ… доставки Π² кластСр ELK максимум Π΄ΠΎ 15 ΠΌΠΈΠ½ΡƒΡ‚ Π²ΠΎ врСмя форс-ΠΌΠ°ΠΆΠΎΡ€ΠΎΠ² (Π½Π° эту Ρ†ΠΈΡ„Ρ€Ρƒ Π² дальнСйшСм ΠΌΡ‹ ΠΎΠΏΠΈΡ€Π°Π»ΠΈΡΡŒ, ΠΊΠ°ΠΊ Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ KPI).

Новый ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΈ hot-warm Π½ΠΎΠ΄Ρ‹

Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ кластСра ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ с обновлСния вСрсии ElasticSearch с 5.5.2 Π½Π° 6.4.3. Π£ нас Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· Π»Π΅Π³ кластСр 5 вСрсии, ΠΈ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ³Π°ΡΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ β€” Π»ΠΎΠ³ΠΎΠ²-Ρ‚ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅Ρ‚. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ этот ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΡ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ»ΠΈ всСго Π·Π° ΠΏΠ°Ρ€Ρƒ часов.

Π‘Π°ΠΌΡ‹ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° этом этапС стало Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π΅Ρ… Π½ΠΎΠ΄Π°Ρ… с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² качСствС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° Apache Kafka. Π‘Ρ€ΠΎΠΊΠ΅Ρ€ сообщСний ΠΈΠ·Π±Π°Π²ΠΈΠ» нас ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π»ΠΎΠ³ΠΎΠ² Π²ΠΎ врСмя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ElasticSearch. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² кластСр 2 Π½ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° hot-warm Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ с трСмя «горячими» Π½ΠΎΠ΄Π°ΠΌΠΈ, расставлСнными Π² Ρ€Π°Π·Π½Ρ‹Ρ… стойках Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅. На Π½ΠΈΡ… ΠΌΡ‹ ΠΏΠΎ маскС ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Ρ‚Π΅Ρ€ΡΡ‚ΡŒ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС β€” nginx, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΠΎΠ³ΠΈ ошибок ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. На ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹ ΡƒΡ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΎΡ€Π½Ρ‹Π΅ Π»ΠΎΠ³ΠΈ β€”Β  debug, warning ΠΈ Ρ‚. ΠΏ., Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· 24 часа ΠΏΠ΅Ρ€Π΅Π΅Π·ΠΆΠ°Π»ΠΈ Β«Π²Π°ΠΆΠ½Ρ‹Π΅Β» Π»ΠΎΠ³ΠΈ с «горячих» Π½ΠΎΠ΄.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ количСство индСксов ΠΌΠ°Π»ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ с Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ rollover. На Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ротация ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ индСкса ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Π°, поэтому ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ количСству Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² индСксС. ΠœΡ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ индСкс ΠΈ зафиксировали количСство Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ротация. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ достигли ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΠ°Ρ€Π΄Π° β€” Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 50 Π“Π±.Β 

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ кластСра

Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

Однако ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΡ‹ Π½Π΅ избавились. К соТалСнию, всС Ρ€Π°Π²Π½ΠΎ появлялись малСнькиС индСксы: ΠΎΠ½ΠΈ Π½Π΅ достигали Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ объСма, Π½Π΅ Ρ€ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ глобальной очисткой индСксов ΡΡ‚Π°Ρ€ΡˆΠ΅ Ρ‚Ρ€Π΅Ρ… Π΄Π½Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ±Ρ€Π°Π»ΠΈ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π΄Π°Ρ‚Π΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ индСкс ΠΈΠ· кластСра исчСзал ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° записи Π² Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ индСкс Π»ΠΎΠΌΠ°Π»Π° Π»ΠΎΠ³ΠΈΠΊΡƒ curator’а, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ использовали для управлСния. Alias для записи прСобразовывался Π² индСкс ΠΈ Π»ΠΎΠΌΠ°Π» Π»ΠΎΠ³ΠΈΠΊΡƒ rollover’а, вызывая Π±Π΅ΡΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ рост Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… индСксов Π΄ΠΎ 600 Π“Π±.Β 

НапримСр, для ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ:

сurator-elk-rollover.yaml

---
actions:
Β Β 1:
Β Β Β Β action: rollover
Β Β Β Β options:
Β Β Β Β Β Β name: "nginx_write"
Β Β Β Β Β Β conditions:
Β Β Β Β Β Β Β Β max_docs: 100000000
Β Β 2:
Β Β Β Β action: rollover
Β Β Β Β options:
Β Β Β Β Β Β name: "python_error_write"
Β Β Β Β Β Β conditions:
Β Β Β Β Β Β Β Β max_docs: 10000000

ΠŸΡ€ΠΈ отсутствии rollover alias Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° ошибка:

ERROR Β  Β  alias "nginx_write" not found.
ERROR Β  Β  Failed to complete action: rollover.Β  <type 'exceptions.ValueError'>: Unable to perform index rollover with alias "nginx_write".

РСшСниС этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΡ‹ оставили Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ занялись Π΄Ρ€ΡƒΠ³ΠΈΠΌ вопросом: ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° pull Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Logstash, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ входящих Π»ΠΎΠ³ΠΎΠ² (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ лишнСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΠΎΠ³Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ). ΠœΡ‹ помСстили Π΅Π³ΠΎ Π² docker, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСм Ρ‡Π΅Ρ€Π΅Π· docker-compose, Ρ‚Π°ΠΌ ΠΆΠ΅ размСстили logstash-exporter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² Prometheus для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π»ΠΎΠ³ΠΎΠ². Π’Π°ΠΊ ΠΌΡ‹ Π΄Π°Π»ΠΈ сСбС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Π²Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ количСство инстансов logstash, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π»ΠΎΠ³ΠΎΠ².

Пока ΠΌΡ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈ кластСр, ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒ cian.ru выросла Π΄ΠΎ 12,8 ΠΌΠ»Π½ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² мСсяц. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ наши прСобразования Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ успСвали Π·Π° измСнСниями Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅, ΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Β«Ρ‚Π΅ΠΏΠ»Ρ‹Π΅Β» Π½ΠΎΠ΄Ρ‹ Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΠ»ΠΈΡΡŒ с Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΠ»ΠΈ всю доставку Π»ΠΎΠ³ΠΎΠ². «ГорячиС» Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ Π±Π΅Π· сбоСв, Π½ΠΎ Π² доставку ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ rollover, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ индСксы.Β 

ΠŸΡ€ΠΈ этом ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ настроСк инстансов logstash Π² кластСрС ослоТнялось Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π» Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ docker-compose, ΠΈ всС дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Ρ€ΡƒΠΊΠ°ΠΌΠΈ (для добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм сСрвСрам ΠΈ Π²Π΅Π·Π΄Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ docker-compose up -d).

ΠŸΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ²

Π’ сСнтябрС этого Π³ΠΎΠ΄Π° ΠΌΡ‹ всС Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ Ρ€Π°ΡΠΏΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° кластСр возрастала, Π° ΠΏΠΎΡ‚ΠΎΠΊ Π»ΠΎΠ³ΠΎΠ² приблиТался ΠΊ 30 тысячам сообщСний Π² сСкунду.Β 

Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ с обновлСния ΠΆΠ΅Π»Π΅Π·Π°. Π‘ пяти ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° Ρ‚Ρ€ΠΈ, Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΄Π°Ρ‚Π°-Π½ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Π°Π»ΠΈ ΠΏΠΎ дСньгам ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Для Π½ΠΎΠ΄ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:Β 

  • Для «горячих» Π½ΠΎΠ΄: E3-1270 v6 / 960Gb SSD / 32 Gb x 3 x 2 (3 для Hot1 ΠΈ 3 для Hot2).
  • Для Β«Ρ‚Π΅ΠΏΠ»Ρ‹Ρ…Β» Π½ΠΎΠ΄: E3-1230 v6 / 4Tb SSD / 32 Gb x 4.

На этой ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΡ‹ вынСсли индСкс с access-Π»ΠΎΠ³Π°ΠΌΠΈ микросСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ мСста, сколько Π»ΠΎΠ³ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚ΠΎΠ²Ρ‹Ρ… nginx, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… «горячих» Π½ΠΎΠ΄. Π”Π°Π½Π½Ρ‹Π΅ Π½Π° «горячих» Π½ΠΎΠ΄Π°Ρ… ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ…Ρ€Π°Π½ΠΈΠΌ 20 часов, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСносим Π½Π° Β«Ρ‚Π΅ΠΏΠ»Ρ‹Π΅Β» ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π»ΠΎΠ³Π°ΠΌ.Β 

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ исчСзновСния ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… индСксов ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ пСрСнастройкой ΠΈΡ… Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ индСксы Ρ€ΠΎΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² любом случаС ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 23 часа, Π΄Π°ΠΆΠ΅ Ссли Ρ‚Π°ΠΌ ΠΌΠ°Π»ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎ количСство ΡˆΠ°Ρ€Π΄ΠΎΠ² (ΠΈΡ… стало порядка 800), Π½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ кластСра это Ρ‚Π΅Ρ€ΠΏΠΈΠΌΠΎ.Β 

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² кластСрС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡˆΠ΅ΡΡ‚ΡŒ «горячих» ΠΈ всСго Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Β«Ρ‚Π΅ΠΏΠ»Ρ‹Ρ…Β» Π½ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π° запросах ΠΏΠΎ большим ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ числа Π½ΠΎΠ΄ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π’ этой ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ исправили ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ отсутствия полуавтоматичСского ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Для этого ΠΌΡ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ инфраструктурный Nomad кластСр β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Ρƒ нас Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½. Пока количСство Logstash автоматичСски Π½Π΅ измСняСтся Π² зависимости ΠΎΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄Π΅ΠΌ ΠΈ ΠΊ этому.

Как ΠΌΡ‹ Π² ЦИАН ΡƒΠΊΡ€ΠΎΡ‰Π°Π»ΠΈ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ²

ΠŸΠ»Π°Π½Ρ‹ Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅

РСализованная конфигурация ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ, ΠΈ сСйчас ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ 13,3 Π’Π± Π΄Π°Π½Π½Ρ‹Ρ… β€” всС Π»ΠΎΠ³ΠΈ Π·Π° 4 суток, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для экстрСнного Ρ€Π°Π·Π±ΠΎΡ€Π° Π°Π»Π΅Ρ€Ρ‚ΠΎΠ². Π§Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΎΠ² ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π² ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ складываСм Π² Graphite. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для инфраструктурного кластСра ΠΈ скрипты для полуавтоматичСской ΠΏΠΎΡ‡ΠΈΠ½ΠΊΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ПослС увСличСния количСства Π΄Π°Ρ‚Π°-Π½ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π³ΠΎΠ΄, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с 4 Π΄ΠΎ 7 Π΄Π½Π΅ΠΉ. Π­Ρ‚ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ достаточно для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ всСгда стараСмся Ρ€Π°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС, Π° для долгосрочных расслСдований Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ.Β 

Π’ октябрС 2019 Π³ΠΎΠ΄Π° ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒ cian.ru выросла ΡƒΠΆΠ΅ Π΄ΠΎ 15,3 ΠΌΠ»Π½ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² мСсяц. Π­Ρ‚ΠΎ стало ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ доставкС Π»ΠΎΠ³ΠΎΠ².Β 

БСйчас ΠΌΡ‹ готовимся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ElasticSearch Π΄ΠΎ вСрсии 7. ΠŸΡ€Π°Π²Π΄Π°, для этого придСтся ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ mapping ΠΌΠ½ΠΎΠ³ΠΈΡ… индСксов Π² ElasticSearch, Ρ‚. ΠΊ. ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Π»ΠΈ с вСрсии 5.5 ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ deprecated Π² 6 вСрсии (Π² 7 вСрсии ΠΈΡ… просто Π½Π΅Ρ‚). А это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² процСссС обновлСния ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ форс-ΠΌΠ°ΠΆΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ вопроса оставит нас Π±Π΅Π· Π»ΠΎΠ³ΠΎΠ². Из 7 вСрсии большС всСго ΠΆΠ΄Π΅ΠΌ Kibana с ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΌ интСрфСйсом ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.Β 

Основной Ρ†Π΅Π»ΠΈ ΠΌΡ‹ достигли: пСрСстали Ρ‚Π΅Ρ€ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΈ сократили врСмя простоя инфраструктурного кластСра с 2-3 ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π² нСдСлю Π΄ΠΎ ΠΏΠ°Ρ€Ρ‹ часов сСрвисных Ρ€Π°Π±ΠΎΡ‚ Π² мСсяц. Вся эта Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Π°. Однако Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит с нашим сСрвисом, ΠΌΠΎΠΆΠ΅ΠΌ быстро Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² спокойном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π»ΠΎΠ³ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΌΡ‹ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, счастливы ΠΈ готовимся ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄Π²ΠΈΠ³Π°ΠΌ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… расскаТСм ΠΏΠΎΠ·ΠΆΠ΅.

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