ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°

πŸ”₯ Prometheus: Ρ‡Ρ‚ΠΎ это, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

Prometheus β€” это систСма ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π»Π΅Ρ€Ρ‚ΠΈΠ½Π³Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, прСдназначСнная для сбора ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм. Prometheus Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ “pull”, Π³Π΄Π΅ ΠΎΠ½ сам Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников (экспортСров) Ρ‡Π΅Ρ€Π΅Π· HTTP.

πŸ“ž Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания

Prometheus Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SoundCloud Π² 2012 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌ понадобилось Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ. НСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ инструмСнты Π½Π΅ соотвСтствовали ΠΈΡ… трСбованиям.

Π’ 2015 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ стал ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ, ΠΈ сообщСство стало Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Prometheus стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π€ΠΎΠ½Π΄Π° Cloud Native Computing Foundation (CNCF) наряду с Kubernetes. БСгодня Prometheus являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π² ΠΌΠΈΡ€Π΅ DevOps ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

πŸ™ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Prometheus

Prometheus состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ вмСстС для сбора, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

  1. Prometheus сСрвСр— основной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° сбор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΈΡ… Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Он Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρƒ экспортСров Ρ‡Π΅Ρ€Π΅Π· HTTP ΠΈ записываСт ΠΈΡ… Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов.
  2. ЭкспортСры (exporters) β€” это Π°Π³Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников (сСрвСров, Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ) ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΡ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Prometheus. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ экспортСры для ΠΌΠ½ΠΎΠ³ΠΈΡ… популярных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ MySQL, PostgreSQL, NGINX, Kubernetes ΠΈ Π΄Ρ€.
  3. Alertmanager β€” систСма для управлСния Π°Π»Π΅Ρ€Ρ‚Π°ΠΌΠΈ. Она позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ увСдомлСния Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ (email, Slack, Telegram ΠΈ Π΄Ρ€.) Π² случаС достиТСния критичСских ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ².
  4. ΠŸΡƒΡˆ-шлюз (Pushgateway) β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ “push”. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для систСм, Π³Π΄Π΅ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ модСль “pull”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡.
  5. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” Π½Π°Π±ΠΎΡ€Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π·Π½Ρ‹Ρ… языков программирования, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сбор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ прямо Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
  6. Grafana β€” хотя это Π½Π΅ Ρ‡Π°ΡΡ‚ΡŒ Prometheus, ΠΎΠ½Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² связкС для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ построСния Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ². Grafana прСдоставляСт Π³ΠΈΠ±ΠΊΠΈΠ΅ инструмСнты для создания Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…, собранных Prometheus.

😨 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использования Prometheus

ИспользованиС Prometheus Π΄Π°Ρ‘Ρ‚ ряд ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… прСимущСств:

  1. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ: Prometheus Ρ…ΠΎΡ€ΠΎΡˆΠΎ справляСтся с ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ сотСн ΠΈ тысяч систСм, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΈ микросСрвисных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€.
  2. ΠΠ²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ: Prometheus Π½Π΅ зависит ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ настройку ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅.
  3. Высокая Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ: БистСму ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² кластСрС, обСспСчивая Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ.
  4. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ настройки Π°Π»Π΅Ρ€Ρ‚ΠΎΠ²: Prometheus позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ слоТныС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ условия ΠΈ зависимости.
  5. Широкая экосистСма: БущСствуСт большоС количСство экспортСров ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ для Prometheus, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ популярных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ сСрвисов.
  6. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов: Prometheus спСциализируСтся Π½Π° сборС Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов, Ρ‡Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвСров, использования рСсурсов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.

πŸ’ƒ ПодвСдСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ²

Prometheus β€” это ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, особСнно Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΈΠ»ΠΈ высоконагруТСнными систСмами. Π•Π³ΠΎ простота Π² установкС ΠΈ использовании, Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² настройкС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Π°Π»Π΅Ρ€Ρ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ интСграция с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ инструмСнтом для DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ². Если Π²Ρ‹ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Prometheus, это Ρ‚ΠΎΡ‚ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΡ‡Π½ΠΎ стоит ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ инфраструктуры.