{"id":2220,"date":"2025-12-11T21:52:07","date_gmt":"2025-12-11T18:52:07","guid":{"rendered":"https:\/\/gerdlezhev.ru\/?p=2220"},"modified":"2025-11-20T21:55:13","modified_gmt":"2025-11-20T18:55:13","slug":"%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b5-%d1%80%d1%83%d0%ba%d0%be%d0%b2%d0%be%d0%b4%d1%81%d1%82%d0%b2%d0%be-%d0%bf%d0%be-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b5-%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be","status":"publish","type":"post","link":"https:\/\/gerdlezhev.ru\/?p=2220","title":{"rendered":"\u041f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 Prometheus: \u043e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435: \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Prometheus \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e<\/h2>\n\n\n\n<p>\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043c\u0438\u0440\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u043c. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e: \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0437\u0430\u043c\u0435\u0447\u0430\u044e\u0442 \u044d\u0442\u043e \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0432\u044b. \u0418\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430.<\/p>\n\n\n\n<p>Prometheus \u2014 \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 SoundCloud \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438: \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 cloud-native \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c \u0434\u0435-\u0444\u0430\u043a\u0442\u043e \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 Kubernetes \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 Prometheus: \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435<\/h2>\n\n\n\n<p>\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Prometheus \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0421\u0435\u0440\u0432\u0435\u0440 Prometheus: \u041c\u043e\u0437\u0433 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h2>\n\n\n\n<p>\u042f\u0434\u0440\u043e\u043c \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440 Prometheus. \u042d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 Go, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439:<\/p>\n\n\n\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2014 \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a. \u0421\u0435\u0440\u0432\u0435\u0440 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 HTTP \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u0446\u0435\u043b\u0435\u0432\u044b\u043c \u0445\u043e\u0441\u0442\u0430\u043c \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c, \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044f \u0438\u0437 \u043d\u0438\u0445 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u0435\u0439\u043f\u0438\u043d\u0433\u043e\u043c. \u0417\u0430 \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Prometheus \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u0430\u0436\u0434\u044b\u0435 15 \u0441\u0435\u043a\u0443\u043d\u0434, \u043d\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c.<\/p>\n\n\n\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2014 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 (TSDB \u2014 Time Series Database), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438. TSDB \u0432 Prometheus 2.x \u2014 \u044d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0430\u043d\u043d\u044b\u043c.<\/p>\n\n\n\n<p>\u0422\u0440\u0435\u0442\u044c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2014 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0421\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 HTTP API \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 PromQL. \u042d\u0442\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Grafana, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0430\u043b\u0435\u0440\u0442\u043e\u0432.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Time Series Database: \u041d\u0435\u043f\u043e\u0432\u0442\u043e\u0440\u0438\u043c\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435<\/h2>\n\n\n\n<p>TSDB Prometheus \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0432\u043e\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u0430\u0445. \u041a\u0430\u0436\u0434\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0442\u043a\u0430\u043c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c Prometheus \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0434 \u044d\u0442\u0443 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<p>\u041f\u0440\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c (\u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 head block), \u0433\u0434\u0435 \u043e\u043d\u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 2-3 \u0447\u0430\u0441\u043e\u0432. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a \u0432 \u0432\u0438\u0434\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432. \u0422\u0430\u043a\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u0440\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n\n\n\n<p>\u0414\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 Prometheus \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b: \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u043b\u044c\u0442\u0430-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 (\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438), \u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u043b\u044c\u0442\u0430-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438 \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u043e\u0434\u0438\u043d \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0441\u044d\u043c\u043f\u043b\u043e\u0432.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exporters: \u041c\u043e\u0441\u0442\u044b \u043a \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c<\/h2>\n\n\n\n<p>\u041d\u0435 \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043c\u0435\u044e\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Prometheus. \u0414\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u044b (exporters) \u2014 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435:<\/p>\n\n\n\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u044e\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438\u0437 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0431\u0443\u0434\u044c \u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435), \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0438\u0445 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0439 Prometheus, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u044d\u0442\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 HTTP \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 \/metrics.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u043e\u0432:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Node Exporter \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (CPU, \u043f\u0430\u043c\u044f\u0442\u044c, \u0434\u0438\u0441\u043a, \u0441\u0435\u0442\u044c)<\/li>\n\n\n\n<li>PostgreSQL Exporter \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0438\u0437 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL<\/li>\n\n\n\n<li>MySQL Exporter \u0434\u043b\u044f MySQL \u0438 MariaDB<\/li>\n\n\n\n<li>Redis Exporter \u0434\u043b\u044f \u043a\u044d\u0448\u0430 Redis<\/li>\n\n\n\n<li>cAdvisor \u0434\u043b\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Push Gateway: \u0414\u043b\u044f \u043d\u0435\u0434\u043e\u043b\u0433\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u0445 \u0437\u0430\u0434\u0430\u0447<\/h2>\n\n\n\n<p>Prometheus \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c pull (\u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0430\u043c \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438), \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c\u0441\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043a\u0440\u0435\u0439\u043f\u0438\u043d\u0433\u0430. Push Gateway \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044f \u043a\u0430\u043a \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440, \u043a\u0443\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Alertmanager: \u0418\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0430\u043b\u0435\u0440\u0442\u043e\u0432<\/h2>\n\n\n\n<p>Alertmanager \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u043e\u0442 Prometheus, \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0443 \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u044b\u0445 \u0430\u043b\u0435\u0440\u0442\u043e\u0432, \u0438\u0445 \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 (email, Slack, PagerDuty, Telegram \u0438 \u0442.\u0434.). \u042d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u043b\u0435\u0440\u0442\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043b\u043e\u0441\u0442\u044c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0443\u043c\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u041c\u0435\u0442\u0440\u0438\u043a\u0438 Prometheus: \u0422\u0438\u043f\u044b \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<p>Prometheus \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \u043c\u0435\u0442\u0440\u0438\u043a, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Counter (\u0421\u0447\u0435\u0442\u0447\u0438\u043a)<\/h2>\n\n\n\n<p>Counter \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0430, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043b\u0438 \u043e\u0431\u043d\u0443\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b: http_requests_total (\u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e HTTP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432), database_queries_total (\u0432\u0441\u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0411\u0414), errors_total (\u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a).<\/p>\n\n\n\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 counters \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043a\u0443\u043c\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f rate() \u0438\u043b\u0438 irate(). \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, rate(http_requests_total[5m]) \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 5 \u043c\u0438\u043d\u0443\u0442.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gauge (\u041a\u0430\u043b\u0438\u0431\u0440, \u0418\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440)<\/h2>\n\n\n\n<p>Gauge \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b: \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c\u0441\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043a\u043e\u043b\u0435\u0431\u043b\u044e\u0442\u0441\u044f.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b: memory_usage_bytes (\u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438), queue_length (\u0434\u043b\u0438\u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438), cpu_utilization (\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430), in_flight_requests (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432).<\/p>\n\n\n\n<p>\u0421 gauges \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e (\u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435), \u0442\u0430\u043a \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (avg, max, min) \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0442\u0440\u0435\u043d\u0434\u043e\u0432.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Histogram (\u0413\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0430)<\/h2>\n\n\n\n<p>Histogram \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430\u043c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/p>\n\n\n\n<p>\u0412\u043d\u0443\u0442\u0440\u0438 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0445\u0440\u0430\u043d\u0438\u0442:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u0430\u043a\u0435\u0442\u0430 (\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439)<\/li>\n\n\n\n<li>\u041e\u0431\u0449\u0438\u0439 \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0432\u0441\u0435\u0445 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/li>\n\n\n\n<li>\u0421\u0443\u043c\u043c\u0443 \u0432\u0441\u0435\u0445 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/li>\n<\/ul>\n\n\n\n<p>\u041f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0432\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0430\u043a\u0435\u0442\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0431\u0430\u043a\u0435\u0442\u044b: 0.01, 0.05, 0.1, 0.5, 1, 5, 10 \u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n\n\n\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0431\u0430\u043a\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u0443\u043c\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0447\u0435\u0442 \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u043a\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u2264 0.01, \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u2264 0.05 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u043a\u0435\u0442) \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n\n\n\n<p>\u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f histogram_quantile(). \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) \u043f\u043e\u043a\u0430\u0436\u0435\u0442 95-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430.<\/p>\n\n\n\n<p>\u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043a \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c \u0438\u0437-\u0437\u0430 \u043c\u0435\u0442\u043a\u0438 &#171;le&#187; (less than or equal), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043b\u0435\u0439\u0431\u043b\u043e\u0432.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary (\u0421\u0432\u043e\u0434\u043a\u0430)<\/h2>\n\n\n\n<p>Summary \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 histogram, \u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043a\u0432\u0430\u043d\u0442\u0438\u043b\u0438 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u043d\u0435 Prometheus. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e Summary \u0445\u0440\u0430\u043d\u0438\u0442 \u043f\u0440\u0435\u0434\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u0432\u0430\u043d\u0442\u0438\u043b\u0435\u0439 (\u043e\u0431\u044b\u0447\u043d\u043e 0.5, 0.9, 0.99).<\/p>\n\n\n\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435: Summary \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 Prometheus (\u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0431\u0430\u043a\u0435\u0442\u043e\u0432), \u043d\u043e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043e\u043a\u043d\u0430\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u0432\u0430\u043d\u0442\u0438\u043b\u0438 \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u044b.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"promql\">\u042f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 PromQL: \u041e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u043c\u0443<\/h2>\n\n\n\n<p>PromQL (Prometheus Query Language) \u2014 \u044d\u0442\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438. \u0415\u0433\u043e \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Prometheus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0435\u043b\u0435\u043a\u0446\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a<\/h2>\n\n\n\n<p>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043c\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>http_requests_total\n<\/code><\/pre>\n\n\n\n<p>\u042d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0435\u0442 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u044f\u0434\u044b \u0441 \u0438\u043c\u0435\u043d\u0435\u043c http_requests_total.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u043b\u0435\u0439\u0431\u043b\u0430\u043c<\/h2>\n\n\n\n<p>\u0414\u043b\u044f \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043b\u0435\u0439\u0431\u043b\u044b:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>http_requests_total{job=\"api\", method=\"GET\"}\n<\/code><\/pre>\n\n\n\n<p>\u042d\u0442\u043e \u0432\u044b\u0431\u0435\u0440\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f API \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u043c\u0435\u0442\u043e\u0434\u043e\u043c GET.<\/p>\n\n\n\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>= (\u0442\u043e\u0447\u043d\u043e\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435)<\/li>\n\n\n\n<li>!= (\u043d\u0435 \u0440\u0430\u0432\u043d\u043e)<\/li>\n\n\n\n<li>=~ (\u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435)<\/li>\n\n\n\n<li>!~ (\u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u043e \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/h2>\n\n\n\n<p>PromQL \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n\n\n\n<p>rate() \u2014 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u044e\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u043e\u043a\u043d\u043e:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>rate(http_requests_total[5m])\n<\/code><\/pre>\n\n\n\n<p>increase() \u2014 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0437\u0430 \u043f\u0435\u0440\u0438\u043e\u0434:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>increase(http_requests_total[1h])\n<\/code><\/pre>\n\n\n\n<p>histogram_quantile() \u2014 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u0438:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))\n<\/code><\/pre>\n\n\n\n<p>sum() \u2014 \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>sum(memory_usage_bytes)\n<\/code><\/pre>\n\n\n\n<p>avg() \u2014 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>avg(cpu_usage{job=\"api\"})\n<\/code><\/pre>\n\n\n\n<p>topk() \u2014 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 k \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>topk(5, increase(http_requests_total[1h]))\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/h2>\n\n\n\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0432\u0440\u0435\u043c\u0435\u043d\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>m (\u043c\u0438\u043d\u0443\u0442\u044b): [5m]<\/li>\n\n\n\n<li>h (\u0447\u0430\u0441\u044b): [1h]<\/li>\n\n\n\n<li>d (\u0434\u043d\u0438): [7d]<\/li>\n\n\n\n<li>w (\u043d\u0435\u0434\u0435\u043b\u0438): [4w]<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0410\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/h2>\n\n\n\n<p>PromQL \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>(http_requests_total{method=\"POST\"} - http_requests_total{method=\"GET\"}) \/ http_requests_total\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Prometheus: \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434<\/h2>\n\n\n\n<p>\u0412\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Prometheus \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 prometheus.yml (\u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u043c \u0434\u0440\u0443\u0433\u043e\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 &#8212;config.file).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>global:\n  scrape_interval: 15s        # \u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0441\u043a\u0440\u0435\u0439\u043f\u0438\u043d\u0433\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\n  scrape_timeout: 10s         # \u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\n  evaluation_interval: 15s    # \u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0430\u043b\u0435\u0440\u0442\u043e\u0432\n  external_labels:            # \u041b\u0435\u0439\u0431\u043b\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u043a\u043e \u0432\u0441\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\n    cluster: 'production'\n    region: 'eu-west'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u043a\u0440\u0435\u0439\u043f\u0438\u043d\u0433\u0430<\/h2>\n\n\n\n<p>\u0420\u0430\u0437\u0434\u0435\u043b scrape_configs \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043e\u0442\u043a\u0443\u0434\u0430 Prometheus \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'prometheus'\n    static_configs:\n      - targets: ['localhost:9090']\n    \n  - job_name: 'node-exporter'\n    static_configs:\n      - targets: ['server1:9100', 'server2:9100', 'server3:9100']\n    scrape_interval: 30s\n    \n  - job_name: 'database'\n    static_configs:\n      - targets: ['localhost:9187']\n    metric_relabel_configs:\n      - source_labels: [__name__]\n        regex: 'pg_stat_database.*'\n        action: keep\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Service Discovery \u0434\u043b\u044f Kubernetes<\/h2>\n\n\n\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Kubernetes \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'kubernetes-pods'\n    kubernetes_sd_configs:\n      - role: pod\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\n        action: keep\n        regex: true\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]\n        action: replace\n        target_label: __metrics_path__\n        regex: (.+)\n      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]\n        action: replace\n        regex: ([^:]+)(?::\\d+)?;(\\d+)\n        replacement: $1:$2\n        target_label: __address__\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0430\u043b\u0435\u0440\u0442\u043e\u0432<\/h2>\n\n\n\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>groups:\n  - name: application_alerts\n    interval: 30s\n    rules:\n      - alert: HighErrorRate\n        expr: rate(http_errors_total[5m]) &gt; 0.05\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High error rate detected\"\n          description: \"Error rate is {{ $value }} per second\"\n      \n      - alert: CriticalMemoryUsage\n        expr: node_memory_MemAvailable_bytes \/ node_memory_MemTotal_bytes &lt; 0.1\n        for: 2m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"Critical memory usage on {{ $labels.instance }}\"\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"recording-rules\">Recording Rules: \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<p>Recording rules \u2014 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044e\u0442 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u0430\u043a \u043d\u043e\u0432\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u044f\u0434\u044b. \u042d\u0442\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0432 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0431\u0430\u0437\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n\n\n\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c 1000 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f CPU \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0447\u0430\u0441. \u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>avg(rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))\n<\/code><\/pre>\n\n\n\n<p>\u0422\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0432 Grafana, Prometheus \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435: Recording Rules<\/h2>\n\n\n\n<p>\u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c recording rule:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>groups:\n  - name: cpu_rules\n    interval: 1m\n    rules:\n      - record: instance:node_cpu:rate5m\n        expr: rate(node_cpu_seconds_total[5m])\n      \n      - record: job:node_cpu:avg_rate5m\n        expr: avg(instance:node_cpu:rate5m) by (job)\n<\/code><\/pre>\n\n\n\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u044d\u0442\u0438\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043c\u0435\u0442\u0440\u0438\u043a\u0438 instance:node_cpu:rate5m \u0438 job:node_cpu:avg_rate5m, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u0438 \u0430\u043b\u0435\u0440\u0442\u0430\u0445.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0447\u0435\u0442\u043a\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f: level:metric:operation (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, job:http_requests:rate1m)<\/li>\n\n\n\n<li>\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441 \u043f\u0440\u0435\u0434\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a (rate, irate \u0434\u043b\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u0432)<\/li>\n\n\n\n<li>\u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f recording rules \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043b\u0435\u0439\u0431\u043b\u043e\u0432<\/li>\n\n\n\n<li>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u044c\u0442\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f rules \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0442\u0440\u0438\u043a\u0443 prometheus_rule_evaluation_duration_seconds<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"alertmanager\">Alertmanager: \u0423\u043c\u043d\u0430\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f<\/h2>\n\n\n\n<p>Alertmanager \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0442\u043e\u043a \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u043e\u0442 Prometheus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<p>\u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u0430\u043b\u0435\u0440\u0442\u043e\u0432: \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u044b\u0435 \u0430\u043b\u0435\u0440\u0442\u044b \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u0438\u043d \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0430\u043b\u0435\u0440\u0442\u043d\u043e\u0439 \u0431\u0443\u0440\u0438. \u041f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u043e\u0442\u043d\u0438.<\/p>\n\n\n\n<p>\u0414\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f: \u0435\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0430\u043b\u0435\u0440\u0442 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e, \u043e\u043d \u0434\u0435\u0434\u0443\u0431\u043b\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n\n\n\n<p>\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f: \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b (\u0441\u043b\u0435\u043f\u043e, PagerDuty, email).<\/p>\n\n\n\n<p>\u041f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0430\u043b\u0435\u0440\u0442\u044b, \u0435\u0441\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0430\u043b\u0435\u0440\u0442 \u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u0435\u0441\u043b\u0438 \u0432\u0435\u0441\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Alertmanager<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>global:\n  resolve_timeout: 5m\n  \nroute:\n  receiver: 'default'\n  group_by: ['alertname', 'cluster', 'service']\n  group_wait: 10s\n  group_interval: 10s\n  repeat_interval: 4h\n  routes:\n    - match:\n        severity: critical\n      receiver: 'pagerduty'\n      continue: true\n    - match:\n        severity: warning\n      receiver: 'slack'\n\nreceivers:\n  - name: 'default'\n    email_configs:\n      - to: 'team@example.com'\n        smarthost: 'smtp.gmail.com:587'\n        auth_username: 'your-email@gmail.com'\n        auth_password: 'your-password'\n  \n  - name: 'pagerduty'\n    pagerduty_configs:\n      - service_key: 'YOUR_PAGERDUTY_SERVICE_KEY'\n  \n  - name: 'slack'\n    slack_configs:\n      - api_url: 'YOUR_SLACK_WEBHOOK_URL'\n        channel: '#alerts'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u044b: \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/h2>\n\n\n\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u043e\u0432, Prometheus \u0438\u043c\u0435\u0435\u0442 \u043e\u0431\u0448\u0438\u0440\u043d\u0443\u044e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Node Exporter: \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h2>\n\n\n\n<p>Node Exporter \u2014 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440. \u041e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b:<\/p>\n\n\n\n<p>CPU: \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u0436\u0438\u043c\u0430\u0445 (user, system, iowait, idle)<br>\u041f\u0430\u043c\u044f\u0442\u044c: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0430\u044f, \u0431\u0443\u0444\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f<br>\u0414\u0438\u0441\u043a: \u0437\u0430\u043d\u044f\u0442\u043e, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f<br>\u0421\u0435\u0442\u044c: \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435\/\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b, \u043e\u0448\u0438\u0431\u043a\u0438, \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432<br>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435<br>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 (uptime)<\/p>\n\n\n\n<p>\u0417\u0430\u043f\u0443\u0441\u043a Node Exporter \u043f\u0440\u043e\u0441\u0442\u043e\u0439:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code>.\/node_exporter --collector.filesystem.mount-points-exclude=^\/(sys|proc|dev|host|etc)($$|\/) \\\n                 --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|netprocfs|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|squashfs|sysfs|tracefs)$$\n<\/code><\/pre>\n\n\n\n<p>\u0417\u0430\u0442\u0435\u043c \u0432 Prometheus:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'node'\n    static_configs:\n      - targets: ['localhost:9100']\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">PostgreSQL Exporter: \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n\n\n\n<p>\u0414\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 PostgreSQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f postgres_exporter:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'postgres'\n    static_configs:\n      - targets: ['localhost:9187']\n    metric_relabel_configs:\n      - source_labels: [__name__]\n        regex: 'pg_stat_database.*'\n        action: keep\n<\/code><\/pre>\n\n\n\n<p>\u041e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/li>\n\n\n\n<li>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432\/\u043e\u0442\u043a\u0430\u0442\u043e\u0432<\/li>\n\n\n\n<li>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438<\/li>\n\n\n\n<li>\u0418\u043d\u0434\u0435\u043a\u0441\u044b \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">cAdvisor: \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432<\/h2>\n\n\n\n<p>cAdvisor \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0438 Kubernetes:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'cadvisor'\n    static_configs:\n      - targets: ['localhost:8080']\n<\/code><\/pre>\n\n\n\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 CPU \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u043c<\/li>\n\n\n\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<\/li>\n\n\n\n<li>\u041e\u0431\u044a\u0435\u043c \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430<\/li>\n\n\n\n<li>\u0421\u0435\u0442\u0435\u0432\u0443\u044e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h2>\n\n\n\n<p>\u041a\u043e\u0433\u0434\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0435\u0442, Prometheus \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 1: \u0412\u0437\u0440\u044b\u0432 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<p>\u041a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u2014 \u044d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u043b\u0435\u0439\u0431\u043b\u043e\u0432. \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043b\u0435\u0439\u0431\u043b\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, user_id, request_id, transaction_id), \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0437\u043e\u0440\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n\n\n\n<p>\u0421\u0438\u043c\u043f\u0442\u043e\u043c\u044b: \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043e\u0448\u0438\u0431\u043a\u0438 &#171;query processing would load too many samples into memory&#187;.<\/p>\n\n\n\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435: \u0438\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043b\u0435\u0439\u0431\u043b\u043e\u0432. \u0412\u043c\u0435\u0441\u0442\u043e:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>requests_total{user_id=\"12345\", method=\"GET\"}\n<\/code><\/pre>\n\n\n\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>requests_total{service=\"api\", method=\"GET\"}\n<\/code><\/pre>\n\n\n\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 IDs \u043b\u0443\u0447\u0448\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0440\u0435\u0439\u0441\u0438\u043d\u0433, \u0430 \u043d\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 2: \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<\/h2>\n\n\n\n<p>Prometheus \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u044f\u0434\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0442\u0440\u0438\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c.<\/p>\n\n\n\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 relabel_configs \u0434\u043b\u044f \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>metric_relabel_configs:\n  - source_labels: [__name__]\n    regex: 'node_netstat_.*|node_vmstat_.*'\n    action: drop\n<\/code><\/pre>\n\n\n\n<p>\u0423\u043c\u0435\u043d\u044c\u0448\u0430\u0439\u0442\u0435 retention period:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code>.\/prometheus --storage.tsdb.retention.time=7d\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 3: \u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432<\/h2>\n\n\n\n<p>\u0414\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0438\u043b\u0438 \u0434\u0430\u0442\u0430\u0446\u0435\u043d\u0442\u0440\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f (federation):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'federate'\n    scrape_interval: 1m\n    scrape_timeout: 30s\n    honor_labels: true\n    metrics_path: '\/federate'\n    params:\n      'match[]':\n        - '{job=\"prometheus\"}'\n        - '{__name__=~\"job:.*\"}'\n    static_configs:\n      - targets:\n          - 'prometheus-dc1:9090'\n          - 'prometheus-dc2:9090'\n<\/code><\/pre>\n\n\n\n<p>\u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 Prometheus, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 Prometheus \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 4: Remote Storage \u0434\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f<\/h2>\n\n\n\n<p>Prometheus \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0430\u0442\u043a\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 15 \u0434\u043d\u0435\u0439). \u0414\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f remote storage:<\/p>\n\n\n\n<p>Thanos: \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0435 retention \u0438 downsampling<br>VictoriaMetrics: \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u0430\u044f TSDB \u0441 \u043b\u0443\u0447\u0448\u0435\u0439 \u0441\u0436\u0438\u043c\u0430\u0435\u043c\u043e\u0441\u0442\u044c\u044e<br>Cortex: \u043f\u043e\u043b\u043d\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>remote_write:\n  - url: http:\/\/victoriametrics:8428\/api\/v1\/write\n    queue_config:\n      capacity: 100000\n      max_shards: 100\n      max_samples_per_send: 10000\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Prometheus<\/h2>\n\n\n\n<p>\u041f\u0440\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 Prometheus \u0432 production \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n\n\n\n<p>Prometheus \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HTTPS \u0438 \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>global:\n  external_labels:\n    cluster: 'production'\n\nscrape_configs:\n  - job_name: 'secure-target'\n    scheme: https\n    tls_config:\n      ca_file: \/etc\/prometheus\/ca.crt\n      cert_file: \/etc\/prometheus\/client.crt\n      key_file: \/etc\/prometheus\/client.key\n    basic_auth:\n      username: 'prometheus'\n      password: 'secure-password'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n\n\n\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 external_labels \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043a \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>global:\n  external_labels:\n    environment: 'production'\n    cluster: 'main'\n    region: 'eu-west-1'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Access Control<\/h2>\n\n\n\n<p>\u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a Prometheus UI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 (nginx, Apache):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>location \/prometheus\/ {\n    auth_basic \"Prometheus\";\n    auth_basic_user_file \/etc\/nginx\/.htpasswd;\n    proxy_pass http:\/\/prometheus:9090\/;\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0432\u0435\u0442\u044b<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 scrape_interval<\/h2>\n\n\n\n<p>\u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 15-30 \u0441\u0435\u043a\u0443\u043d\u0434 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0441\u043b\u0443\u0447\u0430\u0435\u0432:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>scrape_configs:\n  - job_name: 'critical-services'\n    scrape_interval: 15s\n  \n  - job_name: 'infrastructure'\n    scrape_interval: 30s\n  \n  - job_name: 'batch-systems'\n    scrape_interval: 2m\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Recording Rules<\/h2>\n\n\n\n<p>\u041f\u0440\u0435\u0434\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0439\u0442\u0435 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>groups:\n  - name: optimization_rules\n    interval: 1m\n    rules:\n      - record: node:cpu_usage:sum_rate1m\n        expr: sum by (job) (rate(node_cpu_seconds_total[1m]))\n      \n      - record: instance:memory_usage_percent\n        expr: (1 - (node_memory_MemAvailable_bytes \/ node_memory_MemTotal_bytes)) * 100\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 TSDB<\/h2>\n\n\n\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b TSDB:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code>.\/prometheus \\\n  --storage.tsdb.retention.time=30d \\\n  --storage.tsdb.retention.size=50GB \\\n  --storage.tsdb.wal-compression=true \\\n  --storage.tsdb.min-block-duration=2h \\\n  --storage.tsdb.max-block-duration=2h\n<\/code><\/pre>\n\n\n\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>retention.time: \u043a\u0430\u043a \u0434\u043e\u043b\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435<\/li>\n\n\n\n<li>retention.size: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435<\/li>\n\n\n\n<li>wal-compression: \u0441\u0436\u0438\u043c\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 (\u0441\u043d\u0438\u0436\u0430\u0435\u0442 I\/O, \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 CPU)<\/li>\n\n\n\n<li>block-duration: \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u043e\u0432 (\u043c\u0435\u043d\u044c\u0448\u0435 = \u0447\u0430\u0449\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n\n\n\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u0447\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code># \u0425\u043e\u0440\u043e\u0448\u043e\nrate(http_requests_total{job=\"api\"}[5m])\n\n# \u041f\u043b\u043e\u0445\u043e (\u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043a\u0430\u043d)\nrate(http_requests_total{job=~\".*api.*\"}[5m])\n<\/code><\/pre>\n\n\n\n<p>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u043d\u0430 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u043e\u0432:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code># \u0425\u043e\u0440\u043e\u0448\u043e\nrate(http_requests_total[5m])\n\n# \u041f\u043b\u043e\u0445\u043e (\u043f\u043e\u043b\u043d\u044b\u0439 \u043c\u0435\u0441\u044f\u0446)\nrate(http_requests_total[30d])\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"grafana\">\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Grafana<\/h2>\n\n\n\n<p>Grafana \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 Prometheus. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 Data Source \u0432 Grafana, \u0443\u043a\u0430\u0437\u0430\u0432 URL Prometheus (\u043e\u0431\u044b\u0447\u043d\u043e\u00a0<a href=\"http:\/\/prometheus:9090\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/prometheus:9090<\/a>)<\/li>\n\n\n\n<li>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441 PromQL \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438<\/li>\n\n\n\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>{\n  \"templating\": {\n    \"list\": [\n      {\n        \"name\": \"job\",\n        \"type\": \"query\",\n        \"datasource\": \"Prometheus\",\n        \"query\": \"label_values(up, job)\"\n      },\n      {\n        \"name\": \"instance\",\n        \"type\": \"query\",\n        \"datasource\": \"Prometheus\",\n        \"query\": \"label_values(up{job=\\\"$job\\\"}, instance)\"\n      }\n    ]\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u0412 Grafana \u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: Node Exporter Full, PostgreSQL, Redis, Kubernetes \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0435: \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: Prometheus \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u043c\u044f\u0442\u0438<\/h2>\n\n\n\n<p>\u041f\u0440\u0438\u0447\u0438\u043d\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0412\u0437\u0440\u044b\u0432 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u2014 \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \/tsdb-status<\/li>\n\n\n\n<li>\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043b\u0438\u043d\u043d\u044b\u0439 retention period<\/li>\n\n\n\n<li>\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432<\/li>\n<\/ol>\n\n\n\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0423\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u0435 retention_time<\/li>\n\n\n\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 metric_relabel_configs \u0434\u043b\u044f \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043b\u0435\u0439\u0431\u043b\u044b \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u041c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n\n\n\n<p>\u041f\u0440\u0438\u0447\u0438\u043d\u044b:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/li>\n\n\n\n<li>\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u043d\u0430<\/li>\n\n\n\n<li>\u041d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/li>\n<\/ol>\n\n\n\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 recording rules \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/li>\n\n\n\n<li>\u0423\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d<\/li>\n\n\n\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 rate() \u0432\u043c\u0435\u0441\u0442\u043e irate() \u0434\u043b\u044f \u0441\u0433\u043b\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u041f\u043e\u0442\u0435\u0440\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435<\/h2>\n\n\n\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 remote_write \u0434\u043b\u044f \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>remote_write:\n  - url: http:\/\/backup-prometheus:9009\/api\/v1\/write\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0432\u0435\u0440\u0441\u0438\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/h2>\n\n\n\n<p>\u041b\u0443\u0447\u0448\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u2014 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0432 Git:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code><em># \u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c<\/em>\n.\/promtool check config prometheus.yml\n.\/promtool check rules rules\/*.yml\n\n<em># \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/em>\ncurl -X POST http:\/\/localhost:9090\/-\/reload\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"production\">\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0432 production: \u041f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">\u0428\u0430\u0433 1: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code><em># \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430<\/em>\nwget https:\/\/github.com\/prometheus\/prometheus\/releases\/download\/v2.47.0\/prometheus-2.47.0.linux-amd64.tar.gz\n\n<em># \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430<\/em>\ntar xvfz prometheus-2.47.0.linux-amd64.tar.gz\ncd prometheus-2.47.0.linux-amd64\n\n<em># \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 systemd \u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/em>\nsudo useradd --no-create-home --shell \/bin\/false prometheus\nsudo mkdir -p \/etc\/prometheus \/var\/lib\/prometheus\nsudo cp prometheus promtool \/usr\/local\/bin\/\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0428\u0430\u0433 2: \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code># \/etc\/prometheus\/prometheus.yml\nglobal:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n  external_labels:\n    environment: 'production'\n    cluster: 'main'\n\nrule_files:\n  - '\/etc\/prometheus\/rules\/*.yml'\n\nscrape_configs:\n  - job_name: 'prometheus'\n    static_configs:\n      - targets: ['localhost:9090']\n  \n  - job_name: 'nodes'\n    static_configs:\n      - targets: ['node1:9100', 'node2:9100']\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0428\u0430\u0433 3: \u0417\u0430\u043f\u0443\u0441\u043a \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code># \/etc\/systemd\/system\/prometheus.service\n[Unit]\nDescription=Prometheus\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nUser=prometheus\nGroup=prometheus\nType=simple\nExecStart=\/usr\/local\/bin\/prometheus \\\n  --config.file \/etc\/prometheus\/prometheus.yml \\\n  --storage.tsdb.path \/var\/lib\/prometheus \\\n  --storage.tsdb.retention.time=30d\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code>sudo systemctl daemon-reload\nsudo systemctl enable prometheus\nsudo systemctl start prometheus\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u0428\u0430\u0433 4: \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Alertmanager<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code># \/etc\/prometheus\/prometheus.yml\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets: ['localhost:9093']\n\nrule_files:\n  - '\/etc\/prometheus\/rules\/alerts.yml'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Prometheus<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">promtool<\/h2>\n\n\n\n<p>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code><em># \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/em>\npromtool check config prometheus.yml\n\n<em># \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u0430\u0432\u0438\u043b \u0430\u043b\u0435\u0440\u0442\u043e\u0432<\/em>\npromtool check rules rules\/alerts.yml\n\n<em># \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 PromQL<\/em>\npromtool query instant 'up{job=\"prometheus\"}'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">API Prometheus<\/h2>\n\n\n\n<p>Prometheus \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 HTTP API \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bash<code><em># \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/em>\ncurl 'http:\/\/localhost:9090\/api\/v1\/query?query=up'\n\n<em># \u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/em>\ncurl 'http:\/\/localhost:9090\/api\/v1\/query_range?query=up&amp;start=1677600000&amp;end=1677700000&amp;step=60'\n\n<em># \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/em>\ncurl 'http:\/\/localhost:9090\/api\/v1\/label\/__name__\/values'\n\n<em># \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043b\u0435\u0439\u0431\u043b\u0430<\/em>\ncurl 'http:\/\/localhost:9090\/api\/v1\/label\/job\/values'\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Prometheus<\/h2>\n\n\n\n<p>\u0414\u043b\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Go<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">go<code>import \"github.com\/prometheus\/client_golang\/prometheus\"\n\nhttpRequestsTotal := prometheus.NewCounterVec(\n    prometheus.CounterOpts{\n        Name: \"http_requests_total\",\n        Help: \"Total HTTP requests\",\n    },\n    []string{\"method\", \"endpoint\"},\n)\n\nhttpRequestsTotal.WithLabelValues(\"GET\", \"\/api\/users\").Inc()\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Python<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">python<code>from prometheus_client import Counter, Histogram\n\nrequests_total = Counter(\n    'http_requests_total',\n    'Total HTTP requests',\n    ['method', 'endpoint']\n)\n\nrequest_duration = Histogram(\n    'http_request_duration_seconds',\n    'HTTP request duration',\n    buckets=(0.01, 0.05, 0.1, 0.5, 1, 5)\n)\n\nrequests_total.labels(method='GET', endpoint='\/api').inc()\n\nwith request_duration.time():\n    <em># \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441<\/em>\n    pass\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Java<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">java<code>import io.prometheus.client.Counter;\nimport io.prometheus.client.Histogram;\n\nstatic final Counter requests = Counter.build()\n    .name(\"http_requests_total\")\n    .help(\"Total HTTP requests\")\n    .labelNames(\"method\", \"endpoint\")\n    .register();\n\nstatic final Histogram duration = Histogram.build()\n    .name(\"http_request_duration_seconds\")\n    .help(\"HTTP request duration\")\n    .register();\n\nrequests.labels(\"GET\", \"\/api\").inc();\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prometheus\">\u0427\u0435\u043a-\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Prometheus<\/h2>\n\n\n\n<p>\u041f\u0440\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043d\u0430 Prometheus \u0441\u043b\u0435\u0434\u0443\u0439\u0442\u0435 \u044d\u0442\u043e\u043c\u0443 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442\u0443:<\/p>\n\n\n\n<p>\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0432\u0441\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430<\/li>\n\n\n\n<li>\u00a0\u0421\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f \u043b\u0435\u0439\u0431\u043b\u043e\u0432<\/li>\n\n\n\n<li>\u00a0\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b SLO \u0438 SLA \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/li>\n\n\n\n<li>\u00a0\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c Prometheus<\/li>\n<\/ul>\n\n\n\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/li>\n\n\n\n<li>\u00a0\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/li>\n\n\n\n<li>\u00a0\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438<\/li>\n\n\n\n<li>\u00a0\u0418\u0437\u0431\u0435\u0433\u043d\u0443\u0442\u044b \u0432\u044b\u0441\u043e\u043a\u043e\u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043b\u0435\u0439\u0431\u043b\u044b<\/li>\n<\/ul>\n\n\n\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Prometheus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432\u0441\u0435 scrape_configs \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430\u043c\u0438<\/li>\n\n\n\n<li>\u00a0\u0421\u043e\u0437\u0434\u0430\u043d\u044b recording rules \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b alerting rules \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d Alertmanager \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439<\/li>\n\n\n\n<li>\u00a0\u0418\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435\u0440\u044b \u0434\u043b\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/li>\n<\/ul>\n\n\n\n<p>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0430\u043c\u043e\u0433\u043e Prometheus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0430\u043b\u0435\u0440\u0442\u044b \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0430\u043b\u0435\u0440\u0442\u044b \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0430\u043b\u0435\u0440\u0442\u044b \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0434\u0438\u0441\u043a\u043e\u043c<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0430\u043b\u0435\u0440\u0442\u044b \u043d\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0446\u0435\u043b\u0435\u0439 \u0441\u043a\u0440\u0435\u0439\u043f\u0438\u043d\u0433\u0430<\/li>\n<\/ul>\n\n\n\n<p>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Grafana:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d Prometheus \u043a\u0430\u043a Data Source<\/li>\n\n\n\n<li>\u00a0\u0421\u043e\u0437\u0434\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b<\/li>\n\n\n\n<li>\u00a0\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b \u0438\u0437 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432<\/li>\n<\/ul>\n\n\n\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u0430\u043b\u0435\u0440\u0442\u044b<\/li>\n\n\n\n<li>\u00a0\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/li>\n\n\n\n<li>\u00a0\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a<\/li>\n\n\n\n<li>\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/li>\n<\/ul>\n\n\n\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00a0\u0417\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/li>\n\n\n\n<li>\u00a0\u0417\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0430\u043b\u0435\u0440\u0442\u043e\u0432<\/li>\n\n\n\n<li>\u00a0\u0421\u043e\u0437\u0434\u0430\u043d\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u043d\u0435\u043f\u043e\u043b\u0430\u0434\u043e\u043a<\/li>\n\n\n\n<li>\u00a0\u0417\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n\n\n\n<p>Prometheus \u2014 \u043c\u043e\u0449\u043d\u0430\u044f \u0438 \u0433\u0438\u0431\u043a\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0430\u043b\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c \u0432 \u043c\u0438\u0440\u0435 cloud-native \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0415\u0435 \u0443\u0441\u043f\u0435\u0445 \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043c\u043e\u0449\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 PromQL.<\/p>\n\n\n\n<p>\u041d\u0430\u0447\u0430\u0432 \u0441 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043d\u043e \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0434\u043e \u0438\u0445 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<p>\u041a\u043b\u044e\u0447 \u043a \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e Prometheus \u2014 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a, \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435 \u043b\u043e\u0432\u0443\u0448\u0435\u043a \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u043c\u0435\u0440\u0435 \u0440\u043e\u0441\u0442\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b.<\/p>\n\n\n\n<p>\u041c\u0438\u0440 DevOps \u0438 SRE-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u043d\u043e \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Prometheus, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u043c \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435: \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Prometheus \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043c\u0438\u0440\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u043c. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e: \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0437\u0430\u043c\u0435\u0447\u0430\u044e\u0442 \u044d\u0442\u043e \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0432\u044b. \u0418\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"\u041f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 Prometheus: \u043e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f","jetpack_seo_html_title":"\u041f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 Prometheus: \u043e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-2220","post","type-post","status-publish","format-standard","hentry","category-6"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=\/wp\/v2\/posts\/2220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2220"}],"version-history":[{"count":1,"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=\/wp\/v2\/posts\/2220\/revisions"}],"predecessor-version":[{"id":2221,"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=\/wp\/v2\/posts\/2220\/revisions\/2221"}],"wp:attachment":[{"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gerdlezhev.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}