Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ с Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ "ExtendedPromQL"

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠšΡ€Π°Ρ‚ΠΊΠΎ Π·Π° ΠΌΠ΅Π½. Казвам сС Π ΠΎΠΌΠ°Π½. Работя Π² CloudFlare, ТивСя Π² Π›ΠΎΠ½Π΄ΠΎΠ½. Но ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° съм ΠΌΠ΅ΠΉΡ‚Π΅Π½Π΅Ρ€ Π½Π° VictoriaMetrics.
Аз съм Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° плъгина Π·Π° ClickHouse Π·Π° Grafana ΠΈ ClickHouse-proxy – Ρ‚ΠΎΠ²Π° Π΅ малък прокси Π·Π° ClickHouse.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с ΠΏΡŠΡ€Π²Π°Ρ‚Π° част, която сС Π½Π°Ρ€ΠΈΡ‡Π° β€žΠ‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΠΏΡ€Π΅Π²ΠΎΠ΄Π°β€œ ΠΈ Π² нСя Ρ‰Π΅ говоря Π·Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ всСки Π΅Π·ΠΈΠΊ ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ просто Π΅Π·ΠΈΠΊ Π·Π° комуникация – Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ. Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΈΠ»ΠΈ систСма своитС мисли, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Ρ‚Π΅ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅. Π₯ΠΎΡ€Π°Ρ‚Π° Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ спорят Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠΉ Π΅Π·ΠΈΠΊ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ – Java ΠΈΠ»ΠΈ някой Π΄Ρ€ΡƒΠ³. Π—Π° сСбС си Ρ€Π΅ΡˆΠΈΡ…, Ρ‡Π΅ трябва Π΄Π° сС ΠΈΠ·Π±ΠΈΡ€Π° Π² зависимост ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всичко Π΅ спСцифично.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π”Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ. Какво Π΅ PromQL? PromQL – Ρ‚ΠΎΠ²Π° Π΅ Π΅Π·ΠΈΠΊ Π·Π° запитвания Π½Π° Prometheus. Π’ΠΎΠ²Π° Π΅ Π½Π°Ρ‡ΠΈΠ½ΡŠΡ‚, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ запитванията Π² Prometheus, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ time series Π΄Π°Π½Π½ΠΈ, Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Какво са time series Π΄Π°Π½Π½ΠΈ? Π’ Π±ΡƒΠΊΠ²Π°Π»Π΅Π½ смисъл, Ρ‚ΠΎΠ²Π° са Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π°.

Π’ΠΎΠ²Π° Π΅:

  • На ΠΊΠ°ΠΊΠ²ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅.
  • Кога Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π°.
  • И ΠΊΠ°ΠΊΠ²Π° стойност ΠΏΠΎΠΊΠ°Π·Π²Π°.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Ρ‚Π°Π·ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° (Ρ‚Π°Π·ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° Π΅ ΠΎΡ‚ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΌΠΈ, която ΠΏΠΎΠΊΠ°Π·Π²Π° статистиката Π½Π° ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ ΠΌΠΈ), Ρ‚ΡƒΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½Π° Ρ‚Π΅Π·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ.

НиС Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ стойността ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π°. ВоСст, Π³Π»Π΅Π΄Π°ΠΉΠΊΠΈ Ρ‚Π°Π·ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°, лСсно ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ Π² нСдСля съм Π½Π°ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΠΊΠΎΠ»ΠΎ 15 000 ΡΡ‚ΡŠΠΏΠΊΠΈ. Π’ΠΎΠ²Π° са time series Π΄Π°Π½Π½ΠΈ.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° "Ρ€Π°Π·ΠΎΠ±ΠΈΠ΅ΠΌ" (трансформирамС) Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² Π΄Ρ€ΡƒΠ³Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π’ΡƒΠΊ ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚ΠΎΠ²Π°, Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅. Π’ΡƒΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ… ΠΌΠ°Π»ΠΊΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½ΠΈ, Ρ‚.Π΅. Ρ‚ΠΎΠ²Π° Π½Π΅ съм Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ» Π°Π·, Π° Π΄Π²Π°ΠΌΠ° Π΄ΡƒΡˆΠΈ, Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Jay ΠΈ Silent Bob. Π’ΠΎΠ²Π° Π΅ Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅; ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈ ΠΊΠΎΠ³Π° ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ‚Π°Π·ΠΈ стойност.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ всичкитС Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. НапримСр Π²Π·Π΅Ρ… синтаксиса Π½Π° ClickHouse. И Ρ‚ΡƒΠΊ създавамС Π΅Π΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° β€žStepsβ€œ, Ρ‚.Π΅. Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅. Π’ΡƒΠΊ Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π°; ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈ някакви ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½ΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅, ΠΊΠΎΠΉ Π΅ Ρ‚ΠΎΠΉ: Jay ΠΈ Silent Bob.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π·Π° Π΄Π° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ всичко Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Grafana, Π·Π°Ρ‰ΠΎΡ‚ΠΎ, ΠΏΡŠΡ€Π²ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ красиво.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ плъгин. Има Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. ΠŸΡŠΡ€Π²Π°Ρ‚Π° Π΅, Ρ‡Π΅ Π°Π· Π³ΠΎ написах. И Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°ΠΌ ΠΊΠΎΠ»ΠΊΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС изтСглят Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΎΡ‚ ClickHouse, Π·Π° Π΄Π° сС ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π² Grafana.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π©Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π² Graph Panel. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-популярната ΠΏΠ°Π½Π΅Π»ΠΊΠ° Π² Grafana, която ΠΏΠΎΠΊΠ°Π·Π²Π° зависимостта Π½Π° стойността във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½ΠΈ трябват само Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π°.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
НСка напишСм Π½Π°ΠΉ-простата заявка β€” ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ статистика Π·Π° ΡΡ‚ΡŠΠΏΠΊΠΈ Π² Grafana, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΠΊΠΈ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² ClickHouse, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, която ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅. И пишСм Ρ‚Π°ΠΊΠ°Π²Π° проста заявка. Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ ΠΎΡ‚ ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅. Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ стойността ΠΈ ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ стойности, Ρ‚.Π΅. ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π°, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…ΠΌΠ΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΡŠΠ² Π³Ρ€Π°Ρ„ΠΈΠΊ. Кой Π·Π½Π°Π΅ Π·Π°Ρ‰ΠΎ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° странСн?

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ, трябва Π΄Π° сортирамС ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½Π΅Ρ‰ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅, Π½ΠΎ всС ΠΎΡ‰Π΅ странСн Π³Ρ€Π°Ρ„ΠΈΠΊ. Кой Π·Π½Π°Π΅ Π·Π°Ρ‰ΠΎ? ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Ρ‚Π°ΠΌ са Π΄Π²Π°ΠΌΠ° участници ΠΈ Π½ΠΈΠ΅ Π² Grafana прСдоставямС Π΄Π²Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΌΠΎΠ΄Π΅Π»a Π½Π° Π΄Π°Π½Π½ΠΈ, всяка Π²Ρ€Π΅ΠΌΠ΅Π²Π° линия Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»Π½Π° комбинация ΠΎΡ‚ ΠΈΠΌΠ΅ ΠΈ всички ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ стойности Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ‚Π΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π—Π°Ρ‚ΠΎΠ²Π° трябва Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Ρ‡ΠΎΠ²Π΅ΠΊ. Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Jay.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И рисувамС ΠΎΡ‚Π½ΠΎΠ²ΠΎ. Π‘Π΅Π³Π° Π³Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π²Π΅Ρ€Π΅Π½. Π‘Π΅Π³Π° Ρ‚ΠΎΠ²Π° Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΈ всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘ΠΈΠ³ΡƒΡ€Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Π² Prometheus Ρ‡Ρ€Π΅Π· PromQL. ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°. Малко ΠΏΠΎ-просто. И Π½ΠΈΠ΅ Ρ‰Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ всичко. Π’Π·ΠΈΠΌΠ°Ρ…ΠΌΠ΅ Steps. И Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎ Jay. Π’ΡƒΠΊ Π½Π΅ посочвамС ΠΊΠ°ΠΊΠ²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈ Π½Π΅ ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

А сСга Π΄Π° ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° изчислим скоростта Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Jay ΠΈΠ»ΠΈ Silent Bob. Π’ ClickHouse Ρ‰Π΅ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ runningDifference, Ρ‚.Π΅. Π΄Π° изчислим Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²ΠΎΠΉΠΊΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ Π΄Π° я Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΡ‡Π½Π°Ρ‚Π° скорост. Заявката Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°Π²Π° стойност, Ρ‚.Π΅. ΠΎΠΊΠΎΠ»ΠΎ 1,8 ΡΡ‚ΡŠΠΏΠΊΠΈ Π² сСкунда ΠΏΡ€Π°Π²ΠΈ Silent Bob ΠΈΠ»ΠΈ Jay.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π² Prometheus Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΎ. Много ΠΏΠΎ-лСсно, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ бСшС ΠΏΡ€Π΅Π΄ΠΈ.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎΠ—Π° Π΄Π° останС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° лСсно Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ Π² Grafana, Π΄ΠΎΠ±Π°Π²ΠΈΡ… Ρ‚ΠΎΠ·ΠΈ Π²ΠΈΠ΄ ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°, която ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π½Π° PromQL. Вя сС Π½Π°Ρ€ΠΈΡ‡Π° Rate Macros ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ искатС Π΄Π° я Π½Π°Ρ€Π΅Ρ‡Π΅Ρ‚Π΅. Π’ Grafana просто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ "rate", Π½ΠΎ някъдС Π² Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π° тя сС трансформира Π² Ρ‚Π°ΠΊΡŠΠ² голям заявка. И Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΡ€ΠΈ Π΄Π° я Π³Π»Π΅Π΄Π°Ρ‚Π΅, тя Π΅ някъдС Ρ‚Π°ΠΌ, Π½ΠΎ спСстяватС ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ писанСто Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΈ SQL-запитвания Π²ΠΈΠ½Π°Π³ΠΈ Π΅ скъпо. ЛСсно ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈ послС дълго Π΄Π° Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ става.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Ами Ρ‚ΠΎΠ²Π° Π΅ заявка, която Π΄ΠΎΡ€ΠΈ Π½Π΅ сС ΠΏΠΎΠ±ΠΈΡ€Π° Π² Π΅Π΄ΠΈΠ½ слайд ΠΈ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° я разбия Π½Π° Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π’ΠΎΠ²Π° Π΅ ΡΡŠΡ‰ΠΎ заявка Π² ClickHouse, която ΠΏΡ€Π°Π²ΠΈ ΡΡŠΡ‰ΠΎΡ‚ΠΎ rate, Π½ΠΎ Π·Π° Π΄Π²Π΅Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии: ΠΈ Silent Bob, ΠΈ Jay, Π·Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии Π½Π° Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ. И Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ слоТно, спорСд ΠΌΠ΅Π½.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π·Π° Prometheus Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС sum (rate). Π—Π° ClickHouse Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»Π΅Π½ макрос, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π° RateColumns, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ заявка Π² Prometheus.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠŸΠΎΠ³Π»Π΅Π΄Π½Π°Ρ…ΠΌΠ΅ ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ PromQL Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° страхотСн, Π½ΠΎ Ρ‚ΠΎΠΉ ΠΈΠΌΠ°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ограничСния.

Π’ΠΎΠ²Π° Π΅:

  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ SELECT.
  • Π“Ρ€Π°Π½ΠΈΡ‡Π½ΠΈ JOIN.
  • Няма ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° HAVING.

И Π°ΠΊΠΎ стС Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈ с Π½Π΅Π³ΠΎ дълго, Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Π΅ понякога Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ Π² PromQL, Π° Π² SQL ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ практичСски всичко, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всички Ρ‚Π΅Π·ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…ΠΌΠ΅ сСга, ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π² SQL. Но ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π»ΠΈ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄Π° Π³ΠΎ ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅? И Ρ‚ΠΎΠ²Π° ΠΌΠ΅ ΠΊΠ°Ρ€Π° Π΄Π° мисля, Ρ‡Π΅ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π½Π°ΠΉ-мощният Π΅Π·ΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°ΠΉ-удобният.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π—Π°Ρ‚ΠΎΠ²Π° понякога трябва Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΅Π·ΠΈΠΊ спорСд Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅. Π’ΠΎΠ²Π° Π΅ ΠΊΠ°Ρ‚ΠΎ Π±ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π‘Π°Ρ‚ΠΌΠ°Π½ ΠΈ Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠ΅Π½. Ясно Π΅, Ρ‡Π΅ Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠ΅Π½ Π΅ ΠΏΠΎ-силСн, Π½ΠΎ Π‘Π°Ρ‚ΠΌΠ°Π½ успя Π΄Π° Π³ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ ΠΏΠΎ-ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅Π½ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ знаСшС ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° част – Π΅ Extending PromQL.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠžΡ‰Π΅ вСднъТ Π·Π° VictoriaMetrics. Какво Π΅ VictoriaMetrics? Π’ΠΎΠ²Π° Π΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии, тя Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π½ΠΈΠ΅ разпространявамС Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎ ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. Π‘ΠΏΠΎΡ€Π΅Π΄ Π½Π°ΡˆΠΈΡ‚Π΅ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²Π΅ тя Π΅ Π½Π°ΠΉ-Π±ΡŠΡ€Π·Π°Ρ‚Π° Π½Π° ΠΏΠ°Π·Π°Ρ€Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈ ΠΏΠΎ компрСсия Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°, Ρ‚.Π΅. Ρ€Π΅Π°Π»Π½ΠΈ Ρ…ΠΎΡ€Π° ΡΡŠΠΎΠ±Ρ‰Π°Π²Π°Ρ‚ Π·Π° компрСсия ΠΎΠΊΠΎΠ»ΠΎ 0,4 Π±Π°ΠΉΡ‚Π° Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈ Prometheus – Π΅ 1,2-1,4.

НиС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Π½Π΅ само Prometheus. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ InfluxDB, Graphite, OpenTSDB.

Π’ нас ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° "ΠΏΠΈΡˆΠ΅Ρ‚Π΅", Ρ‚.Π΅. ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚Π΅ стари Π΄Π°Π½Π½ΠΈ.

И ΠΎΡ‰Π΅, Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ с Prometheus ΠΈ Grafana, Ρ‚.Π΅. ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ PromQL engine. И Π² Grafana ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π΄Π° смСнитС Prometheus endpoint Π½Π° VictoriaMetrics ΠΈ всичкитС Π²ΠΈ Ρ‚Π°Π±Π»Π° Ρ‰Π΅ работят, ΠΊΠ°ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ…Π°.

Но Π²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° VictoriaMetrics.

Π‘ΡŠΡ€Π·ΠΎ Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ…ΠΌΠ΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠžΡΡ‚Π°Π²Π΅Ρ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» – ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° пропускатС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π² Grafana. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅ искатС Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ странни Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΡ€ΠΈ zoom-in/out Π² ΠΏΠ°Π½Π΅Π»Π°, сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° {$__interval}. Π’ΠΎΠ²Π° Π΅ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° Grafana ΠΈ тя сама ΠΈΠ·Π±ΠΈΡ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. И VictoriaMetrics ΠΌΠΎΠΆΠ΅ сама Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ какъв трябва Π΄Π° бъдС Ρ‚ΠΎΠ·ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. И Π²ΠΈΠ΅ Π½Π΅ трябва Π΄Π° обновяватС всичкитС си заявки. Π©Π΅ бъдС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-лСсно.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° функция Π΅ Ρ€Π΅Ρ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π² ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅ си. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡƒΠΌΠ½ΠΎΠΆΠ°Π²Π°Ρ‚Π΅, Π΄Π΅Π»ΠΈΡ‚Π΅, ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚Π΅, Π΄Π° сС ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π°Ρ‚Π΅ Π½Π° Π½Π΅Π³ΠΎ.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘Π»Π΅Π΄Π²Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ сСмСйството Π½Π° rollup Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅. Rollup функцията трансформира Π²Π°ΡˆΠ°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π° сСрия Π² Ρ‚Ρ€ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии. Π’ΠΎΠ²Π° Π΅ min, max ΠΈ avg. Π‘Ρ‡ΠΈΡ‚Π°ΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ понякога ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ някакви outliers (Π°Π½Π°Ρ‚ΠΎΠΌΠ°Π»Π½ΠΈ) ΠΈ нСточности.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π°ΠΊΠΎ просто ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ irate ΠΈΠ»ΠΈ rate, вСроятно ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° пропуснСтС някои случаи, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π²Π°Ρ‚Π° сСрия сС Π΄ΡŠΡ€ΠΆΠΈ Π½Π΅ Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ стС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ. Π‘ Ρ‚Π°Π·ΠΈ функция Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅ max Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ надвишава avg.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π° Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° default. Default ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΊΠ°ΠΊΠ²Π° стойност трябва Π΄Π° сС ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈ Π² Grafana, Π°ΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° нямамС Π²Ρ€Π΅ΠΌΠ΅Π²Π° сСрия. Кога сС случва Ρ‚ΠΎΠ²Π°? НапримСр, Π²ΠΈΠ΅ СкспортиратС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. И ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ стартиратС, няматС Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄ΠΎΡ€ΠΈ няматС Π³Ρ€Π΅ΡˆΠΊΠΈ Π² слСдващитС Ρ‚Ρ€ΠΈ часа ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Π΄Π΅Π½. И ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚Π°Π±Π»Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° успСх към Π³Ρ€Π΅ΡˆΠΊΠ°. И Ρ‚Π΅ Ρ‰Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ Π½ΠΈΡ‰ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ няматС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. А Π² default ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ‚Π΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Keep_last_Value – Π·Π°ΠΏΠ°Π·Π²Π° послСдната стойност Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ‚Π°, Π°ΠΊΠΎ тя ΠΈΠ·Ρ‡Π΅Π·Π½Π΅. Ако Prometheus Π½Π΅ я Π½Π°ΠΌΠ΅Ρ€ΠΈ ΠΏΡ€ΠΈ слСдващото скрСйпванС ΠΏΡ€Π΅Π· 5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, Ρ‚ΡƒΠΊ Ρ‰Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ послСдната ΠΉ стойност ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ Π²ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ няма Π΄Π° сС счупят.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Scrape_interval – ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ чСсто Prometheus ΡΡŠΠ±ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°, с ΠΊΠ°ΠΊΠ²Π° чСстота. Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ пропуск, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
Label replace – популярна функция. Но смятамС, Ρ‡Π΅ Π΅ ΠΌΠ°Π»ΠΊΠΎ слоТна, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ° мноТСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ. И трябва Π½Π΅ само Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ 5 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π½ΠΎ ΠΈ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ тяхната послСдоватСлност.
Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
Π—Π°Ρ‰ΠΎ Π΄Π° Π½Π΅ Π³ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΠΎ-прости? ВоСст, Π΄Π° Π³ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° ΠΌΠ°Π»ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ясСн синтаксис.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И сСга ΠΈΠ΄Π²Π° Π½Π°ΠΉ-интСрСсното. Π—Π°Ρ‰ΠΎ смятамС, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ PromQL? Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ ΠžΠ±Ρ‰ΠΈ Π’Π°Π±Π»ΠΈΡ‡Π½ΠΈ Π˜Π·Ρ€Π°Π·ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сканиратС QR ΠΊΠΎΠ΄Π° (https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/ExtendedPromQL), Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅, с playground, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ заявки Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² VictoriaMetrics Π±Π΅Π· Π΄Π° я инсталиратС, само Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Ρ‚ΠΎΠ²Π°? Π’Π°Π·ΠΈ заявка ΠΎΡ‚Π³ΠΎΡ€Π΅ – Ρ‚ΠΎΠ²Π° Π΅ доста популярна заявка. Мисля, Ρ‡Π΅ във всяка Ρ‚Π°Π±Π»ΠΎ с ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΡΡŠΡ‰ΠΈΡ Ρ„ΠΈΠ»Ρ‚ΡŠΡ€ Π·Π° всичко. ОбикновСно Π΅ Ρ‚Π°ΠΊΠ°. Но ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ² Ρ„ΠΈΠ»Ρ‚ΡŠΡ€, трябва Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ всяка ΠΏΠ°Π½Π΅Π», ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ, Π΄Π° Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π² JSON, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ find replace, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΡ‰ΠΎ ΠΎΡ‚Π½Π΅ΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅. Π—Π°Ρ‰ΠΎ Π΄Π° Π½Π΅ Π·Π°ΠΏΠ°Π·ΠΈΠΌ Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΈ Π΄Π° Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅? Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-просто ΠΈ понятно.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

НапримСр, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° обновя Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ‚Π΅ Π² Grafana във всички заявки, Π° Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° няколко. И ΠΊΠ°ΠΊ Π±ΠΈΡ… искал Π΄Π° Ρ€Π΅ΡˆΠ° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Grafana?

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Аз Ρ€Π΅ΡˆΠ°Π²Π°ΠΌ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚Π°ΠΊΠ°: правя commonFilter ΠΈ Π² Π½Π΅Π³ΠΎ опрСдСлям Ρ‚ΠΎΠ·ΠΈ Ρ„ΠΈΠ»Ρ‚ΡŠΡ€, Π° слСд Ρ‚ΠΎΠ²Π° Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π² заявкитС. Но Π°ΠΊΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³ΠΎ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½, Ρ‚ΠΎΠ²Π° няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Grafana Π½Π΅ Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° заявкитС. И Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ°Π»ΠΊΠΎ странно.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π·Π°Ρ‚ΠΎΠ²Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… Ρ‚Π°ΠΊΡŠΠ² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°. И Π°ΠΊΠΎ Π²ΠΈ интСрСсува ΠΈΠ»ΠΈ искатС Ρ‚Π°ΠΊΠ°Π²Π° функция, Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π΄Π°ΠΉΡ‚Π΅ dislike, Π°ΠΊΠΎ Π½Π΅ харСсватС идСята. https://github.com/grafana/grafana/pull/16694

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠΠ°Ρ‚Π°Ρ‚ΡŠΠΊ относно Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ PromQL. Π’ΡƒΠΊ опрСдСлямС Π½Π΅ само ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ цяла функция. И я Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ ru (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° рСсурси). Π’Π°Π·ΠΈ функция ΠΏΡ€ΠΈΠ΅ΠΌΠ° свободни рСсурси, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ рСсурситС ΠΈ Ρ„ΠΈΠ»Ρ‚ΡŠΡ€. Π‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° прост. И Π΅ ΠΌΠ½ΠΎΠ³ΠΎ лСсно Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π°Π·ΠΈ функция ΠΈ Π΄Π° сС изчисли ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ Π½Π° свободната ΠΏΠ°ΠΌΠ΅Ρ‚, която ΠΈΠΌΠ°ΠΌΠ΅. ВоСст, ΠΊΠΎΠ»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈΠΌΠ°ΠΌΠ΅, ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΠΌΠ΅. Π’ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π°ΠΊΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ всичко, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π±ΠΈ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π°Π»ΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ½ΠΎΠ³ΠΎ голяма заявка.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Ρ‚Π°ΠΊΡŠΠ² голям-заголям Π·Π°ΠΏΠΈΡ‚. Π’ΠΎΠΉ Π΅ ΠΎΡ‚ официалния Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ Π½Π° NodeExporter Π·Π° Grafana. Но Π°Π· слабо Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ става Ρ‚ΡƒΠΊ. ВоСст, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ, Π°ΠΊΠΎ сС Π²Π³Π»Π΅Π΄Π°ΠΌ, Π½ΠΎ количСството скоби ΠΌΠΎΠΆΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ мотивацията Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ става Ρ‚ΡƒΠΊ. И Π·Π°Ρ‰ΠΎ Π΄Π° Π½Π΅ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΠΎ-просто ΠΈ ΠΏΠΎ-Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎ?

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

НапримСр, Ρ‚Π°ΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π΅Ρ‚Π΅ Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Π½Π΅Ρ‰Π° ΠΈΠ»ΠΈ части Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. И слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ своята основна ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π’ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ ΠΏΠΎ-скоро ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΠ½Π³, Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΠ΅Ρ‚ΠΎ искам Π΄Π° видя Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π² Grafana.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π•Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΡ‰Π΅ ΠΏΠΎ-просто, Π°ΠΊΠΎ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ Ρ‚Π°Π·ΠΈ функция ru, Π° тя Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π² VictoriaMetrics. И просто ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚Π΅ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π°Ρ‚Π° стойност, която стС обявили Π² CTE.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π’Π΅Ρ‡Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ… Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° правилния Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. И вСроятно във всяка компания Π² Grafana сС случва Π½Π΅Ρ‰ΠΎ своС. И вСроятно Π΄Π°Π²Π°Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Grafana Π½Π° своитС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ правят Π½Π΅Ρ‰ΠΎ своС. И всички Ρ‚Π΅ Π³ΠΎ правят ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½. А ΠΌΠΈ сС иска всичко Π΄Π° Π΅ ΠΏΠΎ-Π΅Π΄Π½Π°ΠΊΠ²ΠΎ, Ρ‚.Π΅. Π΄Π° Π³ΠΎ свСдСм Π΄ΠΎ ΠΎΠ±Ρ‰ стандарт.

Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ Π½Π΅ просто систСмни ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ Π΄ΠΎΡ€ΠΈ СкспСрти, дСвопс ΠΈΠ»ΠΈ SRE. МоТС Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ СкспСрти, ΠΊΠΎΠΈΡ‚ΠΎ знаят ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, знаят ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Grafana, Ρ‚.Π΅. Ρ‚Π΅ работят с Ρ‚ΠΎΠ²Π° с Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ знаят ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ направят ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. И Ρ‚Π΅ Π²Π΅Ρ‡Π΅ са написали Ρ‚ΠΎΠ²Π° 100 ΠΏΡŠΡ‚ΠΈ ΠΈ Π½Π° всички Π³ΠΎ обясняват, Π½ΠΎ ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½ΠΈΠΊΠΎΠΉ Π½Π΅ ΡΠ»ΡƒΡˆΠ°.

А ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²Π»ΠΎΠΆΠ°Ρ‚ Ρ‚Π΅Π·ΠΈ знания Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Grafana, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π΄Π° ΠΏΡ€Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅? И Π°ΠΊΠΎ трябва Π΄Π° сС изчисли ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ Π½Π° свободната ΠΏΠ°ΠΌΠ΅Ρ‚, просто ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅. А ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° СкспортитС, Π·Π°Π΅Π΄Π½ΠΎ с тСхния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, прСдоставяли ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ знаят ΠΊΠ°ΠΊΠ²ΠΈ са ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ изчисляват ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ?

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°. Π’ΠΎΠ²Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… сам. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Grafana. Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π° NodeExporter, Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π° Ρ‚ΠΎΠ²Π°, Π·Π° ΠΊΠΎΠ΅Ρ‚ΠΎ говоря. И прСдоставиха ΡΡŠΡ‰ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π’.Π΅. ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½. Π’ΠΈΠ΅ ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ Ρ‚Π°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π² Grafana, Π²Π»ΠΈΠ·Π°Ρ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ Ρ‚ΡƒΠΊ ΠΌΠ½ΠΎΠ³ΠΎ просто Π΅ написано Π² JSON ΠΊΠ°ΠΊ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Ρ‚Π°Π·ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°. Π’.Π΅. някакъв Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, тяхното описаниС ΠΈ Π² ΠΊΠ°ΠΊΠ²ΠΎ сС Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Ρ‚.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½, Ρ‚ΠΎΠ²Π° Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ³Π°Π²Π° Π² Grafana просто Π±ΠΈΡ…Ρ‚Π΅ писали ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½. И Grafana "ΠΊΠ°Π·Π²Π°", Ρ‡Π΅ ΠΈΠΌΠ° Ρ‚Π°ΠΊΠ°Π²Π° функция ΠΎΡ‚ Ρ‚Π°ΠΊΠ°Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° – Π½Π΅ΠΊΠ° я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Мисля, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Няколко Π΄ΡƒΠΌΠΈ Π·Π° VictoriaMetrics. ΠŸΡ€Π°Π²ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсни Π½Π΅Ρ‰Π°. ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π½Π°ΡˆΠΈΡ‚Π΅ статии Π·Π° компрСсия, Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΡ с Π΄Ρ€ΡƒΠ³ΠΈ прилоТСния Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии Π΄Π°Π½Π½ΠΈ, Π½Π°ΡˆΠ΅Ρ‚ΠΎ обяснСниС ΠΊΠ°ΠΊ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с PromQL, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²Π°Ρ†ΠΈ, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π·Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½Π°Ρ‚Π° мащабируСмост ΠΈ ΡΡŠΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ с Thanos.

Β«ExtendedPromQLΒ» β€” Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΠΎΠΌΠ°Π½ Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Вопроси:

Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° си с проста ТитСйска история. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Grafana, написах ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅Π½ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ с дълТина 5 Ρ€Π΅Π΄Π°. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΠΊ. Π’ΠΎΠ·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π»Π΅Π·Π΅ Π² производство. Но ΠΏΡ€ΠΈ ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΊΠΎ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ сС ΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Π²Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π° глупост, която няма Π½ΠΈΡ‰ΠΎ ΠΎΠ±Ρ‰ΠΎ с рСалността, ΠΌΠ°ΠΊΠ°Ρ€ Ρ‡Π΅ Ρ†ΠΈΡ„Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π°Ρ…ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ. И моят Π²ΡŠΠΏΡ€ΠΎΡ Π΅: ИмамС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΊΠ°ΠΊ пишСм тСстовС Π·Π° Grafana? Написали стС слоТно Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ зависи бизнСс Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ – Π΄Π° ΠΏΠΎΡ€ΡŠΡ‡Π°Ρ‚Π΅ истински ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈΠ»ΠΈ Π½Π΅. И ΠΊΠ°ΠΊ Π·Π½Π°Π΅ΠΌ, Ρ‡Π΅ функцията, която рисува Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° наистина ΠΊΠ°Ρ‚ΠΎ истината? Благодаря.

Благодаря Π·Π° Π²ΡŠΠΏΡ€ΠΎΡΠ°. Има Π΄Π²Π΅ части. ΠŸΡŠΡ€Π²Π°Ρ‚Π° – ΠΈΠΌΠ°ΠΌ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, въз основа Π½Π° моя ΠΎΠΏΠΈΡ‚, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π³Π»Π΅Π΄Π°Ρ‚ своитС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚. Π—Π°Ρ‰ΠΎ Π»ΠΈ Ρ…ΠΎΡ€Π°Ρ‚Π° са ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€ΠΈ Π² измислянСто Π½Π° оправдания Π·Π° всяка аномалия, която сС появява Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅, Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° Π²ΡŠΡ‚Ρ€Π΅ Π² функцията. И Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част – мисля, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° вашия ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, вмСсто всСки ΠΎΡ‚ Π²Π°ΡˆΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π΄Π° ΠΏΡ€Π°Π²ΠΈ свой capacity planning ΠΈ Π΄Π° Π³Ρ€Π΅ΡˆΠΈ с някаква вСроятност.

Как Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ?

Как Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ? ВСроятно, Π½ΠΈΠΊΠ°ΠΊ.

Под Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° тСст Π² Grafana.

Какво ΠΎΠ±Ρ‰ΠΎ ΠΈΠΌΠ° с Grafana? Grafana ΠΏΡ€Π΅Π΄Π°Π²Π° Ρ‚ΠΎΠ·ΠΈ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° DataSource.

Добавяйки ΠΌΠ°Π»ΠΊΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅.

НС, Π² Grafana Π½ΠΈΡ‰ΠΎ Π½Π΅ сС добавя. Π’Π°ΠΌ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ GET ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ step. Π’ΠΎΠΉ Π½Π΅ сС посочва явно, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ Π΄Π° Π½Π΅ Π³ΠΎ прСзаписватС, Π½ΠΎ Ρ‚ΠΎΠΉ сС добавя Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ. Π’ΡƒΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ тСстовС. Мисля, Ρ‡Π΅ Π½Π΅ Π±ΠΈΠ²Π° Π΄Π° сС Ρ€Π°Π·Ρ‡ΠΈΡ‚Π° Π½Π° Grafana ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° истина.

Благодаря Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! Благодаря Π·Π° компрСсията! Π’ΠΈΠ΅ спомСнахтС Π·Π° mapping Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° Π² Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π°, Ρ‡Π΅ Π² Grafana Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. Π Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ Π»ΠΈ Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ говоря?

Π”Π°.

Π’ΠΎΠ²Π° бСшС ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ исках Π΄Π° направя alert Π² Grafana. И Ρ‚Π°ΠΌ трябва Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ alert Π·Π° всСки хост ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. Π’Π°Π·ΠΈ Π²Π΅Ρ‰, която Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Ρ‚Π΅, Ρ€Π°Π±ΠΎΡ‚ΠΈ Π»ΠΈ Π·Π° alerts Π² Grafana?

Ако Grafana Π½Π΅ сС отнася към ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ ΠΏΠΎ някакъв Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½, Ρ‚ΠΎ – Π΄Π°, тя Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Но моят ΡΡŠΠ²Π΅Ρ‚ Π΅ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π°Π»Π΅Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π² Grafana ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ alertmanager.

Π”Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π³ΠΎ, Π½ΠΎ просто Π² Grafana изглСТдашС ΠΏΠΎ-лСсно Π·Π° настройка, Π½ΠΎ благодаря Π·Π° ΡΡŠΠ²Π΅Ρ‚Π°!

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

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