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

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΎΠΉ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ "ExtendedPromQL"

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠ±ΠΎ ΠΌΠ½Π΅. МСня Π·ΠΎΠ²ΡƒΡ‚ Π ΠΎΠΌΠ°Π½. Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² CloudFlare, ΠΆΠΈΠ²Ρƒ Π² Π›ΠΎΠ½Π΄ΠΎΠ½Π΅. Но Ρ‚Π°ΠΊΠΆΠ΅ я ΠΌΠ΅ΠΉΡ‚Π΅Π½Π΅Ρ€ VictoriaMetrics.
И я Π°Π²Ρ‚ΠΎΡ€ ClickHouse ΠΏΠ»Π°Π³ΠΈΠ½Π° для Grafana ΠΈ ClickHouse-proxy – это малСнький прокси для ClickHouse.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ части, которая называСтся «БлоТности ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°Β» ΠΈ Π² Π½Π΅ΠΉ я Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ любой язык ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ просто язык общСния – это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΈΠ»ΠΈ систСмС свои мысли, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ запрос. Π›ΡŽΠ΄ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ спорят ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ язык Π»ΡƒΡ‡ΡˆΠ΅ – java ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для сСбя я Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всС это спСцифично.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

НачнСм с самого Π½Π°Ρ‡Π°Π»Π°. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ PromQL? PromQL – это Prometheus Query Language. Π­Ρ‚ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ запросы Π² Prometheus, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ time series Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ time series Π΄Π°Π½Π½Ρ‹Π΅? Если Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ это Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

Π­Ρ‚ΠΎ:

  • На Ρ‡Ρ‚ΠΎ ΠΌΡ‹ смотрим.
  • Когда ΠΌΡ‹ Π½Π° это смотрим.
  • И ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° эту Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ (эта Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° с ΠΌΠΎΠ΅Π³ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ статистику ΠΌΠΎΠΈΡ… шагов), Ρ‚ΠΎ здСсь ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° эти вопросы.

ΠœΡ‹ смотрим Π½Π° шаги. ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ смотрим Π½Π° это. Π’. Π΅. смотря Π½Π° эту Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅ я ΠΏΡ€ΠΎΡˆΠ΅Π» ΠΎΠΊΠΎΠ»ΠΎ 15 000 шагов. Π­Ρ‚ΠΎ time series Π΄Π°Π½Π½Ρ‹Π΅.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ "Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ" (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ) ΠΈΡ… Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ модСль Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π—Π΄Π΅ΡΡŒ Ρƒ нас Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ ΠΌΡ‹ смотрим. Π’ΡƒΡ‚ я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚. Π΅. это ΠΏΡ€ΠΎΡˆΠ΅Π» Π½Π΅ я, Π° Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, допустим, Jay ΠΈ Silent Bob. Π’ΠΎΡ‚ это Ρ‚ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ ΠΌΡ‹ смотрим; Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ попытаСмся ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС эти Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° я взял ClickHouse синтаксис. И здСсь ΠΌΡ‹ создаСм ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, которая называСтся Β«StepsΒ», Ρ‚. Π΅. Π½Π° Ρ‡Ρ‚ΠΎ ΠΌΡ‹ смотрим. Π’ΡƒΡ‚ Π΅ΡΡ‚ΡŒ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π° это смотрим; Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹Π΅, Π³Π΄Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ это: Jay ΠΈ Silent Bob.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это всС, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Grafana, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это красиво.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠ»Π°Π³ΠΈΠ½. На это Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹. ΠŸΠ΅Ρ€Π²Π°Ρ – ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π΅Π³ΠΎ написал. И я Ρ‚ΠΎΡ‡Π½ΠΎ знаю, ΠΊΠ°ΠΊ тяТСло Π²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ time series Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ClickHouse, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Grafana.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² Graph Panel. Π­Ρ‚ΠΎ самая популярная панСль Π² Grafana, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ значСния ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поэтому Π½Π°ΠΌ Π½Π°Π΄ΠΎ всСго лишь Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм самый простой запрос β€” ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ статистику шагов Π² Grafana, храня эти Π΄Π°Π½Π½Ρ‹Π΅ Π² ClickHouse, Π² Ρ‚ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создали. И ΠΌΡ‹ пишСм Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ простой запрос. ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΠ· шагов. ΠœΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ врСмя этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚. Π΅. Ρ‚Π΅ ΠΆΠ΅ Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ. ΠšΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Ρ‚Π°ΠΊΠΎΠΉ странный?

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π½Π°Π΄ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅, Π½ΠΎ всС Π΅Ρ‰Π΅ странный Π³Ρ€Π°Ρ„ΠΈΠΊ. ΠšΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΌ Π΄Π²Π° участника, ΠΈ ΠΌΡ‹ Π² Grafana ΠΎΡ‚Π΄Π°Π΅ΠΌ Π΄Π²Π° time series, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ссли Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π΄Π°Ρ‚Π°-модСлью Π΅Ρ‰Π΅ Ρ€Π°Π·, Ρ‚ΠΎ каТдая time series – это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ комбинация ΠΈΠΌΠ΅Π½ΠΈ ΠΈ всСх ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ labels.

«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, Π½ΠΎ ΠΏΠΎ ΠΎΠ±Π΅ΠΈΠΌ time series: ΠΈ Silent Bob, ΠΈ ΠΏΠΎ Jay, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ нас Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ Π΄Π²Π΅ time series. И это ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ слоТно, Π½Π° ΠΌΠΎΠΉ взгляд.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И ΠΏΠΎ Prometheus это Π±ΡƒΠ΄Π΅Ρ‚ sum (rate). Для ClickHouse я сдСлал ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся RateColumns, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит, ΠΊΠ°ΠΊ запрос Π² Prometheus.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠœΡ‹ посмотрСли ΠΈ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ PromQL вСсь Ρ‚Π°ΠΊΠΎΠΉ классный, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ограничСния.

Π­Ρ‚ΠΎ:

  • Limited SELECT.
  • ΠŸΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ JOIN.
  • НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ HAVING.

И Ссли Π²Ρ‹ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с Π½ΠΈΠΌ Π΄ΠΎΠ»Π³ΠΎ, Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ‡Π΅Π½ΡŒ тяТСло ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² PromQL, Π° Π² SQL ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ практичСски всС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всС эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ сСйчас ΠΏΡ€ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² SQL. Но Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ΄ΠΎΠ±Π½ΠΎ этим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ? И это Π½Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ мСня Π½Π° ΠΌΡ‹ΡΠ»ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ всСгда самый ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ самым ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ язык ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡ΠΈ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π±ΠΈΡ‚Π²Π° БэтмСна с Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠ΅Π½ΠΎΠΌ. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠ΅Π½ сильнСС, Π½ΠΎ БэтмСн смог Π΅Π³ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅Π½ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ – это Extending PromQL.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎ VictoriaMetrics. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ VictoriaMetrics? Π­Ρ‚ΠΎ time series Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½Π° Π² OpenSource, ΠΌΡ‹ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΈΠΌ Π΅Π΅ single ΠΈ cluster-вСрсии. По нашим Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°ΠΌ ΠΎΠ½Π° быстрСС всСго, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ сСйчас ΠΈ ΠΏΠΎ компрСссии Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Ρ‚. Π΅. ΠΆΠΈΠ²Ρ‹Π΅ люди рСпортят ΠΊΠΎΠΌΠΏΡ€Π΅ΡΡΠΈΡŽ Π³Π΄Π΅-Ρ‚ΠΎ Π² 0,4 Π±Π°ΠΉΡ‚ Π½Π° Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° Ρƒ Prometheus – это 1,2-1,4.

ΠœΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Prometheus. ΠœΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ InfluxDB, Graphite, OpenTSDB.

Π’ нас ΠΌΠΎΠΆΠ½ΠΎ "ΠΏΠΈΡΠ°Ρ‚ΡŒ", Ρ‚. Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ старыС Π΄Π°Π½Π½Ρ‹Π΅.

И Π΅Ρ‰Π΅ ΠΌΡ‹ идСально Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Prometheus ΠΈ Grafana, Ρ‚. Π΅. ΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ PromQL engine. И Π² Grafana Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Prometheus endpoint Π½Π° VictoriaMetrics ΠΈ Ρƒ вас всС Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ.

Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΡˆΠΊΠΈ, которая Π΄Π°Π΅Ρ‚ VictoriaMetrics.

ΠœΡ‹ быстро ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ ΠΏΠΎ функциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Omit interval param – Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Grafana. Когда Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ странныС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΡ€ΠΈ zoom-in/out Π² ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‚ΠΎ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $__interval. Π­Ρ‚ΠΎ внутрСнняя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π° Grafana ΠΈ ΠΎΠ½Π° сама Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Ρ…. И VictoriaMetrics ΠΌΠΎΠΆΠ΅Ρ‚ сама ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ этот Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄ΠΎΠ»ΠΎΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ. И Π²Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π°ΠΏΠ΄Π΅ΠΉΡ‚ΠΈΡ‚ΡŒ всС ваши запросы. Π‘ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Вторая функция – это interval referencing. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π² своих выраТСниях. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ, Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ, ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π”Π°Π»Π΅Π΅ сСмСйство rollup function. Rollup function трансформируСт любой ваш time series Π² Ρ‚Ρ€ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ time series. Π­Ρ‚ΠΎ min, max ΠΈ avg. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ outliers (Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ) ΠΈ нСточности.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Ссли Π²Ρ‹ просто Π΄Π΅Π»Π°Π΅Ρ‚Π΅ irate ΠΈΠ»ΠΈ rate, Ρ‚ΠΎ вСроятно Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ случаи, ΠΊΠΎΠ³Π΄Π° time series Π²Π΅Π΄Π΅Ρ‚ сСбя Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ. Π‘ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, допустим, Ρ‡Ρ‚ΠΎ max ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΎΡ‚ avg.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π”Π°Π»ΡŒΡˆΠ΅ пСрСмСнная default. Default – это Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π² Grafana, Ссли Ρƒ нас Π½Π΅Ρ‚ time series Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Когда это происходит? Допустим Π²Ρ‹ экспортируСтС ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΡƒ ΠΏΠΎ ошибкам. И Ρƒ вас Ρ‚Π°ΠΊΠΎΠ΅ классноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ стартовали, Ρ‚ΠΎ Ρƒ вас Π½Π΅Ρ‚ ошибок ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅Ρ‚ ошибок Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ часа ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ дСнь. И Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с success ΠΊ error. И ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ error. А Π² default Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Keep_last_Value – сохраняСт послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Ссли ΠΎΠ½Π° ΠΏΡ€ΠΎΠΏΠ°Π»Π°. Если Prometheus послС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ скрСйпа Π½Π΅ нашСл Π΅Π΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ 5 ΠΌΠΈΠ½ΡƒΡ‚, Ρ‚ΠΎ здСсь ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π΅Π΅ послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ваши Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ снова Π½Π΅ ΡΠ»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Scrape_interval – ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ часто Prometheus собираСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ вашС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅, с ΠΊΠ°ΠΊΠΎΠΉ частотой. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ пропуск, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
Label replace – популярная функция. Но ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТная, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ†Π΅Π»Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². И Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ 5 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅? Π’. Π΅. Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с понятным синтаксисом.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ самоС интСрСсноС. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ это extended PromQL? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Common Table Expressions. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ QR-ΠΊΠΎΠ΄Ρƒ (https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/ExtendedPromQL), ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ссылки с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, с playground, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запросы нСпосрСдствСнно Π² VictoriaMetrics Π±Π΅Π· Π΅Π΅ установки просто Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И Ρ‡Ρ‚ΠΎ ΠΆΠ΅ это Ρ‚Π°ΠΊΠΎΠ΅? Π’ΠΎΡ‚ этот запрос свСрху – это довольно популярный запрос. Π― Π΄ΡƒΠΌΠ°ΡŽ, Π² любом Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для всСго. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊ. Но ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Ρ‚ΠΎ приходится ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ панСль, Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π² JSON, Π΄Π΅Π»Π°Ρ‚ΡŒ find replace, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ? Π­Ρ‚ΠΎ выглядит, Π½Π° ΠΌΠΎΠΉ взгляд, Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ понятнСй.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

НапримСр, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ Π² Grafana Π²ΠΎ всСх запросах, Π° Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ нСсколько. И ΠΊΠ°ΠΊ Π±Ρ‹ я Ρ…ΠΎΡ‚Π΅Π» Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² Grafana?

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π― Ρ€Π΅ΡˆΠ°ΡŽ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ‚Π°ΠΊ: я дСлаю commonFilter ΠΈ Π² Π½Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽ этот Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π² запросах. Но Ссли Π²Ρ‹ сдСлаСтС сСйчас Ρ‚Π°ΠΊ ΠΆΠ΅, это Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Grafana Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов. И это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ странно.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

И поэтому я сдСлал Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ. И Ссли Π²Π°ΠΌ интСрСсно ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΠΈΡ‡Ρƒ, Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π»Π°ΠΉΠΊΠ½ΠΈΡ‚Π΅, Ссли Π²Π°ΠΌ Π½Π΅ нравится такая идСя. https://github.com/grafana/grafana/pull/16694

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Π”Π°Π»ΡŒΡˆΠ΅ ΠΏΡ€ΠΎ PromQL extended. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ опрСдСляСм Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½ΠΎ прямо Ρ†Π΅Π»ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. И Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π΅ ru (resource usage). И ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ эта функция свободныС рСсурсы, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ рСсурсу ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€. Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ синтаксис вСсь простой. И ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ свободной памяти Ρƒ нас. Π’. Π΅. сколько Ρƒ нас Π΅ΡΡ‚ΡŒ памяти, ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Ссли Π±Ρ‹ Π²Ρ‹ писали это всС, ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π² большой-большой запрос.

«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. ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсных Π²Π΅Ρ‰Π΅ΠΉ. ΠŸΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ наши ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΎ compression, ΠΏΡ€ΠΎ наши сорСвнования с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ time series прилоТСниями Π΄Π°Π½Π½Ρ‹Ρ…, нашС пояснСниС ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с PromQL, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² этом ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ‰Π΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎ vertical scalability ΠΈ ΠΏΡ€ΠΎ противостояниС с Thanos.

«ExtendedPromQL» — Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π ΠΎΠΌΠ°Π½Π° Π₯Π°Π²Ρ€ΠΎΠ½Π΅Π½ΠΊΠΎ

Вопросы:

Π― Π½Π°Ρ‡Π½Ρƒ свой вопрос с простой ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΉ истории. Когда я Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π½Π°Ρ‡Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Grafana, я написал ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ запрос Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 5 строк. Π’ ΠΈΡ‚ΠΎΠ³Π΅ получился ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ. Π­Ρ‚ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ΅Ρ…Π°Π» Π² production. Но ΠΏΡ€ΠΈ блиТайшСм рассмотрСнии оказалось, Ρ‡Ρ‚ΠΎ этот Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ Π°Ρ…ΠΈΠ½Π΅ΡŽ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, хотя Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. И ΠΌΠΎΠΉ вопрос. Π£ нас Π΅ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° ΠΊΠ°ΠΊ ΠΌΡ‹ пишСм тСсты для Grafana? Π’Ρ‹ написали слоТный запрос, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависит бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ – Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ настоящий ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сСрвСров ΠΈΠ»ΠΈ Π½Π΅ Π·Π°ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ. И ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, эта функция, которая рисуСт Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΏΡ€Π°Π²Π΄Ρƒ. Бпасибо.

Бпасибо Π·Π° вопрос. Π’ΡƒΡ‚ Π΄Π²Π΅ части. ΠŸΠ΅Ρ€Π²Π°Ρ – Ρƒ мСня складываСтся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, исходя ΠΈΠ· ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π° смотрят Π½Π° свои Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ люди ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΠ΅ любой Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, которая происходит Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ…, Π΄Π°ΠΆΠ΅ Ссли это ошибка Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. И вторая Ρ‡Π°ΡΡ‚ΡŒ – ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ использованиС Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ подошло Π±Ρ‹ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ вашСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄Π΅Π»Π°Π» свой capacity planning ΠΈ ошибался с ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ?

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ? НавСрноС, Π½ΠΈΠΊΠ°ΠΊ.

Π’ Π²ΠΈΠ΄Π΅ тСста Π² Grafana.

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ‚ΡƒΡ‚ Grafana? Grafana транслируСт этот запрос нСпосрСдствСнно Π² DataSource.

Добавляя Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

НСт, Π² Grafana Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚. Π’Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ GET-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ°ΠΊ, допустим, step. Он явно Π½Π΅ указываСтся, Π½ΠΎ Π²Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, Π½ΠΎ ΠΎΠ½ добавляСтся автоматичСски. Π’Ρ‹ здСсь Π½Π΅ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ тСсты. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅ стоит ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ здСсь Π½Π° Grafana, ΠΊΠ°ΠΊ Π½Π° источник ΠΏΡ€Π°Π²Π΄Ρ‹.

Бпасибо Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄! Бпасибо Π·Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΡΠΈΡŽ! Π’Ρ‹ вспоминали ΠΏΡ€ΠΎ mapping ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, Ρ‡Ρ‚ΠΎ Π² Grafana нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΎ Ρ‡Π΅ΠΌ я?

Π”Π°.

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ болью, ΠΊΠΎΠ³Π΄Π° я Ρ…ΠΎΡ‚Π΅Π» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ alert Π² Grafana. И Ρ‚Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ alert Π΄Π΅Π»Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ хоста ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π’ΠΎΡ‚ эта ΡˆΡ‚ΡƒΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ сдСлали, ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для alerts Π² Grafana?

Если Grafana Π½Π΅ обращаСтся ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Ρ‚ΠΎ – Π΄Π°, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Но ΠΌΠΎΠΉ совСт Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π΅Ρ€Ρ‚ΠΈΠ½Π³ Π² Grafana Π²ΠΎΠΎΠ±Ρ‰Π΅, Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ alertmanager.

Π”Π°, я Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ, Π½ΠΎ просто это Π² Grafana показалось Π»Π΅Π³Ρ‡Π΅ Π² настройкС, Π½ΠΎ спасибо Π·Π° совСт!

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