БпСстСтС 15% ΠΎΡ‚ всички хостинг услуги

ВСствай умСнията си ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠžΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° всСки хостинг ΠΏΠ»Π°Π½

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills Π—Π° Π½Π°Ρ‡Π°Π»ΠΎ
Заглавия
Администрация

БистСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Prometheus: Пълно Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° настройка Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° инфраструктура ΠΈ прилоТСния

Π‘ нарастващата слоТност Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° инфраструктура β€” ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰Π° микроуслуги, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ систСми β€” Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡ‚ΠΎ наблюдСниС Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ€. Π’ΠΎ Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ изискванС Π·Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° производитСлност, надСТдност ΠΈ мащабируСмост. Prometheus, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° наблюдСниС ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, сС Π΅ ΡƒΡ‚Π²ΡŠΡ€Π΄ΠΈΠ» ΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π½Π°ΠΉ-ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈ срСди.

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ SoundCloud ΠΈ сСга Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Cloud Native Computing Foundation (CNCF), Prometheus сС ΠΏΠΎΠ»Π·Π²Π° с Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΈ Π΅ΠΊΠΈΠΏΠΈ ΠΏΠΎ цСлия свят. Π’ΠΎΠ²Π° ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Ρ‚Π΅Π»Π½ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ ΠΎΠ±Ρ…Π²Π°Ρ‰Π° всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅: ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Prometheus, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ, основнитС ΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΈ пълСн процСс Π½Π° настройка ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ° β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Node Exporter, Grafana Ρ‚Π°Π±Π»Π° ΠΈ конфигурация Π½Π° прСдупрСТдСния.

Какво С Prometheus?

Prometheus Π΅ ΠΌΠΎΡ‰Π½Π° систСма Π·Π° наблюдСниС с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΈ заявява Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ β€” измСрвания ΠΈΠ»ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, прослСдявани във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈ с висока Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π½Π° способност. Вя позволява Π½Π° Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅ Π΄Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π·Π΄Ρ€Π°Π²Π΅Ρ‚ΠΎ Π½Π° систСмата, Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ ΠΈ Π΄Π° задСйстват ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ прСдупрСТдСния, ΠΏΡ€Π΅Π΄ΠΈ ΠΌΠ°Π»ΠΊΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π΄Π° Сскалират Π² ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ.

Основни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Prometheus

Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
МодСл Π½Π° Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ послСдоватСлности с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π°Π½Π°Π»ΠΈΠ· Π½Π° Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ ΠΈ историчСски сравнСния
НаблюдСниС Ρ‡Ρ€Π΅Π· изтСглянС (Pull-Based)Prometheus Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡ‡Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, вмСсто Π΄Π° Ρ‡Π°ΠΊΠ° систСмитС Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π΄Π°Π½Π½ΠΈ
PromQLΠ“ΡŠΠ²ΠΊΠ°Π² ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° заявки Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅, Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с AlertmanagerΠ”Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΏΡ€Π°Π³ΠΎΠ²Π΅, ΠΈ насочвайтС извСстия към ΠΈΠΌΠ΅ΠΉΠ», Slack, PagerDuty ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ
ΠžΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° услугиАвтоматично ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° ΠΈ ΠΈΠ·Π²Π»ΠΈΡ‡Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Ρ†Π΅Π»ΠΈ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ срСди ΠΊΠ°Ρ‚ΠΎ Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ
ΠœΠ½ΠΎΠ³ΠΎΠΈΠ·ΠΌΠ΅Ρ€Π½ΠΈ Π΄Π°Π½Π½ΠΈΠ•Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π²ΠΈ позволяват Π΄Π° раздСлятС ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΠΎ измСрСния ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½, инстанция ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ Π½Π° услуга

Π’Π΅Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ правят Prometheus ΠΈΠ΄Π΅Π°Π»Π΅Π½ ΠΈΠ·Π±ΠΎΡ€ Π·Π° Π΅ΠΊΠΈΠΏΠΈ, ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‰ΠΈ натоварвания Π½Π° VPS хостинг, инфраструктура Π½Π° bare-metal ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ Prometheus

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

ОсновСн Ρ€Π°Π±ΠΎΡ‚Π΅Π½ процСс

  1. Π‘ΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ (Scraping): Prometheus ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° HTTP заявки Π΄ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Ρ†Π΅Π»Π΅Π²ΠΈ ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ β€” извСстни ΠΊΠ°Ρ‚ΠΎ *exporters* β€” Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŠΡ‚ Π½Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π΅ напълно ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ.
  1. Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅: Π‘ΡŠΠ±Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ (TSDB) Π½Π° Prometheus. Всяка Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ носи Unix Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡŽΡ‡-стойност Π·Π° идСнтификация.
  1. Заявки с PromQL: Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ PromQL Π·Π° заявки към ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ‚Π°Π±Π»Π° ΠΈΠ»ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° условия Π·Π° прСдупрСТдСния въз основа Π½Π° Π΄Π°Π½Π½ΠΈ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ историчСски Π΄Π°Π½Π½ΠΈ.
  1. Π’Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ Π·Π° прСдупрСТдСния: ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΏΡ€Π°Π³, Prometheus ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄ΠΎ Alertmanager, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π΅Π΄ΡƒΠ±Π»ΠΈΡ€Π°, Π³Ρ€ΡƒΠΏΠΈΡ€Π° ΠΈ насочва извСстията към ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΊΠ°Π½Π°Π»ΠΈ.

ΠœΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° изтСглянС (pull-based) Π΅ ΡΡŠΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅Π½ ΠΈΠ·Π±ΠΎΡ€. Π’ΠΎΠΉ опростява ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° сигурност (Ρ†Π΅Π»ΠΈΡ‚Π΅ Π½Π΅ сС нуТдаят ΠΎΡ‚ изходящ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€), ΠΏΡ€Π°Π²ΠΈ конфигурацията ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π° ΠΈ сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π° Π΄ΠΎΠ±Ρ€Π΅ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ срСди.

Основни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Prometheus

Prometheus Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π½Π° СкосистСма. ВсСки ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ изпълнява спСцифична роля:

1. Prometheus ΡΡŠΡ€Π²ΡŠΡ€

ЦСнтралният Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π», ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Ρ†Π΅Π»ΠΈΡ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠΌ Π² TSDB, ΠΎΡ†Π΅Π½ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° прСдупрСТдСния ΠΈ обслуТванСто Π½Π° PromQL API ΠΈ ΡƒΠ΅Π± интСрфСйса.

2. Exporters

Exporters са Π»Π΅ΠΊΠΈ Π°Π³Π΅Π½Ρ‚ΠΈ ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π»Π°Π³Π°Ρ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с Prometheus Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ exporters Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚:

  • Node Exporter β€” Π‘ΡŠΠ±ΠΈΡ€Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎ ΠΈ OS Π½ΠΈΠ²ΠΎ: CPU, ΠΏΠ°ΠΌΠ΅Ρ‚, дисков I/O, ΠΌΡ€Π΅ΠΆΠΎΠ²Π° пропускатСлна способност, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма
  • Blackbox Exporter β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π° външни ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎ HTTP, HTTPS, DNS, TCP ΠΈ ICMP Π·Π° наличност ΠΈ латСнтност
  • Database Exporters β€” Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ спСциализирани exporters Π·Π° PostgreSQL, MySQL, Redis, MongoDB ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ
  • Application-Specific Exporters β€” ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ прилоТСния ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΡƒΡŠΡ€ΠΊΠΎΠ²Π΅ ΠΈΠ·Π»Π°Π³Π°Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ° /metrics Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ

3. Alertmanager

Управлява пълния ΠΆΠΈΠ·Π½Π΅Π½ Ρ†ΠΈΠΊΡŠΠ» Π½Π° прСдупрСТдСнията: ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° прСдупрСТдСния ΠΎΡ‚ Prometheus, тяхното Π΄Π΅Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅ ΠΈ Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅, ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° Π·Π°Π³Π»ΡƒΡˆΠ°Π²Π°Π½Π΅ ΠΈ ΠΈΠ½Ρ…ΠΈΠ±ΠΈΡ€Π°Π½Π΅, ΠΈ насочванС Π½Π° извСстия към ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ°Ρ‚ΠΎ Slack, ΠΈΠΌΠ΅ΠΉΠ», PagerDuty ΠΈΠ»ΠΈ OpsGenie.

4. PromQL (Prometheus Query Language)

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° заявки Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅. PromQL ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ, Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π·Π° Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅, матСматичСски Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ подзаявки β€” прСдоставяйки Π²ΠΈ дълбока Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΌΠΎΡ‰ Π²ΡŠΡ€Ρ…Ρƒ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

5. Pushgateway

ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΊΡ€Π°Ρ‚ΠΊΠΎΡ‚Ρ€Π°ΠΉΠ½ΠΈ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½ΠΈ (Π½Π°ΠΏΡ€. cron Π·Π°Π΄Π°Ρ‡Π°, която Ρ€Π°Π±ΠΎΡ‚ΠΈ 30 сСкунди). Π’Π΅Π·ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ своитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ към Pushgateway, ΠΊΠΎΠΉΡ‚ΠΎ Prometheus слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π° Π½Π° рСдовния си ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

6. Grafana

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π½Π΅ Π΅ част ΠΎΡ‚ самия Prometheus, Grafana Π΅ Π΄Π΅ Ρ„Π°ΠΊΡ‚ΠΎ слоят Π·Π° визуализация Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Prometheus. Вя сС ΡΠ²ΡŠΡ€Π·Π²Π° с Prometheus ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ позволява ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΎΠ³Π°Ρ‚ΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Ρ‚Π°Π±Π»Π° с ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.

Настройка Π½Π° Prometheus Π½Π° Linux ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ°

Π‘Π»Π΅Π΄Π²Π°Ρ‰ΠΎΡ‚ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π²ΠΈ Π²ΠΎΠ΄ΠΈ ΠΏΡ€Π΅Π· пълно внСдряванС Π½Π° Prometheus Π½Π° Linux ΡΡŠΡ€Π²ΡŠΡ€, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Node Exporter Π·Π° систСмни ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Grafana Π·Π° визуализация ΠΈ Alertmanager Π·Π° извСстия.

> ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ изисквания: Linux ΡΡŠΡ€Π²ΡŠΡ€ (Ubuntu 20.04/22.04 ΠΈΠ»ΠΈ CentOS/RHEL 8+), Π΄ΠΎΡΡ‚ΡŠΠΏ sudo ΠΈΠ»ΠΈ root, ΠΈ основно ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° командния Ρ€Π΅Π΄. Ако ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½Π° срСда, Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ AlexHost VPS хостинг Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½Π° основа с ниска латСнтност.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Prometheus

Π˜Π·Ρ‚Π΅Π³Π»Π΅Ρ‚Π΅ ΠΈ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°ΠΉΡ‚Π΅ послСдната вСрсия Π½Π° Prometheus:

wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
tar -xvf prometheus-2.47.0.linux-amd64.tar.gz
cd prometheus-2.47.0.linux-amd64

> Π‘ΡŠΠ²Π΅Ρ‚: Π’ΠΈΠ½Π°Π³ΠΈ провСрявайтС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° страница с вСрсии Π½Π° Prometheus Π·Π° послСдната стабилна вСрсия ΠΏΡ€Π΅Π΄ΠΈ изтСглянС.

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ спСциалСн систСмСн ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΈ структура Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:

sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo cp prometheus promtool /usr/local/bin/
sudo cp -r consoles console_libraries /etc/prometheus/
sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ systemd услуга Π·Π° Prometheus:

sudo nano /etc/systemd/system/prometheus.service

ΠŸΠΎΡΡ‚Π°Π²Π΅Ρ‚Π΅ слСдното ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅:

[Unit]
Description=Prometheus Monitoring System
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus 
  --config.file=/etc/prometheus/prometheus.yml 
  --storage.tsdb.path=/var/lib/prometheus/ 
  --web.console.templates=/etc/prometheus/consoles 
  --web.console.libraries=/etc/prometheus/console_libraries 
  --storage.tsdb.retention.time=30d

[Install]
WantedBy=multi-user.target

АктивирайтС ΠΈ стартирайтС Prometheus:

sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus
sudo systemctl status prometheus

Prometheus Π²Π΅Ρ‡Π΅ Ρ‰Π΅ бъдС Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π½Π° http://your-server-ip:9090.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Prometheus

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ„Π°ΠΉΠ» Π΅ /etc/prometheus/prometheus.yml. Π’ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ‚Π΅ настройки ΠΈ Ρ†Π΅Π»ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Prometheus наблюдава.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° основна конфигурация:

global:
  scrape_interval: 15s        # Default scrape frequency
  evaluation_interval: 15s    # How often alerting rules are evaluated
  scrape_timeout: 10s

alerting:
  alertmanagers:
    - static_configs:
        - targets:
          - localhost:9093

rule_files:
  - "/etc/prometheus/rules/*.yml"

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

Π‘Π»Π΅Π΄ промяна Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ», Π²ΠΈΠ½Π°Π³ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°ΠΉΡ‚Π΅ конфигурацията ΠΏΡ€Π΅Π΄ΠΈ рСстартиранС:

promtool check config /etc/prometheus/prometheus.yml
sudo systemctl restart prometheus

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Node Exporter Π·Π° систСмни ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Node Exporter ΠΈΠ·Π»Π°Π³Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π·Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° ΠΈ OS ΠΎΡ‚ хост систСмата β€” ΠΎΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π° наблюдСниС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPU, натиска Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° диска ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° пропускатСлна способност.

Π˜Π·Ρ‚Π΅Π³Π»Π΅Ρ‚Π΅ ΠΈ инсталирайтС Node Exporter:

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar -xvf node_exporter-1.6.1.linux-amd64.tar.gz
sudo cp node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ systemd услуга Π·Π° Node Exporter:

sudo nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter

Node Exporter Π²Π΅Ρ‡Π΅ ΠΈΠ·Π»Π°Π³Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° http://your-server-ip:9100/metrics.

Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Node Exporter ΠΊΠ°Ρ‚ΠΎ Ρ†Π΅Π» Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π² prometheus.yml:

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "node_exporter"
    static_configs:
      - targets: ["localhost:9100"]

РСстартирайтС Prometheus ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ Ρ†Π΅Π»Ρ‚Π° сС ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ UP Π² интСрфСйса Π½Π° Prometheus ΠΏΠΎΠ΄ Status β†’ Targets.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 4: Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ с Grafana

Grafana трансформира Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° Prometheus Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ, Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ Π±ΠΎΠ³Π°Ρ‚ΠΈ Ρ‚Π°Π±Π»Π°. Вя Π΅ стандартният слой Π·Π° визуализация Π·Π° внСдрявания Π½Π° Prometheus.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Grafana Π½Π° Ubuntu/Debian:

sudo apt-get install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Π‘Π²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ Prometheus ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ:

  1. ΠžΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ Grafana Π½Π° http://your-server-ip:3000 (Π΄Π°Π½Π½ΠΈ Π·Π° Π²Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅: admin / admin)
  2. НавигирайтС Π΄ΠΎ Configuration β†’ Data Sources β†’ Add data source
  3. Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Prometheus
  4. Π—Π°Π΄Π°ΠΉΡ‚Π΅ URL Π½Π° http://localhost:9090
  5. ΠšΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Save & Test

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎ Ρ‚Π°Π±Π»ΠΎ:

  • ΠžΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° Dashboards β†’ Import
  • Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ ID Π½Π° Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ 1860 (Node Exporter Full) ΠΎΡ‚ ΠΏΠ°Π·Π°Ρ€Π° Π½Π° Grafana
  • Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ вашия ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ Prometheus ΠΈ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Import

Π’Π΅Π΄Π½Π°Π³Π° Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Ρ‚Π΅Π»Π΅Π½ ΠΈΠ·Π³Π»Π΅Π΄ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPU, консумацията Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, дисковия I/O, ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° статистика ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° систСмата β€” всичко Π² Π΅Π΄Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ‚Π°Π±Π»ΠΎ.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 5: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° прСдупрСТдСния ΠΈ Alertmanager

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡΡ‚Π° Π² Prometheus сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΎΡ‚ Π΄Π²Π΅ части: ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° прСдупрСТдСния, Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² Prometheus, ΠΈ Alertmanager, ΠΊΠΎΠΉΡ‚ΠΎ управлява насочванСто ΠΈ доставката.

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° прСдупрСТдСния:

sudo mkdir -p /etc/prometheus/rules
sudo nano /etc/prometheus/rules/system_alerts.yml
groups:
  - name: system_alerts
    rules:
      - alert: HighCPUUsage
        expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "High CPU usage on {{ $labels.instance }}"
          description: "CPU usage has exceeded 80% for more than 5 minutes. Current value: {{ $value }}%"

      - alert: LowDiskSpace
        expr: (node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100 < 15
        for: 10m
        labels:
          severity: critical
        annotations:
          summary: "Low disk space on {{ $labels.instance }}"
          description: "Available disk space on / is below 15%. Immediate action required."

      - alert: HighMemoryUsage
        expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 85
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "High memory usage on {{ $labels.instance }}"
          description: "Memory usage has exceeded 85% for more than 5 minutes."

      - alert: InstanceDown
        expr: up == 0
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "Instance {{ $labels.instance }} is down"
          description: "Prometheus target {{ $labels.instance }} has been unreachable for more than 1 minute."

Π’Π°Π»ΠΈΠ΄ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° с ΠΏΡ€Π°Π²ΠΈΠ»Π°:

promtool check rules /etc/prometheus/rules/system_alerts.yml

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ Alertmanager:

wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz
tar -xvf alertmanager-0.26.0.linux-amd64.tar.gz
sudo cp alertmanager-0.26.0.linux-amd64/alertmanager /usr/local/bin/
sudo mkdir /etc/alertmanager

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ конфигурацията Π½Π° Alertmanager:

sudo nano /etc/alertmanager/alertmanager.yml
global:
  smtp_smarthost: 'smtp.yourdomain.com:587'
  smtp_from: 'alerts@yourdomain.com'
  smtp_auth_username: 'alerts@yourdomain.com'
  smtp_auth_password: 'your_password'

route:
  group_by: ['alertname', 'instance']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 4h
  receiver: 'email-notifications'

receivers:
  - name: 'email-notifications'
    email_configs:
      - to: 'admin@yourdomain.com'
        send_resolved: true

> Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Π—Π° профСсионална доставка Π½Π° ΠΈΠΌΠ΅ΠΉΠ»ΠΈ Π² Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π²ΠΈ Π·Π° прСдупрСТдСния, помислСтС Π·Π° ΡΡŠΡ‡Π΅Ρ‚Π°Π²Π°Π½Π΅ Π½Π° Prometheus с AlexHost ΠΈΠΌΠ΅ΠΉΠ» хостинг Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° SMTP инфраструктура.

Π Π°Π·ΡˆΠΈΡ€Π΅Π½Π° конфигурация: ΠžΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° услуги

Π—Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ срСди β€” ΠΊΠ°Ρ‚ΠΎ Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ Ρ„Π»ΠΎΡ‚ΠΎΠ²Π΅ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ β€” статичнитС ΡΠΏΠΈΡΡŠΡ†ΠΈ с Ρ†Π΅Π»ΠΈ Π±ΡŠΡ€Π·ΠΎ стават нСуправляСми. Prometheus ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° мноТСство ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° услуги ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅:

scrape_configs:
  - job_name: "kubernetes-pods"
    kubernetes_sd_configs:
      - role: pod
    relabel_configs:
      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
        action: keep
        regex: true

ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° услуги Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Kubernetes, Consul, EC2, Azure, GCE, DNS-Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΠ΅ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎ-Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΠ΅ β€” ΠΏΡ€Π°Π²Π΅ΠΉΠΊΠΈ Prometheus Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ към практичСски всяка инфраструктурна топология.

Π‘Π»ΡƒΡ‡Π°ΠΈ Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° Prometheus

Prometheus сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° Π² ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ сцСнарии Π·Π° наблюдСниС:

НаблюдСниС Π½Π° инфраструктурата

Π‘ΡŠΠ±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡŠΡ€Π²ΡŠΡ€ β€” CPU, ΠΏΠ°ΠΌΠ΅Ρ‚, диск, ΠΌΡ€Π΅ΠΆΠ° β€” ΠΎΡ‚ всСки възСл във вашия Ρ„Π»ΠΎΡ‚. НСзависимо Π΄Π°Π»ΠΈ управляватС Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ Dedicated ΡΡŠΡ€Π²ΡŠΡ€ ΠΈΠ»ΠΈ голям ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€, Prometheus осигурява ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° видимост Π·Π° всички хостовС.

НаблюдСниС Π½Π° производитСлността Π½Π° прилоТСнията (APM)

ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΠΉΡ‚Π΅ чСстотата Π½Π° заявкитС, чСстотата Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅, латСнтноститС Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ RED) ΠΈ консумацията Π½Π° рСсурси Π·Π° ΡƒΠ΅Π± прилоТСния ΠΈ API. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Prometheus са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π·Π° Go, Python, Java, Ruby, Node.js ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

НаблюдСниС Π½Π° Kubernetes ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ

Prometheus сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ с Kubernetes Ρ‡Ρ€Π΅Π· exporters kube-state-metrics ΠΈ cAdvisor, осигурявайки дълбока видимост Π² Π·Π΄Ρ€Π°Π²Π΅Ρ‚ΠΎ Π½Π° pod-ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠ²ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π° рСсурси, статуса Π½Π° внСдряванСто ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

НаблюдСниС на бази данни

ΠΠ°Π±Π»ΡŽΠ΄Π°Π²Π°ΠΉΡ‚Π΅ производитСлността Π½Π° заявкитС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡƒΠ»Π° ΠΎΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈ, изоставанСто ΠΏΡ€ΠΈ рСпликация ΠΈ ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° попадСния Π² кСша Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ PostgreSQL, MySQL ΠΈ Redis с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° спСциализирани exporters.

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ бизнСс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ собствСнитС си прилоТСния, Π·Π° Π΄Π° ΠΈΠ·Π»Π°Π³Π°Ρ‚ спСцифични Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ β€” ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ Π² сСкунда, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ потрСбитСлски сСсии ΠΈΠ»ΠΈ чСстота Π½Π° ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ β€” позволявайки Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ Π½Π° бизнСс Π½ΠΈΠ²ΠΎ Π½Π°Ρ€Π΅Π΄ с тСхничСскитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

НаблюдСниС Π½Π° GPU натоварвания

Π—Π° Π΅ΠΊΠΈΠΏΠΈ, ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‰ΠΈ натоварвания Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ високопроизводитСлни изчислСния, Prometheus ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° с DCGM exporters Π·Π° наблюдСниС Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° GPU, ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°Ρ‚Π°. Π’ΠΎΠ²Π° сС ΡΡŠΡ‡Π΅Ρ‚Π°Π²Π° Π΄ΠΎΠ±Ρ€Π΅ с AlexHost GPU хостинг Π·Π° AI ΠΈ ML инфраструктура.

Prometheus срСщу Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π° наблюдСниС

ЀункцияPrometheusNagiosZabbixDatadog
МодСл Π½Π° Π΄Π°Π½Π½ΠΈΠ’Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ с Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΠ‘Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈΠ‘Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΠ’Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ с Ρ‚Π°Π³ΠΎΠ²Π΅
МодСл Π½Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅Pull (+ Pushgateway)Активни/Пасивни ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈΠ‘Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π°Π³Π΅Π½Ρ‚Π‘Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π°Π³Π΅Π½Ρ‚
Π•Π·ΠΈΠΊ Π·Π° заявкиPromQLΠΡΠΌΠ°ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½
НативСн Π·Π° KubernetesΠ”Π° (ΠΏΡŠΡ€Π²ΠΎΠΊΠ»Π°ΡΠ΅Π½)ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π”Π° (ΠΏΠ»Π°Ρ‚Π΅Π½)
Π¦Π΅Π½Π°Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ / Π‘ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ / Π‘ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ / Π‘ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄Π’ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ SaaS
ΠœΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚Π’ΠΈΡΠΎΠΊΠ° (с Thanos/Cortex)УмСрСнаУмСрСнаВисока

Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° производствСна срСда

ВнСдряванСто Π½Π° Prometheus Π² производствСна срСда изисква Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ към няколко ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ аспСкта:

  • Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ: ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΡŠΡ‚ Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 15 Π΄Π½ΠΈ. ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°ΠΉΡ‚Π΅ --storage.tsdb.retention.time въз основа Π½Π° ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚Π° Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ изискванията Π·Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅. Π—Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, помислСтС Π·Π° Thanos ΠΈΠ»ΠΈ Cortex.
  • Бигурност: ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΡƒΠ΅Π± интСрфСйса ΠΈ API Π½Π° Prometheus с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси (Nginx ΠΈΠ»ΠΈ Caddy) с удостовСряванС. Prometheus Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΎ удостовСряванС.
  • Висока наличност: Π˜Π·ΠΏΡŠΠ»Π½ΡΠ²Π°ΠΉΡ‚Π΅ мноТСство инстанции Π½Π° Prometheus, ΠΈΠ·Π²Π»ΠΈΡ‡Π°Ρ‰ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ Ρ†Π΅Π»ΠΈ Π·Π° рСзСрвираност. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ функцията Π·Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Alertmanager, Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½ΠΈ извСстия.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° кардиналността: Π˜Π·Π±ΡΠ³Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ с висока кардиналност (Π½Π°ΠΏΡ€. потрСбитСлски ID, ID Π½Π° заявки) Π² ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° причинят ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ производитСлността.
  • TLS ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅: АктивирайтС TLS Π·Π° ΠΊΡ€Π°ΠΉΠ½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ ΠΈ Prometheus API. Π‘ΡŠΡ‡Π΅Ρ‚Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ²Π° с SSL сСртификат Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° всички ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Prometheus.
  • ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° рСсурситС: Prometheus Π΅ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Ρ‚Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ RAM въз основа Π½Π° броя Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅. ΠžΠ±Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 1–2 Π±Π°ΠΉΡ‚Π° Π½Π° ΠΈΠ·Π²Π°Π΄ΠΊΠ° Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.

ЧСсто Π·Π°Π΄Π°Π²Π°Π½ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ

Π’: Каква Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Prometheus ΠΈ Grafana?

Prometheus Π΅ Π±Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ Π·Π° наблюдСниС ΠΈ прСдупрСТдСния β€” Ρ‚ΠΎΠΉ ΡΡŠΠ±ΠΈΡ€Π°, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΈ заявява ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Grafana Π΅ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Π·Π° визуализация, ΠΊΠΎΠΉΡ‚ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π° с Prometheus (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ) Π·Π° изобразяванС Π½Π° Ρ‚Π°Π±Π»Π°. Π’Π΅ са Π΄ΠΎΠΏΡŠΠ»Π²Π°Ρ‰ΠΈ сС инструмСнти, Π° Π½Π΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ.

Π’: МоТС Π»ΠΈ Prometheus Π΄Π° наблюдава Windows ΡΡŠΡ€Π²ΡŠΡ€ΠΈ?

Π”Π°. Windows Exporter (ΠΏΡ€Π΅Π΄ΠΈ WMI Exporter) ΠΈΠ·Π»Π°Π³Π° систСмни ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° Windows Π² ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с Prometheus Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰ CPU, ΠΏΠ°ΠΌΠ΅Ρ‚, диск, ΠΌΡ€Π΅ΠΆΠ°, IIS ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

Π’: Как Prometheus управлява висока наличност?

Бамият Prometheus Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Π° инстанция Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€. Π—Π° висока наличност, ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ Π΄Π²Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ Prometheus ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΈΠ·Π²Π»ΠΈΡ‡Π°Ρ‰ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ Ρ†Π΅Π»ΠΈ. Alertmanager ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π·Π° Π΄Π΅Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅ Π½Π° прСдупрСТдСния ΠΎΡ‚ мноТСство инстанции Π½Π° Prometheus.

Π’: Π—Π° ΠΊΠ°ΠΊΠ²ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° PromQL?

PromQL (Prometheus Query Language) сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° заявки към Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ Π² Prometheus. Π’ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΈ заявки, заявки Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ, Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ, матСматичСски ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” позволявайки всичко ΠΎΡ‚ прости Ρ‚ΡŠΡ€ΡΠ΅Π½ΠΈΡ Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π΄ΠΎ слоТни ΠΈΠ·Ρ€Π°Π·ΠΈ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Prometheus Π΅ ΠΈΠ·ΠΏΠΈΡ‚Π°Π½ΠΎ Π² Π±ΠΎΠΉΠ½ΠΈ условия, производствСно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° наблюдСниС, ΠΊΠΎΠ΅Ρ‚ΠΎ осигурява дълбока видимост Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π·Π΄Ρ€Π°Π²Π΅Ρ‚ΠΎ ΠΈ производитСлността Π½Π° цСлия Π²ΠΈ инфраструктурСн стСк. НСговата Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° изтСглянС, ΠΌΠ½ΠΎΠ³ΠΎΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ, мощният Π΅Π·ΠΈΠΊ Π·Π° заявки PromQL ΠΈ Π±Π΅Π·ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с инструмСнти ΠΊΠ°Ρ‚ΠΎ Grafana ΠΈ Alertmanager Π³ΠΎ правят Π·Π»Π°Ρ‚Π΅Π½ стандарт Π·Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚.

НСзависимо Π΄Π°Π»ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ Linux ΡΡŠΡ€Π²ΡŠΡ€, Ρ„Π»ΠΎΡ‚ ΠΎΡ‚ Dedicated ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΈΠ»ΠΈ слоТно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с микроуслуги, Prometheus сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°, Π·Π° Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ. Π‘Π»Π΅Π΄Π²Π°ΠΉΠΊΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ Π² Ρ‚ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ β€” инсталиранС Π½Π° Prometheus, внСдряванС Π½Π° Node Exporter, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Grafana Ρ‚Π°Π±Π»Π° ΠΈ настройванС Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° прСдупрСТдСния β€” Ρ‰Π΅ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ‚Π΅ с Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° основа Π·Π° наблюдСниС, която Π²ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Ρ‚Π΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Ρ€Π°Π½ΠΎ, Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π°Ρ‚Π΅ Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΈ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ Π΄Π° подобряватС надСТдността Π½Π° систСмата.

Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ с основитС, ΠΈΡ‚Π΅Ρ€ΠΈΡ€Π°ΠΉΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Ρ‚Π°Π±Π»Π°Ρ‚Π° ΠΈ ΠΏΡ€Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° прСдупрСТдСния, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° систСмата си, ΠΈ постСпСнно Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π΄ΠΎ всСки слой Π½Π° вашия стСк. Prometheus Π½Π΅ Π΅ просто инструмСнт Π·Π° наблюдСниС β€” Ρ‚ΠΎΠΉ Π΅ ΠΊΡ€Π°ΠΉΡŠΠ³ΡŠΠ»Π΅Π½ камък Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡ‚ΠΎ инТСнСрство Π·Π° надСТдност Π½Π° сайтовС.