Prometheus: Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ форматирования ΠΏΡ€Π°Π²ΠΈΠ».

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 4 янв. 2013  Β·  41ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: prometheus/prometheus

Подобно "gofmt" для Go, Ρƒ нас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ "promfmt" для Prometheus, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас Π΅ΡΡ‚ΡŒ синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ. ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ систСма создаСт Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сводит ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ отклонСния ΠΈ ΠΊΡ€ΠΈΠ²ΡƒΡŽ обучСния.

ОбновлСниС послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» YAML : ΠΏΠΎΠΌΠΈΠΌΠΎ форматирования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ PromQL, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ YAML, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ структуру, сохраняя ΠΏΡ€ΠΈ этом ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊΠ°ΠΊ для Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ PromQL, Ρ‚Π°ΠΊ ΠΈ для Ρ„Π°ΠΉΠ»Π° YAML.

componenpromtool kinenhancement prioritP3

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π΅ΡΡŒ смысл инструмСнта promfmt состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹, Ссли Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, "ΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚ΡŒ" ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ "каноничСскоС" Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° gofmt , с Ρ†Π΅Π»ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π·Π° Π½ΠΈΠΌ.

ВсС 41 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

: +1: *: 100:

Ага, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² - самая большая (ΠΈ Π² основном СдинствСнная) ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. И соглашСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ выраТСния Π½Π° нСсколько строк.

Π Π°Π·Π²Π΅ ΠΌΡ‹ Π½Π΅ добавляСм это Π² promtool?

Бвязанный: https://github.com/prometheus/prometheus/pull/1779

НСкоторыС наблюдСния:

  • Π‘ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ ΠΏΡ€Π°Π²ΠΈΠ» 2.x (YAML встраиваниС PromQL) ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это дСйствовало ΠΈ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ YAML.
  • Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΎΠ±Π° коммСнтария Π² YAML ΠΈ Π² PromQL.
  • ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ строк).
  • НСобходимо Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ строк Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… (см. Как это Π΄Π΅Π»Π°Π΅Ρ‚ gofmt ).
  • Π’Π΅Π·Π΄Π΅, Π³Π΄Π΅ отобраТаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π² частности, Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ… _Alerts_ ΠΈ _Rules_ Π²Π΅Π±-интСрфСйса Prometheus. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ AST Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ строк, см. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚).

Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±Π° коммСнтария Π² YAML

Наша тСкущая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° YAML этого Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π½ΠΎ надССтся «скоро».

Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ это Π² своС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ gsoc. @ brian-brazil, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ссылку Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ YAML, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅?

https://github.com/go-yaml/yaml , Π½ΠΎ я Π±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ» это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ PromQL Π² Π½Ρ‹Π½Π΅ΡˆΠ½Π΅ΠΌ Π²ΠΈΠ΄Π΅.

@ brian-brazil Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ PromQL ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» всСгда встраиваСтся Π² Ρ„Π°ΠΉΠ»Ρ‹ YAML, ΠΎΠ½, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ YAML, Π²Π΅Ρ€Π½ΠΎ? Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС инструмСнт Π½Π΅ Π±Ρ‹Π» Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ·-Π·Π° форматирования.

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, Π½ΠΎ ΠΈ Π±Π΅Π· этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π³ΠΎΠ΄Ρƒ. Π― Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» Π½Π΅ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ с Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ сроками для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° gsoc.

НачнСм с части PromQL. Π§Π°ΡΡ‚ΡŒ YAML Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ, Ссли Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сохраняСт ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ подсказка ΠΎΠ± отступах |2 для многострочных строк.

Ok!

v3 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ YAML отсутствуСт, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ всС это.

К Π²Π°ΡˆΠ΅ΠΌΡƒ свСдСнию, прСкрасно Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

(
    kube_job_status_failed > 0
    UNLESS kube_job_status_succeeded > 0
)
* on (namespace, job_name) group_left(maintainer) label_replace(kube_job_labels, "maintainer", "$1", "label_maintainer", "(.*)")
* on (namespace, job_name) group_left(pager) label_replace(kube_job_labels, "pager", "$1", "label_pager", "(.*)")
* on (namespace, job_name) group_left(paging) label_replace(kube_job_labels, "paging", "$1", "label_paging", "(.*)")

VS Π΅Π³ΠΎ прСдставлСниС мусора Π² Π²Π΅Π±-интСрфСйсС

(kube_deployment_status_replicas_available
  / kube_deployment_spec_replicas * 100) * on(namespace, deployment) group_left(maintainer)
  label_replace(kube_deployment_labels, "maintainer", "$1", "label_maintainer",
  "(.*)") * on(namespace, deployment) group_left(pager) label_replace(kube_deployment_labels,
  "pager", "$1", "label_pager", "(.*)") * on(namespace,
  deployment) group_left(paging) label_replace(kube_deployment_labels, "paging",
  "$1", "label_paging", "(.*)") < 100

@sylr Π― Π΄ΡƒΠΌΠ°ΡŽ, Π²Ρ‹ размСстили Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΠ· Π²Π΅Π±-интСрфСйса. Ρ‚Π°ΠΊΠΆΠ΅ @ beorn7 Π― Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ этим вопросом.

Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ для вашСго ΠΏΡ€Π°Π²ΠΈΠ»Π°:

(kube_job_status_failed
  > 0 unless kube_job_status_succeeded > 0) * on(namespace, job_name) group_left(maintainer)
  label_replace(kube_job_labels, "maintainer", "$1", "label_maintainer",
  "(.*)") * on(namespace, job_name) group_left(pager) label_replace(kube_job_labels,
  "pager", "$1", "label_pager", "(.*)") * on(namespace,
  job_name) group_left(paging) label_replace(kube_job_labels, "paging", "$1",
  "label_paging", "(.*)")

@geekodour Π”Π°, я ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π» Π΄Π²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°.

ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ всС Π΅Ρ‰Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΈΠ΄Π΅ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для прСдстоящСго GSOC (https://github.com/cncf/soc#rule-formatting-tool), я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎ врСмя GSOC. Π›ΡŽΠ±ΠΎΠ΅ Π½Π΅Π΄Π°Π²Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ†Π΅Π½Π΅Π½Ρ‹ @codesome @ @juliusv @geekodour @simonpasquier @sylr .
ПослС прочтСния коммСнтария ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ справочной ссылки каТСтся, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ созданиС срСдства форматирования для выраТСния promQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ promQL AST?

@haibeey Π’ этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ прогрСсс.

ΠŸΡ€ΠΈ создании Ρ‚Π°ΠΊΠΎΠ³ΠΎ срСдства форматирования, вСроятно, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ здСсь, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли Π±Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с готовящимся ΠΊ выпуску языковым сСрвСром PromQL . Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° языкового сСрвСра ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ мноТСство Π²Π΅Ρ‰Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для форматирования Ρ„Π°ΠΉΠ»ΠΎΠ² YAML, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ смысл ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Ρ…ΠΎΡ€ΠΎΡˆΠΎ! Бпасибо @slrtbtfs . Π― Π½Π°Ρ‡Π½Ρƒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ подСлились, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС.

ΠœΠΎΠ³Ρƒ я Π·Π°Π½ΡΡ‚ΡŒΡΡ этим вопросом? Π₯ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это.

ΠŸΠΎΡ…ΠΎΠΆΠ΅, @haibeey ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π΄ этим Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

@roidlapluie Π― ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Ρ‡Π°ΡΡ‚ΡŒ этого Ρ€Π°Π½ΡŒΡˆΠ΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ я здСсь Π½Π΅ упомянул.

К Π²Π°ΡˆΠ΅ΠΌΡƒ свСдСнию, прСкрасно Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

(
    kube_job_status_failed > 0
    UNLESS kube_job_status_succeeded > 0
)
* on (namespace, job_name) group_left(maintainer) label_replace(kube_job_labels, "maintainer", "$1", "label_maintainer", "(.*)")
* on (namespace, job_name) group_left(pager) label_replace(kube_job_labels, "pager", "$1", "label_pager", "(.*)")
* on (namespace, job_name) group_left(paging) label_replace(kube_job_labels, "paging", "$1", "label_paging", "(.*)")

VS Π΅Π³ΠΎ прСдставлСниС мусора Π² Π²Π΅Π±-интСрфСйсС

(kube_deployment_status_replicas_available
  / kube_deployment_spec_replicas * 100) * on(namespace, deployment) group_left(maintainer)
  label_replace(kube_deployment_labels, "maintainer", "$1", "label_maintainer",
  "(.*)") * on(namespace, deployment) group_left(pager) label_replace(kube_deployment_labels,
  "pager", "$1", "label_pager", "(.*)") * on(namespace,
  deployment) group_left(paging) label_replace(kube_deployment_labels, "paging",
  "$1", "label_paging", "(.*)") < 100

ΠŸΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌ Π»ΠΈ этот ΡΡ‚ΠΈΠ»ΡŒ форматирования? @codesome @juliusv @
Π― ΠΏΠΈΡˆΡƒ своС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ исходя ΠΈΠ· этого стиля.

ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС послС форматирования ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° GSoC (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ сСйчас, Ссли ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ Π²ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒΡΡ, Π½ΠΎ Ρƒ мСня Π½Π΅Ρ‚ пропускной способности, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚). Π― Π±Ρ‹ посовСтовал (всСм ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌ GSoC) ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ этого достигли.

https://prometheus.io/docs/practices/rules/ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.

Π― написал Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡ€Π°Π²ΠΈΠ»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ гояцкого языка. ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ здСсь https://github.com/haibeey/prometheus/commit/885566786ac20bfd400b2e7db470c92545919690

Π€Π°ΠΉΠ» ΠΏΡ€Π°Π²ΠΈΠ»
ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ записи Π² Π²Π΅Π±-интСрфСйсС

Π­Ρ‚ΠΎ выглядит Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ Π½Π° своСй Π»ΠΈΠ½ΠΈΠΈ

ΠΎ, Π΄Π°. этот ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ выполняСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. это просто ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ promql послС ΠΎΡ†Π΅Π½ΠΊΠΈ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.
ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ всС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ послС ΠΎΡ†Π΅Π½ΠΊΠΈ.

Π― написал Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡ€Π°Π²ΠΈΠ»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ гояцкого языка. ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ здСсь [haibeey @ 8855667]

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² AST каТСтся Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ.

Π― оставил Ρ‚Π°ΠΌ нСсколько ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

https://prometheus.io/docs/practices/rules/ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π½Π΅ примСняйтС:

sum without (instance)(instance_path:requests:rate5m{job="myjob"})

Π½Π°Π΄

sum(instance_path:requests:rate5m{job="myjob"}) without (instance)

Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΈ это ΡƒΠΆΠ΅ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ это ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ - ΠΈΠ½Π°Ρ‡Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ выраТСния.

Π”Π°, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρƒ мСня Π±Ρ‹Π»ΠΎ Ρ‚Π²Π΅Ρ€Π΄ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ± этом. Π‘Π½Π°Ρ‡Π°Π»Π° Prometheus ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ sum(x) by(y) ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для мСня ΠΎΠ½ большС Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π» английский, ΠΈ поэтому я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» Π΅Π³ΠΎ, Π½ΠΎ для любого Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ x становится Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ измСрСниям Π²Ρ‹ собираСтС / сохранСниС. МнС Таль, Ρ‡Ρ‚ΠΎ я просто сдСлал это с самого Π½Π°Ρ‡Π°Π»Π° sum by(y) (x) ΠΈ сдСлал это СдинствСнным Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ.

МнС всС Π΅Ρ‰Π΅ совсСм Π½Π΅ нравится Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ sum by (y)(x) ΠΈ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ sum by(y) (x) (для мСня это ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС смысла), Π½Π΅ знаю, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ послСднСС Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° собствСнноС ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ, я Π»ΠΈΡ‡Π½ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽ Β«ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠΉ ΠΎΠΏΡ‹Ρ‚Β» ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС синтаксисы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΌΠΈ, поТалуйста, Π½Π΅ навязывайтС ΠΎΠ΄ΠΈΠ½ Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

Π’Π΅ΡΡŒ смысл инструмСнта promfmt состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹, Ссли Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, "ΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚ΡŒ" ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ "каноничСскоС" Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° gofmt , с Ρ†Π΅Π»ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π·Π° Π½ΠΈΠΌ.

Π”Π°, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ gofmt Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ нравится, Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΎΠ½ΠΎ создаСт ΠΎΠ΄ΠΈΠ½ согласованный ΡΡ‚ΠΈΠ»ΡŒ, Π° Π½Π΅ мноТСство Ρ€Π°Π·Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ само ΠΏΠΎ сСбС являСтся Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ.

ΠšΡΡ‚Π°Ρ‚ΠΈ, GSoC Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡ‰Π΅Ρ‚ это. @haibeey Π― Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ вас Ρ‚ΠΎΠΆΠ΅ интСрСсуСт GSoC. Π₯отя я Ρ†Π΅Π½ΡŽ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π»ΠΈ сСйчас, я Π±Ρ‹Π» Π±Ρ‹ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½ Π·Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ обсуТдСния ΠΈ совмСстноС использованиС Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ GSoC ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для облСгчСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² GSoC :)

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся Π² Π½ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ go-yamlv3. РСализация Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½Π°, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сохранСния нСзависимо ΠΎΡ‚ ΠΊΠΎΠ΄Π° Prometheus Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π”ΡƒΠΌΠ°ΡŽ, ΠΏΠΎΡ€Π° ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ прСдлоТСния GSoC .

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Π·Π° ΠΎΠ±Π·ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ. Бпасибо

@ Harkishen-Singh Π•ΡΡ‚ΡŒ Π΄Π²Π° уровня ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²: ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ YAML ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ PromQL. https://github.com/prometheus/prometheus/issues/21#issuecomment -604213849 Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ PromQL (Π½ΠΎ YAML Ρ‚ΠΎΠΆΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ).

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся Π² Π½ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ go-yamlv3. РСализация Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½Π°, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сохранСния нСзависимо ΠΎΡ‚ ΠΊΠΎΠ΄Π° Prometheus Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π’ΠΎ врСмя ΠΎΡ†Π΅Π½ΠΊΠΈ выраТСния PromQL - это ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΡ€Π°Π²ΠΈΠ», Π½ΠΎ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСстах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²Π΅Π±-интСрфСйсС. это ΠΏΡ€Π°Π²Π΄Π° @juliusv ?
Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² @slrtbtfs, большая Ρ‡Π°ΡΡ‚ΡŒ форматирования ΠΈ сохранСния Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°.

Π§Ρ‚ΠΎ касаСтся ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² YAML, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с v3, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для Cortex, поэтому Π½Π°ΠΌ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ дальнСйшСго развСртывания этого, ΠΏΠΎΠΊΠ° всС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΎ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΡ€Π°Π²ΠΈΠ», Π½ΠΎ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСстах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²Π΅Π±-интСрфСйсС. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²Π΄Π°

Π’Π΅Π±-интСрфСйс - СдинствСнноС мСсто, Π³Π΄Π΅ это дСлаСтся.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ