Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

ΠŸΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ Π½Π° статията Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ спСциално Π·Π° студСнтитС ΠΎΡ‚ курса β€žDevOps ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈβ€œ.

Π€Π°Π±ΠΈΠ°Π½ Π Π΅ΠΉΠ½Π°Ρ€Ρ† (Fabian Reinartz) β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° софтуСр, Π·Π°ΠΏΠ°Π»Π΅Π½ ΠΏΠΎ Go ΠΈ Π»ΡŽΠ±ΠΈΡ‚Π΅Π» Π½Π° слоТни прСдизвикатСлства. Π’ΠΎΠΉ Π΅ ΠΈ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° Prometheus ΠΈ ΡΡŠΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π» Π½Π° Kubernetes SIG instrumentation. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» ΠΊΠ°Ρ‚ΠΎ production ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Π² SoundCloud ΠΈ Π΅ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄Π΅Π» Π³Ρ€ΡƒΠΏΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π² CoreOS. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Google.

Π‘Π°Ρ€Ρ‚Π΅ΠΊ ΠŸΠ»ΠΎΡ‚ΠΊΠ° (Bartek Plotka) β€” инфраструктурСн ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Π² Improbable. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΡƒΠ²Π° сС ΠΎΡ‚ Π½ΠΎΠ²ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ прСдизвикатСлства Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅ систСми. Има ΠΎΠΏΠΈΡ‚ Π² нискоуровнСвото ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π² Intel, ΠΎΠΏΠΈΡ‚ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΡ€ Π² Mesos ΠΈ производствСн ΠΎΠΏΠΈΡ‚ Π² SRE Π½Π° свСтовно Π½ΠΈΠ²ΠΎ Π² Improbable. Π Π°Π±ΠΎΡ‚ΠΈ Π·Π° подобряванС Π½Π° свСта Π½Π° микроуслугитС. Π’Ρ€ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈ страсти: Golang, open source ΠΈ Π²ΠΎΠ»Π΅ΠΉΠ±ΠΎΠ».

ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΠΉΠΊΠΈ нашия флагмански ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ SpatialOS, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Π·Π° Improbable Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° високодинамична ΠΎΠ±Π»Π°Ρ‡Π½Π° инфраструктура с Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΎΠ±Ρ…Π²Π°Ρ‚ ΠΈ дСсСтки кластСри Kubernetes. НиС бяхмС срСд ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ систСмата Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Prometheus. Prometheus Π΅ способСн Π΄Π° слСди ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΌΠΎΡ‰Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° запитвания, ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° информация.

ЛСснотата ΠΈ надСТдността Π½Π° Prometheus са Π΅Π΄Π½ΠΎ ΠΎΡ‚ основнитС ΠΌΡƒ прСдимства. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ достигнСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠ°Ρ‰Π°Π±, сС сблъсквамС с няколко Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΠ°. Π—Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…ΠΌΠ΅ Thanos β€” ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, създадСн ΠΎΡ‚ Improbable, Π·Π° Π±Π΅Π·ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Π° трансформация Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Prometheus Π² Π΅Π΄ΠΈΠ½Π½Π° систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Thanos Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ Π½Π° Github Ρ‚ΡƒΠΊ.

Π‘ΡŠΠ΄Π΅Ρ‚Π΅ Π² ΠΊΡ€Π°ΠΊ с послСднитС Π½ΠΎΠ²ΠΈΠ½ΠΈ ΠΎΡ‚ Improbable.

ΠΠ°ΡˆΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ с Thanos

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠ°Ρ‰Π°Π± Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ Π²ΡŠΠΏΡ€ΠΎΡΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°Π΄Π²ΠΈΡˆΠ°Π²Π°Ρ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° ваниловия Prometheus. Как Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ ΠΏΠ΅Ρ‚Π°Π±Π°ΠΉΡ‚ΠΈ историчСски Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½? МоТС Π»ΠΈ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° Π±Π΅Π· Π΄Π° сС ΠΆΠ΅Ρ€Ρ‚Π²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° запитвания? МоТС Π»ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ всички ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Prometheus, с Π΅Π΄Π½ΠΎ API Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅? МоТС Π»ΠΈ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈΠΌ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, ΡΡŠΠ±Ρ€Π°Π½ΠΈ с Prometheus HA?

Π—Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ Thanos. Π’ слСдващитС Ρ€Π°Π·Π΄Π΅Π»ΠΈ Ρ‰Π΅ опишСм ΠΊΠ°ΠΊ сС Π·Π°Ρ…Π²Π°Π½Π°Ρ…ΠΌΠ΅ с Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Ρ‰Π΅ обясним Ρ†Π΅Π»ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ смС прСслСдвали.

Π—Π°ΠΏΠΈΡ‚ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ няколко инстанции Π½Π° Prometheus (Π³Π»ΠΎΠ±Π°Π»Π΅Π½ Π·Π°ΠΏΠΈΡ‚)

Prometheus ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към ΡˆΠ°Ρ€Π΄Π²Π°Π½Π΅Ρ‚ΠΎ. Π”ΠΎΡ€ΠΈ Π΅Π΄ΠΈΠ½ сСрвСр Prometheus осигурява Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π° мащабируСмост, Π·Π° Π΄Π° освободи ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‚ слоТноститС Π½Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎΡ‚ΠΎ ΡˆΠ°Ρ€Π΄Π²Π°Π½Π΅ практичСски ΠΏΡ€ΠΈ всички Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅, чСсто Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ сСрвСри Prometheus Ρ‡Ρ€Π΅Π· Π΅Π΄ΠΈΠ½Π½ΠΎ API ΠΈΠ»ΠΈ UI β€” Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄. Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° няколко Π·Π°ΠΏΠΈΡ‚Π° Π² Π΅Π΄Π½Π° Ρ‚Π°Π±Π»ΠΎ Π½Π° Grafana, Π½ΠΎ всСки Π·Π°ΠΏΠΈΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС изпълнСн само Π½Π° Π΅Π΄ΠΈΠ½ сСрвСр Prometheus. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Thanos ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ няколко сСрвСра Prometheus, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ всички Ρ‚Π΅ са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΡ‚ Π΅Π΄Π½Π° ΠΊΡ€Π°ΠΉΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ°.

По-Ρ€Π°Π½ΠΎ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄ Π² Improbable, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ инстанции Prometheus Π² многостСпСнна Π™Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½Π° фСдСрация. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°ΡˆΠ΅ създаванС Π½Π° Π΅Π΄ΠΈΠ½ ΠΌΠ΅Ρ‚Π°-сСрвСр Prometheus, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ±ΠΈΡ€Π° част ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ ΠΎΡ‚ всСки "листов" сСрвСр.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ бСшС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½. Π’ΠΎΠΉ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ услоТняванС Π½Π° конфигурацията, добавянС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π· ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° слоТни ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° прСдоставянС Π½Π° Ρ„Π΅Π΄Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° ΠΊΡ€Π°ΠΉΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ° само с Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‚Π°ΠΊΠ°Π²Π° фСдСрация Π½Π΅ позволява ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° истински Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ всички Π΄Π°Π½Π½ΠΈ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ API Π·Π°ΠΏΠΈΡ‚.

Π’ΠΎΠ²Π° тясно Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с Π΅Π΄ΠΈΠ½Π½ΠΎΡ‚ΠΎ прСдставянС Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΡΡŠΠ±Ρ€Π°Π½ΠΈ Π½Π° високо-Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ (HA) сСрвСри Prometheus. HA-ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° Prometheus нСзависимо ΡΡŠΠ±ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° просто, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС. ВсС ΠΏΠ°ΠΊ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΎ ΠΈ Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½ΠΎ прСдставянС Π½Π° Π΄Π²Π°Ρ‚Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π Π°Π·Π±ΠΈΡ€Π° сС, Π² високо-Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈΡ‚Π΅ сСрвСри Prometheus ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° нСобходимост. Π’ Improbable Π½ΠΈΠ΅ наистина Π²Π·ΠΈΠΌΠ°ΠΌΠ΅ сСриозно Π΅ΠΆΠ΅ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΡ‚ΠΎ наблюдСниС Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ инстанция Prometheus Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Π΅ Π΅Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΎΡ‚ΠΊΠ°Π·. Всяка Π³Ρ€Π΅ΡˆΠΊΠ° Π² конфигурацията ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π³ΡƒΠ±Π° Π½Π° Π²Π°ΠΆΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. Π”ΠΎΡ€ΠΈ простото Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΌΠ°Π»ΠΊΠΈ сривовС Π² ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΡ‚ΠΎ стартиранС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Π½Π΅ΠΌΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅.

НадСТдно ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° историчСски Π΄Π°Π½Π½ΠΈ

Π•Π²Ρ‚ΠΈΠ½ΠΎ, Π±ΡŠΡ€Π·ΠΎ ΠΈ Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ΅Ρ‡Ρ‚Π°, която сподСлямС с ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Prometheus. Π’ Improbable бяхмС ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ срока Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π΄Π΅Π²Π΅Ρ‚ Π΄Π½ΠΈ (Π·Π° Prometheus 1.8). Π’ΠΎΠ²Π° поставя ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΈ ограничСния Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎ Π½Π°Π·Π°Π΄ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ.

Prometheus 2.0 Π½Π°ΠΏΡ€Π°Π²ΠΈ подобрСния Π² Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ количСството Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ Π²Π΅Ρ‡Π΅ Π½Π΅ влияС Π½Π° ΠΎΠ±Ρ‰Π°Ρ‚Π° производитСлност Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° (Π²ΠΈΠΆΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π°Ρ‚Π° Ρ€Π΅Ρ‡ Π½Π° KubeCon Π·Π° Prometheus 2). ВсС ΠΏΠ°ΠΊ Prometheus ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ диск. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ високоСфСктивното компрСсиранС Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° локалния SSD, накрая всС ΠΏΠ°ΠΊ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΌΠ° Π½Π° историчСскитС Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚.

ОсвСн Ρ‚ΠΎΠ²Π°, Π² Improbable сС Π³Ρ€ΠΈΠΆΠΈΠΌ Π·Π° надСТдността, простотата ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅. Π“ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΈ дисковС са ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅. Π’Π΅ са ΠΏΠΎ-скъпи ΠΈ изискват ΠΏΠΎΠ²Π΅Ρ‡Π΅ инструмСнти Π·Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ излишна слоТност.

Даунсэмплинг

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π° с историчСски Π΄Π°Π½Π½ΠΈ, ΠΎΡΡŠΠ·Π½Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ основни слоТности с O-пространството, ΠΊΠΎΠΈΡ‚ΠΎ правят запитванията всС ΠΏΠΎ-Π±Π°Π²Π½ΠΈ, Π°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с Π΄Π°Π½Π½ΠΈ Π·Π° сСдмици, мСсСци ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±ΠΈ Π±ΠΈΠ»ΠΎ даунсэмплинг β€” намаляванС Π½Π° чСстотата Π½Π° дискрСтизация Π½Π° сигнала. Π§Ρ€Π΅Π· ΠΏΠΎΠ½ΠΈΠΆΠ°Π²Π°Π½Π΅ Π½Π° дискрСтизацията ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° "Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΌΠ°Ρ‰Π°Π±Π°" Π΄ΠΎ ΠΏΠΎ-голям Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Π±Ρ€ΠΎΠΉ ΠΏΡ€ΠΎΠ±ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° запитванията Π΄Π° останат ΠΎΡ‚Π·ΠΈΠ²Ρ‡ΠΈΠ²ΠΈ.

Даунсэмплинг Π½Π° стари Π΄Π°Π½Π½ΠΈ Π΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Π° нСобходимост Π·Π° всяко Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»Ρ стандартния Prometheus.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ†Π΅Π»ΠΈ

Π•Π΄Π½Π° ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Thanos бСшС Π±Π΅Π·ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Π°Ρ‚Π° интСграция с всякакви ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ инсталации Π½Π° Prometheus. Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ†Π΅Π» бСшС лСсна Сксплоатация с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ Π±Π°Ρ€ΠΈΠ΅Ρ€ΠΈ Π·Π° Π²Ρ…ΠΎΠ΄. Всички зависимости трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ лСсно ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΠΌΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° ΠΌΠ°Π»ΠΊΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΡ‰ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ниска основна Ρ†Π΅Π½Π°.

АрхитСктура Π½Π° Thanos

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° сСкция ΠΈΠ·Π±Ρ€ΠΎΠΈΡ…ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ, Π½Π΅ΠΊΠ° Π΄Π° Π³ΠΈ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Thanos Ρ€Π΅ΡˆΠ°Π²Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

Π“Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄

Π—Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π°Π΄ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ инстанции Π½Π° Prometheus, трябва Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ Π΅Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° Π²Ρ…ΠΎΠ΄ Π·Π° заявкитС с всички ΡΡŠΡ€Π²ΡŠΡ€ΠΈ. ИмСнно Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΡŠΡ‚ Thanos. Sidecar. Π’ΠΎΠΉ сС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° Π΄ΠΎ всСки ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° Prometheus ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ прокси, обслуТващ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π½Π° Prometheus Ρ‡Ρ€Π΅Π· gRPC интСрфСйса Store API, позволяващ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.

ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° страна сС Π½Π°ΠΌΠΈΡ€Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ мащабируСмият ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Querier Π±Π΅Π· Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ просто отговарянС Π½Π° заявкитС PromQL Ρ‡Ρ€Π΅Π· стандартния HTTP API Π½Π° Prometheus. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Querier, Sidecar ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Thanos взаимодСйстват ΠΏΠΎ gossip ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

  1. Querier, ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° заявка, сС ΡΠ²ΡŠΡ€Π·Π²Π° с ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° Store API, Ρ‚.Π΅. с Π½Π°ΡˆΠΈΡ‚Π΅ Sidecar ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Prometheus.
  2. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‚ΠΎΠΉ обСдинява ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΈ изпълнява PromQL заявка Π²ΡŠΡ€Ρ…Ρƒ тях. Querier ΠΌΠΎΠΆΠ΅ Π΄Π° обСдинява ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π΅ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‰ΠΈ сС Π΄Π°Π½Π½ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ HA ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Prometheus.

Π’ΠΎΠ²Π° Ρ€Π΅ΡˆΠ°Π²Π° основната част ΠΎΡ‚ Π½Π°ΡˆΠ°Ρ‚Π° Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ° – ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Prometheus Π² Π΅Π΄ΠΈΠ½Π½ΠΎ прСдставлСниС. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Thanos ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само Π·Π°Ρ€Π°Π΄ΠΈ Ρ‚Π°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚. НС Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС внасят ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Prometheus!

НСограничСн срок Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅!

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Ρ‰Π΅ искамС Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»ΡΡ‚ обичайния срок Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Prometheus. Π—Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° историчСски Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π’ΠΎ Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ във всяко ΠΎΠ±Π»Π°ΠΊΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π¦ΠžΠ” ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΏΠΎΡ‡Ρ‚ΠΈ всяко ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сС Π΄ΠΎΡΡ‚ΡŠΠΏΠ²Π° Ρ‡Ρ€Π΅Π· Π΄ΠΎΠ±Ρ€Π΅ извСстния S3 API.

Prometheus записва Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° диск ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π° всСки Π΄Π²Π° часа. Π‘Π»ΠΎΠΊΡŠΡ‚ Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° всички Π΄Π°Π½Π½ΠΈ Π·Π° фиксиран ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π΅ нСизмСняСм. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Thanos Sidecar ΠΌΠΎΠΆΠ΅ просто Π΄Π° Π³Π»Π΅Π΄Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° Prometheus ΠΈ, с появата Π½Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π΄Π° Π³ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π° Π² Π±Π°Ρ†ΠΈΡ‚Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

Π—Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π²Π΅Π΄Π½Π°Π³Π° слСд запис Π½Π° диск ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π·Π°ΠΏΠ°Π·Π²Π° простотата Π½Π° β€žΡΠΊΡ€Π°ΠΏΠ΅Ρ€Π°β€œ (Prometheus ΠΈ Thanos Sidecar), ΠΊΠΎΠ΅Ρ‚ΠΎ опростява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π°, Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° систСмата.

ΠšΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅, Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ става ΠΌΠ½ΠΎΠ³ΠΎ лСсно. Но ΠΊΠ°ΠΊΠ²ΠΎ сС случва с Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅?

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΡŠΡ‚ Thanos Store Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ прокси Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Подобно Π½Π° Thanos Sidecar, Ρ‚ΠΎΠΉ участва Π² gossip-кластСра ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Store API. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Querier ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ Sidecar, добавяйки ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии Π΄Π°Π½Π½ΠΈ β€” Π±Π΅Π· нСобходимост ΠΎΡ‚ спСциална конфигурация.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

Π‘Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии Π΄Π°Π½Π½ΠΈ сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΎΡ‚ няколко Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°. Π—Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ ΠΏΡ€ΠΈ поискванС Π±ΠΈ Π±ΠΈΠ»ΠΎ доста Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π±ΠΈ изисквало ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ дисково пространство.

ВмСсто Ρ‚ΠΎΠ²Π°, Store Gateway Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Prometheus. Π‘ умния ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ Π½Π° заявки ΠΈ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ само Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ индСксни части Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅, стана възмоТно Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ слоТността Π½Π° заявкитС Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ количСство HTTP заявки към Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ броя Π½Π° заявкитС с Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Π΄ΠΎ ΡˆΠ΅ΡΡ‚ Ρ€Π΅Π΄Π° ΠΈ Π΄Π° постигнСм Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΌΠΎ ΠΎΡ‚ заявкитС Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ SSD.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

ΠšΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅, Thanos Querier Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намалява Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Π΅Π΄Π½Π° заявка Π·Π° Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Prometheus ΠΈ поставяйки ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π±Π»ΠΈΠ·ΠΎ Π΅Π΄ΠΈΠ½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³. Π§Ρ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ мноТСство Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈ заявки Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ количСство ΠΎΠ±Π΅ΠΌΠ½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π£ΠΏΠ»ΡŠΡ‚Π½ΡΠ²Π°Π½Π΅ ΠΈ даунсэмплинг

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ новият Π±Π»ΠΎΠΊ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии Π΄Π°Π½Π½ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сС Π·Π°Ρ€Π΅Π΄ΠΈ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ β€œΠΈΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈβ€ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Π΄Π½Π°Π³Π° стават Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Ρ‡Ρ€Π΅Π· Store Gateway.

ΠžΠ±Π°Ρ‡Π΅, слСд извСстно Π²Ρ€Π΅ΠΌΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ (Prometheus с Sidecar) сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Ρ‚ ΠΈ Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ цСлия ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Π½Π° индСксиранСто. Π—Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ прСдставихмС ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ Compactor. Π’ΠΎΠΉ просто ΠΏΡ€ΠΈΠ»Π°Π³Π° локалния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π½Π° ΡƒΠΏΠ»ΡŠΡ‚Π½ΡΠ²Π°Π½Π΅ Π½Π° Prometheus към историчСскитС Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС стартиран ΠΊΠ°Ρ‚ΠΎ просто ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ компрСсиранС, заявка Π·Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ прСдставлява ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½Π°Ρ‚Π° Ρ†Π΅Π½Π° Π½Π° Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ стойности ΠΈ тяхното ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΏΡ€Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‡Π° Π½Π° заявки Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ рязко ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° заявката. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, с ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π½Π° всСки пиксСл Π½Π° Π΅ΠΊΡ€Π°Π½Π° сС ΠΏΠ°Π΄Π°Ρ‚ стотици Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄Π°Π½Π½ΠΈ, става нСвъзмоТно Π΄ΠΎΡ€ΠΈ Π΄Π° сС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² пълно Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠ° Π΄Π°ΡƒΠ½ΡΡΠΌΠΏΠ»ΠΈΠ½Π³ΡŠΡ‚ Π½Π΅ само Ρ‡Π΅ Π΅ възмоТСн, Π½ΠΎ ΠΈ няма Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠ° Π·Π°Π³ΡƒΠ±Π° Π½Π° точност.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

Π—Π° даунсСмплинг Π½Π° Π΄Π°Π½Π½ΠΈ Compactor Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ час. Π—Π° всСки Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° TSDB XOR-компрСсия, сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ min, max ΠΈΠ»ΠΈ sum Π·Π° Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ. Π’ΠΎΠ²Π° позволява Π½Π° Querier Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° ΠΈΠ·Π±ΠΈΡ€Π° Π°Π³Ρ€Π΅Π³Π°Ρ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ подходящ Π·Π° конкрСтния PromQL-Π·Π°ΠΏΠΈΡ‚.

Π—Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ с ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π° точност Π½Π° потрСбитСля Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° спСциална конфигурация. Querier Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² зависимост ΠΎΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠ°Ρ‰Π°Π±Π° ΠΎΡ‚ потрСбитСля. Ако ΠΆΠ΅Π»Π°Π΅, потрСбитСлят ΠΌΠΎΠΆΠ΅ Π΄Π° управлява Ρ‚ΠΎΠ²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° β€œstep” Π² Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ.

Въй ΠΊΠ°Ρ‚ΠΎ Ρ†Π΅Π½Π°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ Π“Π‘ Π΅ ΠΌΠ°Π»ΠΊΠ°, Thanos ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π΄Π°Π½Π½ΠΈΡ‚Π΅ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ час. Няма Π½ΡƒΠΆΠ΄Π° Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Ρ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ.

Записващи ΠΏΡ€Π°Π²ΠΈΠ»Π°

Π”ΠΎΡ€ΠΈ с Thanos записващитС ΠΏΡ€Π°Π²ΠΈΠ»Π° остават ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½Π° част ΠΎΡ‚ мониторинговия стСк. Π’Π΅ намаляват слоТността, Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° заявки. Π’Π΅ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° са ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Thanos сС основава Π½Π° Π²Π°Π½ΠΈΠ»ΠΎΠ²ΠΈ инстанции Π½Π° Prometheus, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΅ напълно ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ записващи ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° извСстяванС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ ΡΡŠΡ€Π²ΡŠΡ€ Prometheus. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π² някои случаи Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ:

  • Π“Π»ΠΎΠ±Π°Π»Π½ΠΈ извСстия ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, извСстиС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ услуга Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ Ρ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°).
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π° Π΄Π°Π½Π½ΠΈ извън Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.
  • Π‘Ρ‚Ρ€Π΅ΠΌΠ΅ΠΆ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ всички ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ извСстия Π½Π° Π΅Π΄Π½ΠΎ място.

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

Π—Π° всички Ρ‚Π΅Π·ΠΈ случаи Thanos Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ Ruler, ΠΊΠΎΠΉΡ‚ΠΎ изчислява ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ извСстия Ρ‡Ρ€Π΅Π· Thanos Queries. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡΠΉΠΊΠΈ Π΄ΠΎΠ±Ρ€Π΅ извСстния StoreAPI, възСл Query ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ свСТо изчислСни ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. По-късно Ρ‚Π΅ ΡΡŠΡ‰ΠΎ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ стават Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Ρ‡Ρ€Π΅Π· Store Gateway.

ΠœΠΎΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Thanos

Thanos Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ гъвкав, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ към Π²Π°ΡˆΠΈΡ‚Π΅ изисквания. Π’ΠΎΠ²Π° Π΅ особСно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ миграция ΠΎΡ‚ стандартСн Prometheus. НСка Π±ΡŠΡ€Π·ΠΎ си ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Thanos с Π΅Π΄ΠΈΠ½ малък ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΄Π° прСмСститС вашия Π²Π°Π½ΠΈΠ»ΠΎΠ² Prometheus Π² свСта Π½Π° "Π±Π΅Π·ΠΊΡ€Π°ΠΉΠ½ΠΎΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ":

Thanos β€” ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Prometheus

  1. Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Thanos Sidecar към Π²Π°ΡˆΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Prometheus β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, съсСдСн ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² Kubernetes pod.
  2. Π Π°Π·Π³ΡŠΡ€Π½Π΅Ρ‚Π΅ няколко Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Thanos Querier Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ Π΅ лСсно Π΄Π° настроитС gossip ΠΌΠ΅ΠΆΠ΄Ρƒ Scraper ΠΈ Querier. Π—Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° взаимодСйствиСто Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π° β€˜thanos_cluster_members’.

Π‘Π°ΠΌΠΎ Ρ‚Π΅Π·ΠΈ Π΄Π²Π΅ ΡΡ‚ΡŠΠΏΠΊΠΈ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ, Π·Π° Π΄Π° осигуритС Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄ ΠΈ Π±Π΅Π·ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Π° дСдупликация Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ HA Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Prometheus! ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ Π²Π°ΡˆΠΈΡ‚Π΅ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ²Π΅ към ΠΊΡ€Π°ΠΉΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ° HTTP Querier ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ интСрфСйса Π½Π° Thanos UI Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ нСобходимостта Π²ΠΈ изисква Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Ρ‰Π΅ трябва Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΎΡ‰Π΅ Ρ‚Ρ€ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ:

  1. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ bucket Π½Π° AWS S3 ΠΈΠ»ΠΈ GCS. НастройтС Sidecar Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π΅Π·ΠΈ bucket-ΠΈ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
  2. Π Π°Π·Π³ΡŠΡ€Π½Π΅Ρ‚Π΅ Store Gateway ΠΈ Π³ΠΎ ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ gossip кластСр. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ заявки Π·Π° Π΄Π°Π½Π½ΠΈ Π² Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия!
  3. Π Π°Π·Π³ΡŠΡ€Π½Π΅Ρ‚Π΅ Compactor, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ СфСктивността Π½Π° заявкитС Π·Π° дълги ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ компрСсия ΠΈ downsampling.

Ако искатС Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π½Π΅ сС ΠΊΠΎΠ»Π΅Π±Π°ΠΉΡ‚Π΅, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° манифСст kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅!

Π‘Π°ΠΌΠΎ Π·Π° ΠΏΠ΅Ρ‚ ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π°Ρ…ΠΌΠ΅ Prometheus Π² Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ с Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄, Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° висока Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅.

Pull request: ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ нас!

Thanos ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ бСшС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. Π‘Π΅Π·ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Π°Ρ‚Π° интСграция с Prometheus ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ само част ΠΎΡ‚ Thanos Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΈΠ·Π±ΠΎΡ€ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Π΅Π· излишни усилия.

Π’ΠΈΠ½Π°Π³ΠΈ смС радостни Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ GitHub Pull Request ΠΈ Issues. НС сС ΠΊΠΎΠ»Π΅Π±Π°ΠΉΡ‚Π΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с нас Ρ‡Ρ€Π΅Π· Github Issues ΠΈΠ»ΠΈ slack. Improbable-eng #thanos, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π²ΡŠΠΏΡ€ΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, ΠΈΠ»ΠΈ искатС Π΄Π° сподСлитС ΠΎΠΏΠΈΡ‚Π° си с нас! Ако харСсватС Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ Π² Improbable, Π½Π΅ сС ΠΊΠΎΠ»Π΅Π±Π°ΠΉΡ‚Π΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с нас β€” Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ!

НаучСтС ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° курса.

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

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