{"id":339835,"date":"2022-10-17T15:00:30","date_gmt":"2022-10-17T15:00:30","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=339835"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=339835","title":{"rendered":"<span>\u0427\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u043f\u0440\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0438 4: PromQL<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/139\/50e\/aa3\/13950eaa36b0a29dc6d313daa5892d4f.png\" width=\"1600\" height=\"900\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/139\/50e\/aa3\/13950eaa36b0a29dc6d313daa5892d4f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f, \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0412 <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/683608\/\">\u043f\u0435\u0440\u0432\u043e\u0439<\/a> \u2014 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u2014 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u0447\u0435\u043c \u043e\u043d\u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043b\u043e\u0433\u043e\u0432, \u0438 \u043a\u0430\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0440\u0435\u0448\u0430\u044e\u0442. \u0412\u043e <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/685636\/\">\u0432\u0442\u043e\u0440\u043e\u0439<\/a> \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u043c\u0435\u0442\u0440\u0438\u043a. \u0412 <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/690814\/\">\u0442\u0440\u0435\u0442\u044c\u0435\u0439<\/a> \u2014 \u0441 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c\u0438. \u0422\u0435\u043f\u0435\u0440\u044c, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0438! \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u043d\u043e.<\/p>\n<p>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0430:<\/p>\n<ol>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/683608\/\">\u041f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u043e\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/685636\/\">Prometheus<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/690814\/\">\u041f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438 \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p>PromQL<\/p>\n<\/li>\n<\/ol>\n<hr\/>\n<blockquote>\n<p><strong>\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0434\u0435\u0440\u0436\u0438\u043c \u0432 \u0443\u043c\u0435:<\/strong> \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043d\u0435 \u043f\u0440\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0430 \u043f\u0440\u043e \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0438 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0435\u0439, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u0440\u044f\u044e\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0438 \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0435, \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438, \u0440\u0430\u0437\u043d\u044b\u0435 corner cases. \u0417\u0430 \u0432\u0441\u0435\u043c \u043d\u0435 \u0443\u0441\u043b\u0435\u0434\u0438\u0448\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 100% \u0442\u043e\u0447\u043d\u044b\u0435. \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0431\u0438\u043b\u043b\u0438\u043d\u0433\u0430, \u0430 \u0432\u043e\u0442 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u2014 \u0432\u043f\u043e\u043b\u043d\u0435.<\/p>\n<\/blockquote>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u043d\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0440\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0439 Prometheus, \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0430\u0436\u0435 \u00ab\u043d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435\u00bb, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0442\u0443\u0434\u0430 \u0441\u0432\u043e\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/p>\n<p>\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0435\u0433\u043e \u0440\u043e\u0434\u043d\u044b\u043c \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c. \u042d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0438\u0437 \u0411\u0414, \u0438  \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c Grafana, \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043d\u0435\u0439: \u0442\u0430\u043c \u0435\u0441\u0442\u044c Query Inspector, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b\/\u043e\u0442\u0432\u0435\u0442\u044b. \u041d\u043e Grafana \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0442\u043e\u0440\u043c\u043e\u0437\u043e\u0432 \u0438 \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043b\u0443\u0447\u0448\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u043d\u0435\u0435. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0432 devops-\u0433\u0430\u0439\u0434 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u0437\u0430 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438, \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 docker-compose.<\/p>\n<h2>\u0417\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n<p>\u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439, \u0447\u0442\u043e Prometheus \u2014 \u044d\u0442\u043e Time Series Database, \u0438 \u0432 \u043d\u0435\u043c \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0435 \u0440\u044f\u0434\u044b. \u041a\u0430\u0436\u0434\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u2014 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430. \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043b\u0435\u0439\u0431\u043b\u043e\u0432, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u043e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438: <code>[(day1, t1), (day2, t2), ...]<\/code>. \u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043c\u043e\u0433\u0443\u0442:<\/p>\n<ul>\n<li>\n<p>\u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0437\u0430 \u043d\u0443\u0436\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f<\/p>\n<\/li>\n<li>\n<p>\u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441\u0440\u0430\u0437\u0443 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0440\u044f\u0434\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0434 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e, \u0447\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a, \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434: \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438 \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u0438\u0439, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0445 \u0440\u044f\u0434\u043e\u0432. \u0422\u043e\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h2>\n<h3>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441<\/h3>\n<pre><code class=\"bash\">http_requests_total<\/code><\/pre>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0433\u043e \u0438\u043b\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0432 \u0441\u0432\u043e\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0434\u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u0432\u0441\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u2013 <code>http_requests_total<\/code>, <strong>\u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043b\u0435\u0439\u0431\u043b\u044b<\/strong>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 <code>verb<\/code> \u0438\u043b\u0438 <code>url<\/code>. \u0412 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u044f\u0432\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0437\u0430 <strong>\u043e\u0434\u0438\u043d timestamp<\/strong>. \u041e\u0442\u0432\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p>\u043e\u0434\u0438\u043d timestamp;<\/p>\n<\/li>\n<li>\n<p>\u043b\u0435\u0439\u0431\u043b\u044b \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u0440\u044f\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043f\u0430\u043b \u043f\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441;<\/p>\n<\/li>\n<li>\n<p>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043b\u0435\u0439\u0431\u043b\u044b \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u044f\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043f\u043e\u043f\u0430\u043b \u043f\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441;<\/p>\n<\/li>\n<li>\n<p>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0432 \u044d\u0442\u043e\u0442 \u0436\u0435 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438;<\/p>\n<\/li>\n<li>\n<p>\u2026\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u044f\u0434\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <strong>instant vector<\/strong>, \u043f\u0440\u043e \u043d\u0435\u0433\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0447\u0443\u0442\u044c \u043d\u0438\u0436\u0435.<\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u2014 \u043d\u0435 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0430\u0445\u0430\u0440. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0435\u0439\u0431\u043b \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <code>__name__<\/code>. \u0412\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435:<\/p>\n<pre><code class=\"bash\">{__name__=\"http_requests_total\"}<\/code><\/pre>\n<h3>\u0414\u043e\u0441\u0442\u0430\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438<\/h3>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f \u043e\u0442\u0432\u0435\u0442\u0430 \u2014 instant vector.<\/p>\n<pre><code class=\"bash\">http_requests_total{job=\"prometheus\",group=\"canary\"}<\/code><\/pre>\n<h3>\u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438<\/h3>\n<p>\u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440: \u0434\u043e\u0441\u0442\u0430\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438, \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u0437\u0430 1 \u043c\u0438\u043d\u0443\u0442\u0443. \u041e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u2014 <strong>range vector<\/strong>. \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0437\u0432\u0435\u0440\u044c \u0438 \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u043d\u043e \u2013 \u0441\u043c. \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"bash\">http_requests_total{job=\"prometheus\",group=\"canary\"}[1m]<\/code><\/pre>\n<h2>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u0442\u0438\u043f\u044b<\/h2>\n<p>\u0418\u0445 \u0432\u0441\u0435\u0433\u043e \u0434\u0432\u0430:<\/p>\n<ul>\n<li>\n<p>\u0421\u0442\u0440\u043e\u043a\u0438 \u2014 \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043b\u0435\u0439\u0431\u043b\u044b \u0438 \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0438\u0441\u043b\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e double, \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0442.<\/p>\n<h2>\u0422\u0438\u043f\u044b \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 API<\/h2>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0434\u0432\u0430 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0442\u0438\u043f\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0442\u043e\u0436\u0435 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: instant vector \u0438 range vector. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043b\u0435\u0433\u0447\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. \u0415\u0449\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e \u0442\u0438\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 API \u043c\u0435\u0436\u0434\u0443 Prometheus \u0438 Grafana: vector \u0438 matrix, \u0438 \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f.<\/p>\n<h2>\u0422\u0438\u043f instant vector<\/h2>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/008\/c15\/a92\/008c15a92242a4dd47b34f06c56f14a8.png\" width=\"1600\" height=\"900\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/008\/c15\/a92\/008c15a92242a4dd47b34f06c56f14a8.png\"\/><figcaption><\/figcaption><\/figure>\n<p><strong>\u041c\u0430\u0441\u0441\u0438\u0432<\/strong> \u0438\u0437 key-value, \u0433\u0434\u0435 key \u2013 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438, \u0430 value \u2014 <strong>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/strong>. \u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u0440\u0438\u0441\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0434\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u044d\u0442\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 (\u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c).<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a\u0430\u044f \u043c\u0430\u0442\u0440\u0435\u0448\u043a\u0430? \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0445 \u0440\u044f\u0434\u043e\u0432. \u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043e\u0434\u043d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u043e\u0432 \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u044f\u0434\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 instant vector-\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440\u043e\u043c key-value, \u0433\u0434\u0435 \u043a\u043b\u044e\u0447 \u2014 \u044d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u044f\u0434\u0430 (\u0438\u043c\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u0432\u0441\u0435 \u043b\u0435\u0439\u0431\u043b\u044b), \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0440\u044f\u0434 \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e.<\/p>\n<p>\u041e\u0434\u0438\u043d instant vector \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043e\u0434\u043d\u043e\u043c\u0443 timestamp. \u0427\u0442\u043e\u0431\u044b \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 (\u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435) \u2014 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0448\u0430\u0433, \u0430 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440\u044b instant vector-\u043e\u0432, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0435 \u043f\u043e\u0434 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d. \u0418 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 Prometheus, \u0438 \u0432 Grafana, \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u044c. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u043c \u2014 \u0435\u0441\u043b\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 timestamp \u043d\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0411\u0414, \u0442\u043e Prometheus \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 timestamp \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043c\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0430\u0434, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 5 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u0440<\/h3>\n<p>\u041a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u0435 \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0438 \u0432 \u0431\u0430\u0437\u0443 \u043a\u0430\u0436\u0434\u044b\u0435 30 \u0441\u0435\u043a\u0443\u043d\u0434, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 <code>http_requests_total<\/code> \u0441 \u0434\u0432\u0443\u0445 \u0440\u0435\u043f\u043b\u0438\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"485\" width=\"485\">\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0430 (\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434)<\/p>\n<\/th>\n<th data-colwidth=\"119\" width=\"119\">\n<p>\u0412\u0440\u0435\u043c\u044f (unix timestamp)<\/p>\n<\/th>\n<th>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (double)<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973760<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973760<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973790<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973790<\/p>\n<\/td>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973820<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973820<\/p>\n<\/td>\n<td>\n<p align=\"left\">10<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <code>http_requests_total{instance=\"app1\"}<\/code> \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1615973790 \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c instant vector \u0441 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u043e\u0439, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e value = <code>(1615973790, 3)<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <code>http_requests_total<\/code> \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1615973760 \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c instant vector \u0441 \u0434\u0432\u0443\u043c\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0435 value: <code>(1615973760, 1)<\/code> \u0438 <code>(1615973760, 4)<\/code> \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0435\u0433\u0438, <code>app1<\/code> \u0438 <code>app2<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <code>http_requests_total{instance=\"app1\"}<\/code> \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1615973795 \u2014 \u0442\u0430\u043a\u043e\u0433\u043e timestamp \u0432 \u0431\u0430\u0437\u0435 \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e, \u0442\u043e \u0435\u0441\u0442\u044c \u0441 timestamp 1615973790, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u043a \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u043e \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 instant vector \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u0436\u0435.<\/p>\n<h3>\u0421\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u044b instant vetcor-\u043e\u0432<\/h3>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u043b\u0435\u0439\u0431\u043b\u044b \u043c\u043e\u0436\u043d\u043e \u043c\u0430\u0442\u0447\u0438\u0442\u044c \u043f\u043e \u0440\u0430\u0432\u043d\u043e\/\u043d\u0435\u0440\u0430\u0432\u043d\u043e \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0430\u043c\u0438, \u043f\u043e\u0434\u043e\u0448\u043b\u043e\/\u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u043e. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b: <code>=  !=  =~  !~<\/code><\/p>\n<pre><code class=\"bash\">http_requests_total{environment=~\"staging|testing|(dev.*)\", method!=\"GET\"}<\/code><\/pre>\n<h2>\u0422\u0438\u043f range vector<\/h2>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5a6\/a87\/196\/5a6a87196486ff80de4406f721aed2d4.png\" width=\"1600\" height=\"900\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5a6\/a87\/196\/5a6a87196486ff80de4406f721aed2d4.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0423\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435: \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 key-value, \u0433\u0434\u0435 key \u2013 \u043c\u0435\u0442\u0440\u0438\u043a\u0430, \u0430 value \u2013 <strong>\u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 + \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 [\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0437\u0430 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b]<\/strong>. \u0411\u0435\u0437 \u043f\u0430\u043d\u0438\u043a\u0438, \u043d\u0438\u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0438 \u0432\u0441\u0435 \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u043e. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 instant vector \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u043c value. \u041f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e\u0447\u0435\u043c\u0443 \u0435\u0441\u0442\u044c key, \u0432\u0441\u0435 \u0442\u0430 \u0436\u0435: \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438.<\/p>\n<p>\u0422\u0430\u043a \u0432\u043e\u0442, \u043f\u0440\u043e \u0442\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 value \u0437\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u043e\u0439 \u0445\u0438\u0442\u0440\u044b\u0439&#8230;<\/p>\n<h3>\u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f?<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0435\u0449\u0435 \u043d\u0435 \u0443\u0431\u0435\u0436\u0430\u043b\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f <strong>\u043f\u043e-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u043c\u0443<\/strong>, \u0431\u0435\u0437 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0430\u043d\u0430. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u044d\u0442\u043e \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430:<\/p>\n<pre><code class=\"python\">( f(x+0.1) - f(x) ) \/ 0.1<\/code><\/pre>\n<p>\u0427\u0438\u0441\u043b\u043e <code>0.1<\/code> \u0437\u0434\u0435\u0441\u044c \u2014 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u0430\u043b\u044b\u0439 \u0448\u0430\u0433. \u0424\u043e\u0440\u043c\u0443\u043b\u0430 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>f()<\/code>, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0441\u0434\u0432\u0438\u043d\u0435\u043c <code>x<\/code>. \u0414\u0435\u043b\u0438\u0442\u044c \u043d\u0430 <code>0.1<\/code> \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0448\u0442\u0443\u043a\u043e\u0439: \u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u043a\u0430\u043a\u043e\u0439 \u0448\u0430\u0433 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u2014 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u043b\u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>f()<\/code> \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u0442\u043e \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c.<\/p>\n<blockquote>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e, \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/blockquote>\n<p>\u041c\u043e\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0447\u0438\u0442\u0435\u0440\u0438\u0442\u044c \u0438 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e \u043d\u0435 \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <code>(x, x+0.1)<\/code>, \u0430 \u0434\u043b\u044f <code>(x-0.1, x)<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f <strong>\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e<\/strong>. \u0415\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c <strong>\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e<\/strong> \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u2014 \u0435\u0449\u0435 \u043b\u0443\u0447\u0448\u0435. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0445\u0438\u0442\u0440\u0435\u0435 \u0438 \u0435\u0449\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044e\/\u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u044f\u0446\u0438\u044e. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0438\u043c\u0435\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <code>[f(x), f(x-0.1), f(x-0.2), f(x-0.3), ...]<\/code>.<\/p>\n<p>\u0412\u043e\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0443\u0436\u0435\u043d <strong>range vector<\/strong>: \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 <code>x<\/code> \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0442\u043e\u0447\u043a\u0443 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442: <code>f(x)<\/code>, \u0438 \u0435\u0449\u0435 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u043c \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435 \u0438 \u0431\u0435\u0440\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u043e\u0447\u0435\u043a: <code>[f(x-30s), f(x-60s), f(x-90s), ...]<\/code>. 30 \u0441\u0435\u043a\u0443\u043d\u0434 \u0437\u0434\u0435\u0441\u044c \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e Prometheus \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c, \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442.<\/p>\n<blockquote>\n<p>Range vector \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439: \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u00ab\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0437\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u00bb, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>delta<\/code>, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<\/blockquote>\n<h3>\u0421\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u044b range vector-\u043e\u0432<\/h3>\n<p>\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 ranve vector? \u0422\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<pre><code class=\"bash\">http_requests_total{job=\"prometheus\"}[5m]<\/code><\/pre>\n<p>\u041d\u0430 \u0447\u0442\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u0447\u0438\u0441\u043b\u043e \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445: \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u0441\u043c\u044b\u0441\u043b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0442\u044e\u043d\u0438\u0442\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u00ab\u0441\u0433\u043b\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f\u00bb \u0438\u043b\u0438 \u00ab\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u00bb (\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c).<\/p>\n<ul>\n<li>\n<p>\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u2014 \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0430\u0434\u043a\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u0438\u0434\u043d\u043e \u0442\u0440\u0435\u043d\u0434 (\u043e\u0431\u0449\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443);<\/p>\n<\/li>\n<li>\n<p>\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u2014 \u0431\u043e\u043b\u0435\u0435 \u0448\u0443\u043c\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u0438\u0434\u043d\u043e \u043f\u0438\u043a\u0438 \u0438 \u0440\u0435\u0437\u043a\u0438\u0435 \u0441\u043a\u0430\u0447\u043a\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0438 \u043d\u0435 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u043b\u0438 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u2014 \u043d\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>Range vector \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a (\u0441\u043c. \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0438\u0436\u0435 \u2014 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c). \u0415\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c instant vector, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0436\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0438\u0441\u0443\u0435\u0442\u0441\u044f. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u0438 \u043d\u0443\u0436\u0435\u043d \u2014 \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432\u0441\u044f\u043a\u0438\u0435 \u043d\u0430\u0432\u043e\u0440\u043e\u0447\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0443\u0436\u043d\u044b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0447\u043a\u0438 \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u043e \u0438 \u00ab\u0432\u0437\u0433\u043b\u044f\u0434 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435\u00bb \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u043e\u0447\u043a\u0435, \u0447\u0442\u043e\u0431\u044b \u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e, \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0435\u043b\u044c\u0442\u0443 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435. \u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0438\u0445 \u044e\u0437\u043a\u0435\u0439\u0441\u044b \u0431\u0443\u0434\u0443\u0442 \u043d\u0438\u0436\u0435, \u0430 \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u044c range vector \u0438\u0437 \u0431\u0430\u0437\u044b.<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u0440<\/h3>\n<p>\u041e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0448\u0435 (\u043f\u0440\u043e instant vector), \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u0430\u043a\u043e\u0439: <code>http_requests_total{instance=\"app1\"}[1m]<\/code>. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c\u0441\u044f, \u043e\u043d \u0432\u0435\u0440\u043d\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"213\" width=\"213\">\n<p>\u0412\u0440\u0435\u043c\u044f (unix timestamp)<\/p>\n<\/th>\n<th data-colwidth=\"179\" width=\"179\">\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (double)<\/p>\n<\/th>\n<th>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430 1 \u043c\u0438\u043d\u0443\u0442\u0443<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"213\" width=\"213\">\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td data-colwidth=\"179\" width=\"179\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"213\" width=\"213\">\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td data-colwidth=\"179\" width=\"179\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"213\" width=\"213\">\n<p align=\"left\">1615973760<\/p>\n<\/td>\n<td data-colwidth=\"179\" width=\"179\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0, 0]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"213\" width=\"213\">\n<p align=\"left\">1615973790<\/p>\n<\/td>\n<td data-colwidth=\"179\" width=\"179\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0, 1]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"213\" width=\"213\">\n<p align=\"left\">1615973820<\/p>\n<\/td>\n<td data-colwidth=\"179\" width=\"179\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[1, 3]<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b:<\/p>\n<p><code>http_requests_total{instance=\"app1\"}[2m]<\/code>.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"209\" width=\"209\">\n<p>\u0412\u0440\u0435\u043c\u044f (unix timestamp)<\/p>\n<\/th>\n<th data-colwidth=\"183\" width=\"183\">\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (double)<\/p>\n<\/th>\n<th>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430 2 \u043c\u0438\u043d\u0443\u0442\u044b<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td data-colwidth=\"183\" width=\"183\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td data-colwidth=\"183\" width=\"183\">\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">1615973760<\/p>\n<\/td>\n<td data-colwidth=\"183\" width=\"183\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0, 0]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">1615973790<\/p>\n<\/td>\n<td data-colwidth=\"183\" width=\"183\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0, 0, 1]<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">1615973820<\/p>\n<\/td>\n<td data-colwidth=\"183\" width=\"183\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>[0, 0, 1, 3]<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0432\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430: \u043b\u043e\u0433\u0438\u043a\u0430 \u0442\u0430 \u0436\u0435, \u0447\u0442\u043e \u0438 \u0440\u0430\u043d\u044c\u0448\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u2014 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<h3>\u0412\u044b\u0431\u043e\u0440 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430<\/h3>\n<p>\u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<ul>\n<li>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0440\u0443\u043a\u0430\u043c\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432: \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0433\u043b\u0430\u0436\u0435\u043d\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0446\u0435\u043b\u043e\u043c \u2014 \u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00ab\u0441\u043a\u0430\u0447\u0435\u0442\u00bb \u2014 \u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 1 \u043c\u0438\u043d\u0443\u0442\u044b (<code>2*scrape_interval<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443 \u043d\u0430\u0441 30 \u0441\u0435\u043a\u0443\u043d\u0434).<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u0432 Grafana, \u0432\u0430\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <code>$__rate_interval<\/code> (\u0438 \u043d\u0438 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 <code>$__interval<\/code>).<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0443 \u0432\u0430\u0441 \u0432\u043c\u0435\u0441\u0442\u043e Prometheus \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Clickhouse, \u0438\u0437-\u0437\u0430 \u0431\u0430\u0433\u0430 \u0432 \u043f\u0430\u0440\u0441\u0435\u0440\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a\u043b\u0438\u043a\u0445\u0430\u0443\u0441\u0430, \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0430\u043d\u043e\u0432\u0441\u043a\u0438\u0435 \u0443\u043c\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u044d\u0442\u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u044b, \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f, \u0443\u0436\u0435 \u0441 \u043f\u0440\u0438\u0446\u0435\u043b\u043e\u043c \u043d\u0430 Grafana \u0438 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0438\u0437 \u043d\u0435\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0431\u0435\u0437 \u0434\u0435\u0442\u0430\u043b\u0435\u0439.<\/p>\n<h2>\u0422\u0438\u043f\u044b \u0432 API<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Prometheus, \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0442\u0440\u0430\u0444\u0438\u043a (\u0432 Devtools \u043f\u043e F12, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440), \u0442\u043e \u043c\u043e\u0436\u043d\u043e <s>\u043e\u0444\u0438\u0433\u0435\u0442\u044c<\/s> \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0449\u044c: \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f <code>vector<\/code> \u0438 <code>matrix<\/code>. \u0410 \u0435\u0449\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0430\u0445 <code>Table<\/code> \u0438 <code>Graph<\/code> \u0441 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0445\u043e\u0434\u044f\u0442 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 URL\u044b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b!<\/p>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043a \u0447\u0435\u043c\u0443, \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445. \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0432\u043e\u0435\u0433\u043e Prometheus-\u0430, \u0438 \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 4 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u0430\u0448\u0438\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0442\u0440\u0438\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0432\u0435\u0442\u044b \u0431\u044b\u043b\u0438 \u043d\u0435\u043f\u0443\u0441\u0442\u044b\u043c\u0438.<\/p>\n<ul>\n<li>\n<p>Table, \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>http_requests_total{instance=\"app1\"}<\/code>.<\/p>\n<\/li>\n<li>\n<p>Table, \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445, \u043f\u043e \u0442\u043e\u0439 \u0436\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>http_requests_total{instance=\"app1\"}[1m]<\/code>.<\/p>\n<\/li>\n<li>\n<p>Graph \u0441 \u0442\u0435\u043c \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>Graph \u0441 \u0442\u0435\u043c \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 (\u0434\u0430, \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430, \u0442\u0430\u043a \u0438 \u043d\u0443\u0436\u043d\u043e).<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c <code>Execute<\/code> \u0443 \u044d\u0442\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 Devtools, \u0447\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f. <em>\u041b\u0443\u0447\u0448\u0435 \u0442\u0430\u043a, \u0447\u0435\u043c \u043a\u0438\u043b\u043e\u043c\u0435\u0442\u0440\u043e\u0432\u044b\u0435 json-\u044b, \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u044e <s>\u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0438\u0445 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0442\u044c<\/s>.<\/em><\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f:<\/p>\n<h3>\u041c\u0435\u0442\u0440\u0438\u043a\u0430<\/h3>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441 <code>http_requests_total{instance=\"app1\"}<\/code> \u0438\u0437 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 Table \u2014 \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 instant vector-\u0430. \u0412 json \u043d\u0430\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f <code>vector<\/code>. \u0412 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f <code>time<\/code> \u2014 \u043c\u044b \u043f\u0440\u043e\u0441\u0438\u043c instant vector \u043d\u0430 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h3>\u041c\u0430\u0442\u0440\u0438\u0446\u0430<\/h3>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441 <code>http_requests_total{instance=\"app1\"}[1m]<\/code> \u0438\u0437 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 Table \u2014 \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 range vector-\u0430. \u0412 json \u043d\u0430\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f <code>matrix<\/code>. \u0412 \u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u0435\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u043e\u0441\u044c <code>time<\/code>. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u043d\u0430 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u2014 \u0432\u044b\u0448\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043b\u0438, \u0447\u0442\u043e value \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0438\u0437 \u0442\u043e\u0447\u043a\u0438 \u0438 [\u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0442\u043e\u0447\u0435\u043a]. \u041d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u00ab\u0442\u0435\u043a\u0443\u0449\u0443\u044e\u00bb \u0442\u043e\u0447\u043a\u0443 \u043a \u043d\u0430\u0447\u0430\u043b\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043c\u0435\u0441\u0442\u043e <code>(1,[2,3,4])<\/code> Prometheus \u0434\u0435\u043b\u0430\u0435\u0442 <code>[1,2,3,4]<\/code>.<\/p>\n<h3>\u0413\u0440\u0430\u0444\u0438\u043a<\/h3>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441 <code>http_requests_total{instance=\"app1\"}<\/code>, \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043a\u0430\u043a \u0438 \u043f\u0435\u0440\u0432\u044b\u0439, \u043d\u043e \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 <strong>Graph<\/strong>. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442 \u0442\u0438\u043f\u0430 <code>matrix<\/code>! \u041f\u043e\u0447\u0435\u043c\u0443?<\/p>\n<p>\u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 instant vector \u043d\u0435 \u043d\u0430\u0440\u0438\u0441\u0443\u0435\u0448\u044c \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u043e\u0447\u043a\u0430 \u0432 <strong>\u043e\u0434\u0438\u043d<\/strong> \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0447\u0435\u043a, \u0435\u0441\u043b\u0438 \u0432\u0435\u0440\u043d\u0443\u043b\u0438\u0441\u044c \u0440\u044f\u0434\u044b \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438). \u0410 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0442\u043e\u0447\u0435\u043a \u0437\u0430 <strong>\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d<\/strong>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 <code>time<\/code>, \u0430 <code>start, end, step<\/code>. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 key-value \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0434\u043d\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u0440\u0438\u043a, \u043d\u043e \u0432 value \u0443\u0436\u0435 \u043b\u0435\u0436\u0438\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u0440\u043e\u0434\u0435 <code>[(timestamp1, 1), (timestamp2, 10), ...]<\/code> \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041f\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043e\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0442\u0430\u043a\u0438\u043c \u0436\u0435, \u043a\u0430\u043a \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 range vector-\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0438\u043f \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435, <code>matrix<\/code>.<\/p>\n<h3>\u041e\u0448\u0438\u0431\u043a\u0430<\/h3>\n<p>\u0410 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442, \u0435\u0441\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c <strong>\u0433\u0440\u0430\u0444\u0438\u043a<\/strong> \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 range vector-\u0430? \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u0437\u044f\u0442\u044c <code>http_requests_total{instance=\"app1\"}[1m]<\/code> \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 <code>Graph<\/code>? \u041c\u0430\u0442\u0440\u0438\u0446\u0430 \u043c\u0430\u0442\u0440\u0438\u0446? \u0422\u0440\u0435\u0445\u043c\u0435\u0440\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a? \u0411\u044b\u043b\u043e \u0431\u044b \u043f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e, \u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0443: range vector \u043d\u0435\u043b\u044c\u0437\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0437\u0430 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0438 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0431\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0435\u043c \u0432\u043b\u0435\u0437\u0430\u0435\u0442 \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e \u0441\u0443\u0442\u0438 \u0438 \u0435\u0441\u0442\u044c 2D-\u0433\u0440\u0430\u0444\u0438\u043a.<\/p>\n<hr\/>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Grafana, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0435\u0449\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441 \u0435\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u2014 \u043d\u043e \u044d\u0442\u043e \u0442\u0435\u043c\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<h2>Offset<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0437\u0430\u0434, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u043f\u0440\u043e\u0448\u043b\u044b\u043c \u0434\u043d\u0435\u043c.<\/p>\n<pre><code class=\"bash\">http_requests_total offset 1d<\/code><\/pre>\n<h2>\u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n<p>\u0422\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e, \u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c. \u042d\u0442\u043e \u0443\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b.<\/p>\n<h2>OR<\/h2>\n<p>\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u00ab\u0418\u041b\u0418\u00bb \u043d\u0430\u0434 \u043e\u0434\u043d\u0438\u043c \u0442\u0435\u0433\u043e\u043c \u043a\u043e\u0441\u0442\u044b\u043b\u0438\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<\/p>\n<pre><code class=\"bash\">http_requests_total{app=~\"apache|nginx|iis.*\"}<\/code><\/pre>\n<h2>AND<\/h2>\n<p>\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u00ab\u0418\u00bb \u043d\u0430\u0434 \u043e\u0434\u043d\u0438\u043c \u0442\u0435\u0433\u043e\u043c \u043a\u043e\u0441\u0442\u044b\u043b\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0435\u0433 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438.<\/p>\n<pre><code class=\"bash\"># \u043d\u0430\u0439\u0434\u0435\u0442 \u0432\u0441\u0435 tag, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430 aaa \u0418 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430 bbb metric{tag=~\"aaa.*\", tag=~\".*bbb\"}<\/code><\/pre>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0439 \u0444\u0438\u0447\u0438 \u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u043e\u0439\u0442\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 (\u0433\u0440\u0430\u0431\u043b\u0438 \u0441 \u0436\u0430\u0434\u043d\u043e\u0441\u0442\u044c\u044e\/\u043d\u0435\u0436\u0430\u0434\u043d\u043e\u0441\u0442\u044c\u044e).<\/p>\n<h2>JOIN<\/h2>\n<p>\u0412 PromQL \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u0434\u043e\u0431\u0438\u0435 join-\u043e\u0432: 1-to-1, 1-to-N, N-to-1, \u043d\u043e \u0441 \u0445\u043e\u0434\u0443 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a \u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f: \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/operators\/#vector-matching\">vector matching<\/a> \u0438 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u0445\u043e\u0442\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0442\u0430\u0449\u0438\u0442\u044c \u0441\u044e\u0434\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0438 \u0434\u0430\u0436\u0435 \u043e\u0434\u0438\u043d \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u0438\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/p>\n<h2>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438<\/h2>\n<blockquote>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <strong>instant vectors<\/strong><\/p>\n<\/blockquote>\n<p>\u041e\u0431\u044b\u0447\u043d\u0430\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0438 \u043b\u043e\u0433\u0438\u043a\u0430. \u041e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438, \u0442.\u0435. \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u044c \u0434\u0432\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u0430, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u0447\u0438\u0441\u043b\u043e\u043c \u0438 \u0442.\u0434.<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u043d\u043e\u0436\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 10 \u0438 \u0432\u0435\u0440\u043d\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u044b 50:<\/p>\n<pre><code class=\"bash\">metric{tag=\"value\"} * 10 >= 50<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0435\u0440\u043d\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0442\u0435\u0433\u043e\u0432 \u0432 \u043e\u0431\u043e\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445:<\/p>\n<pre><code class=\"bash\">metric1 and metric2{tag=\"something\"}<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0435\u0440\u043d\u0435\u0442 \u0440\u0430\u0437\u043d\u0438\u0446\u0443. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043a\u043e\u043b\u044c\u043a\u043e RAM \u0437\u0430\u043d\u044f\u0442\u043e:<\/p>\n<pre><code class=\"bash\">total_ram{instance=\"host\"} - free_ram{instance=\"host\"}<\/code><\/pre>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e <code>or<\/code> (\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435) \u0438 <code>unless<\/code> (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435).<\/p>\n<h2>\u0410\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f<\/h2>\n<blockquote>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <strong>instant vectors<\/strong><\/p>\n<\/blockquote>\n<p>\u0415\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 <code>GROUP BY<\/code>. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n<pre><code class=\"bash\">http_requests_total{app=\"nginx\"} http_requests_total{app=\"apache\"}<\/code><\/pre>\n<p>\u042d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0435 \u0440\u044f\u0434\u044b, \u0438 \u0435\u0441\u043b\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u00ab\u0432 \u043b\u043e\u0431\u00bb \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c <code>http_requests_total<\/code>, \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0434\u0432\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u043b\u0438\u043d\u0438\u0438. \u0415\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0438\u0445 \u0432 \u043e\u0434\u0438\u043d \u0433\u0440\u0430\u0444\u0438\u043a, \u043d\u0443\u0436\u043d\u0430 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0443\u043c\u043c\u0430:<\/p>\n<pre><code class=\"bash\">sum(http_requests_total)<\/code><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u043e\u0434\u0438\u043d \u0432\u0435\u043a\u0442\u043e\u0440, \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u0433\u0440\u0430\u0444\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u0438\u043d. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0441\u0443\u043c\u043c\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432\u0441\u0435\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0445 \u043f\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441 \u043a\u0443\u0447\u0435\u0439 \u0442\u0435\u0433\u043e\u0432, \u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0442\u0435\u0433\u0430\u043c. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0433\u0440\u0443\u043f\u043f\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u0442\u0435\u0433\u0430\u043c\u0438 <code>app, instance, datacenter, region<\/code>. \u0412\u044b\u0432\u0435\u0434\u0435\u043c  \u043f\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0443 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 <code>app+instance<\/code>, \u043f\u0440\u043e\u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0432 \u043f\u043e \u0434\u0430\u0442\u0430\u0446\u0435\u043d\u0442\u0440\u0430\u043c \u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043c. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0440\u044f\u0434\u044b \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 app \u0438 instance, \u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 datacenter \u0438 region, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0445 \u043c\u044b \u0441\u0445\u043b\u043e\u043f\u043d\u0443\u043b\u0438 \u0432 \u0441\u0443\u043c\u043c\u0443:<\/p>\n<pre><code class=\"bash\">sum by (app, instance) (http_requests_total) <\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0447\u0430\u0441\u0442\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043e\u0442 \u044d\u0442\u043e \u2014 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441. \u041f\u0438\u0448\u0438\u0442\u0435, \u043a\u0430\u043a \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u043e:<\/p>\n<pre><code class=\"bash\">sum (http_requests_total) by (app, instance)<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u00ab\u0432\u0441\u0435\u043c\u0443 \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u0433\u0430\u00bb:<\/p>\n<pre><code>sum without (instance) (http_requests_total) # \u0438\u043b\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438: sum (http_requests_total) without (instance)<\/code><\/pre>\n<p>\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u043e\u0432 \u2014 <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/operators\/#aggregation-operators\">\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Prometheus<\/a>.<\/p>\n<h2>\u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/h2>\n<blockquote>\n<p>\u0411\u044b\u0432\u0430\u044e\u0442 \u0434\u043b\u044f instant \u0438 range \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432<\/p>\n<\/blockquote>\n<h3>rate(range vector)<\/h3>\n<p>\u041d\u0430\u0448 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0434\u0440\u0443\u0433 \u0438 \u0442\u043e\u0432\u0430\u0440\u0438\u0449! \u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u043d\u0430\u0432\u043e\u0440\u043e\u0447\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0433\u043b\u0430\u0434\u043a\u0438\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0438 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u044f\u043a\u0438\u0435 corner cases (\u0441\u043c. \u043d\u0438\u0436\u0435). \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0437\u0430 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0432\u0440\u0435\u043c\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0430\u0439\u0442 \u0438 \u0442.\u0434.<\/p>\n<pre><code class=\"bash\">rate(http_requests_total{app=\"nginx\"}[5m])<\/code><\/pre>\n<ul>\n<li>\n<p>\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\/\u0441\u0435\u043a);<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <code>counter<\/code> \u0442.\u043a. \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u0435;<\/p>\n<\/li>\n<li>\n<p>\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0431\u0440\u043e\u0441\u044b \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043d\u0430 0, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>\u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0435\u0441\u0442\u044c <code>irate<\/code> \u0434\u043b\u044f \u0440\u0435\u0437\u043a\u043e \u043f\u0440\u044b\u0433\u0430\u044e\u0449\u0438\u0445 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<h3>increase(range vector)<\/h3>\n<p>\u041d\u0435 \u043d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c increase, \u043b\u0443\u0447\u0448\u0435 \u0431\u0435\u0440\u0438\u0442\u0435 <code>rate<\/code>, \u0442\u0430\u043a \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0441\u043e\u0432\u0435\u0442\u0443\u044e\u0442!<\/p>\n<pre><code class=\"bash\">increase(http_requests_total{app=\"nginx\"}[5m])<\/code><\/pre>\n<ul>\n<li>\n<p>\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0437\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b (\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u0440\u0438\u0448\u043b\u043e);<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <code>counter<\/code> \u0442.\u043a. \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u0435;<\/p>\n<\/li>\n<li>\n<p>\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0431\u0440\u043e\u0441\u044b \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u043d\u0430 0, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0435;<\/p>\n<\/li>\n<li>\n<p>\u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f (\u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u0432\u0430\u044e\u0442 \u0434\u0440\u043e\u0431\u0438 \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0446\u0435\u043b\u044b\u0439).<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u0441\u0430\u0445\u0430\u0440 \u0434\u043b\u044f <code>rate() * \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b<\/code>. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0441 \u043d\u0438\u043c \u0438 \u0441 rate. \u0423\u0432\u0438\u0434\u0438\u0442\u0435 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0432 1 \u0447\u0430\u0441, \u044d\u0442\u0438 \u0448\u0442\u0443\u043a\u0438 \u0434\u0430\u0434\u0443\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<pre><code class=\"bash\">rate(metric[1h])  increase(metric[1h])\/3600<\/code><\/pre>\n<h3>delta(range vector)<\/h3>\n<p>\u0421\u0447\u0438\u0442\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0432\u044b\u043c \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0440\u0435\u0437\u043a\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0442\u043a\u0430\u0442\u0438\u043b\u043e\u0441\u044c. \u0412\u0440\u043e\u0434\u0435 \u0431\u044b \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0433\u0440\u0443\u0431\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e <code>increase()<\/code>, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043c\u0435\u0442\u0440\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 <strong>\u0443\u0431\u044b\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u043a\u0430\u043a\u0430\u0442\u044c \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430<\/strong>.<\/p>\n<pre><code class=\"bash\">delta(ram_free{host=\"postgresql\"}[5m])<\/code><\/pre>\n<ul>\n<li>\n<p>\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0437\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b (\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u0440\u0438\u0448\u043b\u043e);<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <code>gauge<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f (\u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u0432\u0430\u044e\u0442 \u0434\u0440\u043e\u0431\u0438 \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0435).<\/p>\n<\/li>\n<\/ul>\n<h3>deriv(range vector)<\/h3>\n<p>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f. \u0410\u043d\u0430\u043b\u043e\u0433 <code>rate()<\/code>, \u043d\u043e \u0434\u043b\u044f \u043c\u0435\u0442\u0440\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0443\u0431\u044b\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u043a\u0430\u043a\u0430\u0442\u044c \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430. <strong>\u041d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u043e\u0431\u043d\u0443\u043b\u0438\u043b\u0430\u0441\u044c<\/strong>, \u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0439\u0442\u0438 \u0441 \u0443\u043c\u0430 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442.<\/p>\n<pre><code class=\"bash\">deriv(ram_free{host=\"postgresql\"}[5m])<\/code><\/pre>\n<ul>\n<li>\n<p>\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e, \u0442.\u0435. \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\/\u0441\u0435\u043a);<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <code>gauge<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0431\u0440\u043e\u0441\u044b \u0432 0.<\/p>\n<\/li>\n<\/ul>\n<h3>histogram_quantile(instant vector)<\/h3>\n<p>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u043c\u0438 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0438\u0448\u0443\u0442 \u0431\u0430\u043a\u0435\u0442\u044b \u0442\u0438\u043f\u0430 <code>le=\"1s\"<\/code>). \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044c \u0438\u0437 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0430\u043c\u0438 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>sum by (tag)<\/code>.<\/p>\n<blockquote>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u0438\u0442\u0441\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438 \u2014 \u0438\u0445 \u043a\u0438\u043b\u043b\u0435\u0440-\u0444\u0438\u0447\u0430, \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 <code>Summary<\/code>.<\/p>\n<\/blockquote>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u0432\u0430\u0441 \u0434\u0432\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041e\u043d\u0438 \u043e\u0431\u0435 \u043f\u0438\u0448\u0443\u0442 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u0430\u0436\u0434\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u2014 \u0441\u0432\u043e\u044e. \u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043e\u0434\u0438\u043d \u0433\u0440\u0430\u0444\u0438\u043a, \u0438\u0445 \u043d\u0430\u0434\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0432 \u043e\u0434\u043d\u0443. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0443\u0436\u0435 \u0432 Prometheus, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0443\u0436\u0435 \u0445\u043e\u0442\u0438\u043c \u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u043c\u0435\u0441\u0442\u043e Histogram \u043f\u0438\u0448\u0443\u0442 Summary \u2014 \u0438\u0445 \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0438\u043b\u0438 \u0441\u043b\u043e\u0436\u0438\u0442\u044c! \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u0431\u044b\u043b\u043e \u0432 <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/690814\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>.<\/p>\n<pre><code class=\"bash\">histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))  histogram_quantile(     0.95,     sum by (url, le) (         rate(http_request_duration_seconds_bucket[5m])     ) )<\/code><\/pre>\n<ul>\n<li>\n<p>\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u0432\u0430\u043d\u0442\u0438\u043b\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <code>histogram<\/code> \u0441 \u0431\u0430\u043a\u0435\u0442\u0430\u043c\u0438 (\u0442\u0435\u0433\u0438 <code>le<\/code>).<\/p>\n<\/li>\n<\/ul>\n<h3>aggr_over_time(range vector)<\/h3>\n<p>\u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u044b \u0442\u0438\u043f\u0430 sum \u0438 max \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f instant vectors, \u043d\u043e \u0435\u0441\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u043d\u0443\u0436\u043d\u043e \u2014 \u0435\u0441\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438-\u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u044b \u0434\u043b\u044f range vectors, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 <strong>\u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435<\/strong>. \u0422\u043e \u0435\u0441\u0442\u044c \u044d\u0442\u043e \u043a\u0430\u043a <code>delta()<\/code>, \u0442\u043e\u043b\u044c\u043a\u043e <code>max<\/code>\/<code>min<\/code>\/<code>avg<\/code> \u0438 \u0442.\u0434. \u0412 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u0441\u0435 \u044d\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0435\u0441\u0442\u044c.<\/p>\n<pre><code class=\"bash\">avg_over_time min_over_time max_over_time sum_over_time count_over_time quantile_over_time stddev_over_time (\u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435) stdvar_over_time (\u0434\u0438\u0441\u043f\u0435\u0440\u0441\u0438\u044f)<\/code><\/pre>\n<h2>\u0411\u043e\u043d\u0443\u0441<\/h2>\n<p>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0433\u0435\u0440\u043e\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0441 \u043d\u0430\u043c\u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u2014 \u043f\u0430\u0440\u0430 \u0437\u0430\u043c\u0435\u0442\u043e\u043a \u043e \u0433\u0440\u0430\u0431\u043b\u044f\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u043b\u0435\u0442\u0435\u0442\u044c \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a \u0443 \u0441\u0435\u0431\u044f.<\/p>\n<h3>(\u043d\u0435)\u041f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c<\/h3>\n<p>\u0412\u0430\u0448\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u043d\u0435 \u0436\u0438\u0432\u0443\u0442 \u0432\u0435\u0447\u043d\u043e \u2014 \u043e\u043d\u0438 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u044f\u0442\u0441\u044f. \u0418\u0445 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0431\u0440\u043e\u0441\u044f\u0442\u0441\u044f \u0438 \u043d\u0430\u0447\u043d\u0443\u0442 <strong>\u043e\u0442\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u0443\u043b\u044f<\/strong>. \u042d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0438 \u0443\u0447\u0442\u0435\u043d\u043e \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 Prometheus. \u0412\u0430\u0436\u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0442\u0438\u043f\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<ul>\n<li>\n<p><code>rate()<\/code> \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043a\u0443\u044e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043d\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u2014 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u043d\u0435 \u0441\u043e\u0439\u0434\u0435\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u00ab\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\u00bb, \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0435\u0433\u043e \u0441 \u043d\u0443\u043b\u044f \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, <code>deriv()<\/code> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 gauge, \u043d\u043e \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441\u0431\u0440\u043e\u0441\u0438\u043b\u0430\u0441\u044c \u0432 \u043d\u043e\u043b\u044c. \u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e: gauge \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0442\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u043d\u0443\u043b\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0430\u044f RAM. \u041a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u043e\u0441\u044c, \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, <em>\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u0411\u0414 \u043d\u0430 \u0441\u0432\u043e\u0435\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0438\u043b\u0438 \u043a\u0430\u043a-\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0438\u0445 \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c<\/em>. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439: \u043d\u0443 \u0438 \u0447\u0442\u043e, \u043f\u043e\u0434\u0443\u043c\u0430\u0435\u0448\u044c \u2014 \u0438\u043d\u043e\u0433\u0434\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0448\u0442\u043e\u0440\u043c\u0438\u0442 \u043f\u0440\u0438 \u0434\u0435\u043f\u043b\u043e\u044f\u0445 \u0438\u043b\u0438 \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u043f\u0430\u043b\u043e, \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u043d\u0430\u044f\u043c\u0435\u043b\u043e\u0447\u044c. \u041d\u043e \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u0432\u0430\u0436\u043d\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c <strong>\u0430\u043b\u0435\u0440\u0442\u044b<\/strong>. \u0421 \u0430\u043b\u0435\u0440\u0442\u0430\u043c\u0438 \u044d\u0442\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0439 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0439 \u0431\u043e\u043b\u044c\u044e, \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0439, \u043a\u043e\u0441\u0442\u044b\u043b\u0435\u0439 \u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0439. \u041b\u0443\u0447\u0448\u0435 \u0441\u0440\u0430\u0437\u0443 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u0438 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0445\u043e\u0436\u0438 \u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435.<\/p>\n<h3>\u0420\u0435\u043f\u043b\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043f\u043b\u0438\u043a \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438. \u042d\u0442\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Prometheus \u0441\u043e\u0431\u0435\u0440\u0435\u0442 \u0441 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0435\u043f\u043b\u0438\u043a \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\"># \u0440\u0435\u043f\u043b\u0438\u043a\u0430 1: api_http_requests_total{method=\"POST\", url=\"\/login\"} 2 # \u0440\u0435\u043f\u043b\u0438\u043a\u0430 2: api_http_requests_total{method=\"POST\", url=\"\/login\"} 3<\/code><\/pre>\n<p>\u0420\u0430\u0437 \u043b\u0435\u0439\u0431\u043b\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435, \u0442\u043e \u044d\u0442\u0438 \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 timestamp, \u043f\u043e\u043f\u0430\u0434\u0443\u0442 <strong>\u0432 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435<\/strong> \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434! \u0422\u043e \u0435\u0441\u0442\u044c, \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0448\u0430\u043d\u0438\u043d\u0430 \u0438\u0437 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u044d\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u0434\u0432\u0435 \u043e\u0447\u0435\u043d\u044c \u0431\u043b\u0438\u0437\u043a\u0438\u0435 \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0442\u043e\u0447\u043a\u0438. \u041f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c scrape \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0441\u044f.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u0412\u0440\u0435\u043c\u044f (unix timestamp)<\/p>\n<\/th>\n<th>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (double)<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1615973701<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1615973731<\/p>\n<\/td>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0431\u044b\u043b\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0432\u0441\u0435\u043c\u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u043c\u0438? \u0421\u043d\u0430\u0447\u0430\u043b\u0430 5, \u043f\u043e\u0442\u043e\u043c 7, \u043d\u043e \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u044b \u0443\u0436\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u043d\u0435\u043c \u2014 \u043e\u043d\u0430 \u0432\u0441\u044f \u0441\u043b\u043e\u0436\u0435\u043d\u0430 \u0432 \u043e\u0434\u0438\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u044f\u0434. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0430\u0436\u0434\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e <strong>\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043b\u0435\u0439\u0431\u043b<\/strong> \u2014 \u0438\u043c\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0438, hostname, id pod-\u0430 \u0432 kubernetes, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u044d\u0442\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439.<\/p>\n<pre><code class=\"bash\"># \u0440\u0435\u043f\u043b\u0438\u043a\u0430 1: api_http_requests_total{method=\"POST\", url=\"\/login\", replica=\"app_1\"} 2 # \u0440\u0435\u043f\u043b\u0438\u043a\u0430 2: api_http_requests_total{method=\"POST\", url=\"\/login\", replica=\"app_2\"} 3<\/code><\/pre>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u0430\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u044f\u0434\u044b, \u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0445 \u0441\u0443\u043c\u043c\u0443, \u0438\u043b\u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0435\u0441\u043b\u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f.<\/p>\n<hr\/>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/034\/50b\/9d6\/03450b9d6a92228f3a6243e3012829cb.png\" width=\"1600\" height=\"900\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/034\/50b\/9d6\/03450b9d6a92228f3a6243e3012829cb.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u043a\u043e\u043d\u0435\u0446 \u0446\u0438\u043a\u043b\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 <s>\u043a\u0443\u043d\u0433-\u0444\u0443<\/s> \u043e\u0441\u043d\u043e\u0432\u044b \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b Prometheus, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0433\u0438\u0438, \u0438 \u043a\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u0435\u0442\u0440\u0438\u043a \u0435\u0441\u0442\u044c \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439.<\/p>\n<p>\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435? \u041c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 Grafana \u2014 \u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438. \u041f\u043e\u0442\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u0435\u0441\u043b\u0438 \u0447\u0435\u0433\u043e-\u0442\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f, <em>\u0435\u0441\u043b\u0438 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f<\/em>, \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u043e\u0440\u043d\u0438\u043a\u043e\u043c \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u0432 \u0434\u043b\u044f Grafana. \u0422\u0430\u043c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u0430\u0439\u0434\u0430, \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u043a\u0430\u043a \u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u2014 \u044d\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0432\u0430\u0448\u0438\u0445 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438. \u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043b\u0435\u0440\u0442\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0442\u043e\u0439 \u0436\u0435 Grafana. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, <strong>\u0430\u043b\u0435\u0440\u0442\u044b \u2013 \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043c\u043e\u0449\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430<\/strong>, \u0440\u0430\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u041d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/693834\/\"> https:\/\/habr.com\/ru\/company\/tochka\/blog\/693834\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f, \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0412 <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/683608\/\">\u043f\u0435\u0440\u0432\u043e\u0439<\/a> \u2014 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u2014 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u0447\u0435\u043c \u043e\u043d\u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043b\u043e\u0433\u043e\u0432, \u0438 \u043a\u0430\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0440\u0435\u0448\u0430\u044e\u0442. \u0412\u043e <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/685636\/\">\u0432\u0442\u043e\u0440\u043e\u0439<\/a> \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u043c\u0435\u0442\u0440\u0438\u043a. \u0412 <a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/690814\/\">\u0442\u0440\u0435\u0442\u044c\u0435\u0439<\/a> \u2014 \u0441 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c\u0438. \u0422\u0435\u043f\u0435\u0440\u044c, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0438! \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u043d\u043e.<\/p>\n<p>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0430:<\/p>\n<ol>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/683608\/\">\u041f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u043e\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/685636\/\">Prometheus<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tochka\/blog\/690814\/\">\u041f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438 \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p>PromQL<\/p>\n<\/li>\n<\/ol>\n<hr\/>\n<blockquote>\n<p><strong>\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0434\u0435\u0440\u0436\u0438\u043c \u0432 \u0443\u043c\u0435:<\/strong> \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043d\u0435 \u043f\u0440\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0430 \u043f\u0440\u043e \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0438 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0435\u0439, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u0440\u044f\u044e\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0438 \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0435, \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438, \u0440\u0430\u0437\u043d\u044b\u0435 corner cases. \u0417\u0430 \u0432\u0441\u0435\u043c \u043d\u0435 \u0443\u0441\u043b\u0435\u0434\u0438\u0448\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 100% \u0442\u043e\u0447\u043d\u044b\u0435. \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0431\u0438\u043b\u043b\u0438\u043d\u0433\u0430, \u0430 \u0432\u043e\u0442 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u2014 \u0432\u043f\u043e\u043b\u043d\u0435.<\/p>\n<\/blockquote>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u043d\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0440\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0439 Prometheus, \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0430\u0436\u0435 \u00ab\u043d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435\u00bb, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0442\u0443\u0434\u0430 \u0441\u0432\u043e\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/p>\n<p>\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0435\u0433\u043e \u0440\u043e\u0434\u043d\u044b\u043c \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c. \u042d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0438\u0437 \u0411\u0414, \u0438  \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c Grafana, \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043d\u0435\u0439: \u0442\u0430\u043c \u0435\u0441\u0442\u044c Query Inspector, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b\/\u043e\u0442\u0432\u0435\u0442\u044b. \u041d\u043e Grafana \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0442\u043e\u0440\u043c\u043e\u0437\u043e\u0432 \u0438 \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043b\u0443\u0447\u0448\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u043d\u0435\u0435. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0432 devops-\u0433\u0430\u0439\u0434 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u0437\u0430 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438, \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430\u0439\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 docker-compose.<\/p>\n<h2>\u0417\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n<p>\u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439, \u0447\u0442\u043e Prometheus \u2014 \u044d\u0442\u043e Time Series Database, \u0438 \u0432 \u043d\u0435\u043c \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0435 \u0440\u044f\u0434\u044b. \u041a\u0430\u0436\u0434\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u2014 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430. \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043b\u0435\u0439\u0431\u043b\u043e\u0432, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u043e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438: <code>[(day1, t1), (day2, t2), ...]<\/code>. \u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043c\u043e\u0433\u0443\u0442:<\/p>\n<ul>\n<li>\n<p>\u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0437\u0430 \u043d\u0443\u0436\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f<\/p>\n<\/li>\n<li>\n<p>\u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441\u0440\u0430\u0437\u0443 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0440\u044f\u0434\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0434 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e, \u0447\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a, \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434: \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438 \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u0438\u0439, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0445 \u0440\u044f\u0434\u043e\u0432. \u0422\u043e\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h2>\n<h3>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441<\/h3>\n<pre><code class=\"bash\">http_requests_total<\/code><\/pre>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0433\u043e \u0438\u043b\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0432 \u0441\u0432\u043e\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0434\u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u0432\u0441\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u2013 <code>http_requests_total<\/code>, <strong>\u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043b\u0435\u0439\u0431\u043b\u044b<\/strong>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 <code>verb<\/code> \u0438\u043b\u0438 <code>url<\/code>. \u0412 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u044f\u0432\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0437\u0430 <strong>\u043e\u0434\u0438\u043d timestamp<\/strong>. \u041e\u0442\u0432\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p>\u043e\u0434\u0438\u043d timestamp;<\/p>\n<\/li>\n<li>\n<p>\u043b\u0435\u0439\u0431\u043b\u044b \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u0440\u044f\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043f\u0430\u043b \u043f\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441;<\/p>\n<\/li>\n<li>\n<p>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043b\u0435\u0439\u0431\u043b\u044b \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u044f\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043f\u043e\u043f\u0430\u043b \u043f\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441;<\/p>\n<\/li>\n<li>\n<p>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0432 \u044d\u0442\u043e\u0442 \u0436\u0435 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438;<\/p>\n<\/li>\n<li>\n<p>\u2026\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u044f\u0434\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <strong>instant vector<\/strong>, \u043f\u0440\u043e \u043d\u0435\u0433\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0447\u0443\u0442\u044c \u043d\u0438\u0436\u0435.<\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u2014 \u043d\u0435 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0430\u0445\u0430\u0440. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0435\u0439\u0431\u043b \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <code>__name__<\/code>. \u0412\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435:<\/p>\n<pre><code class=\"bash\">{__name__=\"http_requests_total\"}<\/code><\/pre>\n<h3>\u0414\u043e\u0441\u0442\u0430\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438<\/h3>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0442\u043e\u0442 \u0436\u0435 \u0442\u0438\u043f \u043e\u0442\u0432\u0435\u0442\u0430 \u2014 instant vector.<\/p>\n<pre><code class=\"bash\">http_requests_total{job=\"prometheus\",group=\"canary\"}<\/code><\/pre>\n<h3>\u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438<\/h3>\n<p>\u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440: \u0434\u043e\u0441\u0442\u0430\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438, \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u0437\u0430 1 \u043c\u0438\u043d\u0443\u0442\u0443. \u041e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u2014 <strong>range vector<\/strong>. \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0437\u0432\u0435\u0440\u044c \u0438 \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u043d\u043e \u2013 \u0441\u043c. \u043d\u0438\u0436\u0435.<\/p>\n<pre><code class=\"bash\">http_requests_total{job=\"prometheus\",group=\"canary\"}[1m]<\/code><\/pre>\n<h2>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u0442\u0438\u043f\u044b<\/h2>\n<p>\u0418\u0445 \u0432\u0441\u0435\u0433\u043e \u0434\u0432\u0430:<\/p>\n<ul>\n<li>\n<p>\u0421\u0442\u0440\u043e\u043a\u0438 \u2014 \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043b\u0435\u0439\u0431\u043b\u044b \u0438 \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0438\u0441\u043b\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e double, \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0442.<\/p>\n<h2>\u0422\u0438\u043f\u044b \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 API<\/h2>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0434\u0432\u0430 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0442\u0438\u043f\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0442\u043e\u0436\u0435 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: instant vector \u0438 range vector. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043b\u0435\u0433\u0447\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. \u0415\u0449\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e \u0442\u0438\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 API \u043c\u0435\u0436\u0434\u0443 Prometheus \u0438 Grafana: vector \u0438 matrix, \u0438 \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f.<\/p>\n<h2>\u0422\u0438\u043f instant vector<\/h2>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>\u041c\u0430\u0441\u0441\u0438\u0432<\/strong> \u0438\u0437 key-value, \u0433\u0434\u0435 key \u2013 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438, \u0430 value \u2014 <strong>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/strong>. \u042d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u0440\u0438\u0441\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0434\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u044d\u0442\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 (\u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c).<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a\u0430\u044f \u043c\u0430\u0442\u0440\u0435\u0448\u043a\u0430? \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0445 \u0440\u044f\u0434\u043e\u0432. \u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043e\u0434\u043d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u043e\u0432 \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u044f\u0434\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 instant vector-\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440\u043e\u043c key-value, \u0433\u0434\u0435 \u043a\u043b\u044e\u0447 \u2014 \u044d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u044f\u0434\u0430 (\u0438\u043c\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u0432\u0441\u0435 \u043b\u0435\u0439\u0431\u043b\u044b), \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0440\u044f\u0434 \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e.<\/p>\n<p>\u041e\u0434\u0438\u043d instant vector \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043e\u0434\u043d\u043e\u043c\u0443 timestamp. \u0427\u0442\u043e\u0431\u044b \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 (\u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435) \u2014 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0448\u0430\u0433, \u0430 \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440\u044b instant vector-\u043e\u0432, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0435 \u043f\u043e\u0434 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d. \u0418 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 Prometheus, \u0438 \u0432 Grafana, \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u044c. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u043c \u2014 \u0435\u0441\u043b\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 timestamp \u043d\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0411\u0414, \u0442\u043e Prometheus \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 timestamp \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043c\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0430\u0434, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 5 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u0440<\/h3>\n<p>\u041a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u0435 \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0438 \u0432 \u0431\u0430\u0437\u0443 \u043a\u0430\u0436\u0434\u044b\u0435 30 \u0441\u0435\u043a\u0443\u043d\u0434, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 <code>http_requests_total<\/code> \u0441 \u0434\u0432\u0443\u0445 \u0440\u0435\u043f\u043b\u0438\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"485\" width=\"485\">\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0430 (\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434)<\/p>\n<\/th>\n<th data-colwidth=\"119\" width=\"119\">\n<p>\u0412\u0440\u0435\u043c\u044f (unix timestamp)<\/p>\n<\/th>\n<th>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (double)<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973700<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973730<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973760<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973760<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973790<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973790<\/p>\n<\/td>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app1\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973820<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"485\" width=\"485\">\n<p align=\"left\"><code>{__name__=\"http_requests_total\",instance=\"app2\"}<\/code><\/p>\n<\/td>\n<td data-colwidth=\"119\" width=\"119\">\n<p align=\"left\">1615973820<\/p>\n<\/td>\n<td>\n<p align=\"left\">10<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <code>http_requests_total{instance=\"app1\"}<\/code> \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1615973790 \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c instant vector \u0441 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u043e\u0439, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e value = <code>(1615973790, 3)<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <code>http_requests_total<\/code> \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1615973760 \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c instant vector \u0441 \u0434\u0432\u0443\u043c\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0435 value: <code>(1615973760, 1)<\/code> \u0438 <code>(1615973760, 4)<\/code> \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0435\u0433\u0438, <code>app1<\/code> \u0438 <code>app2<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <code>http_requests_total{instance=\"app1\"}<\/code> \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 1615973795 \u2014 \u0442\u0430\u043a\u043e\u0433\u043e timestamp \u0432 \u0431\u0430\u0437\u0435 \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e, \u0442\u043e \u0435\u0441\u0442\u044c \u0441 timestamp 1615973790, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u043a \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u043e \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 instant vector \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u0436\u0435.<\/p>\n<h3>\u0421\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u044b instant vetcor-\u043e\u0432<\/h3>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u043b\u0435\u0439\u0431\u043b\u044b \u043c\u043e\u0436\u043d\u043e \u043c\u0430\u0442\u0447\u0438\u0442\u044c \u043f\u043e \u0440\u0430\u0432\u043d\u043e\/\u043d\u0435\u0440\u0430\u0432\u043d\u043e \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0430\u043c\u0438, \u043f\u043e\u0434\u043e\u0448\u043b\u043e\/\u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u043e. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b: <code>=  !=  =~  !~<\/code><\/p>\n<pre><code class=\"bash\">http_requests_total{environment=~\"staging|testing|(dev.*)\", method!=\"GET\"}<\/code><\/pre>\n<h2>\u0422\u0438\u043f range vector<\/h2>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0423\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435: \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 key-value, \u0433\u0434\u0435 key \u2013 \u043c\u0435\u0442\u0440\u0438\u043a\u0430, \u0430 value \u2013 <strong>\u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 + \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 [\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0437\u0430 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b]<\/strong>. \u0411\u0435\u0437 \u043f\u0430\u043d\u0438\u043a\u0438, \u043d\u0438\u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0438 \u0432\u0441\u0435 \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u043e. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 instant vector \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u043c value. \u041f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e\u0447\u0435\u043c\u0443 \u0435\u0441\u0442\u044c key, \u0432\u0441\u0435 \u0442\u0430 \u0436\u0435: \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438.<\/p>\n<p>\u0422\u0430\u043a \u0432\u043e\u0442, \u043f\u0440\u043e \u0442\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 value \u0437\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u043e\u0439 \u0445\u0438\u0442\u0440\u044b\u0439&#8230;<\/p>\n<h3>\u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f?<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0435\u0449\u0435 \u043d\u0435 \u0443\u0431\u0435\u0436\u0430\u043b\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f <strong>\u043f\u043e-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u043c\u0443<\/strong>, \u0431\u0435\u0437 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0430\u043d\u0430. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u044d\u0442\u043e \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430:<\/p>\n<pre><code class=\"python\">( f(x+0.1) - f(x) ) \/ 0.1<\/code><\/pre>\n<p>\u0427\u0438\u0441\u043b\u043e <code>0.1<\/code> \u0437\u0434\u0435\u0441\u044c \u2014 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u0430\u043b\u044b\u0439 \u0448\u0430\u0433. \u0424\u043e\u0440\u043c\u0443\u043b\u0430 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>f()<\/code>, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0441\u0434\u0432\u0438\u043d\u0435\u043c <code>x<\/code>. \u0414\u0435\u043b\u0438\u0442\u044c \u043d\u0430 <code>0.1<\/code> \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0448\u0442\u0443\u043a\u043e\u0439: \u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u043a\u0430\u043a\u043e\u0439 \u0448\u0430\u0433 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u2014 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u043b\u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>f()<\/code> \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u0442\u043e \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c.<\/p>\n<blockquote>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e, \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/blockquote>\n<p>\u041c\u043e\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0447\u0438\u0442\u0435\u0440\u0438\u0442\u044c \u0438 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e \u043d\u0435 \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <code>(x, x+0.1)<\/code>, \u0430 \u0434\u043b\u044f <code>(x-0.1, x)<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f <strong>\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e<\/strong>. \u0415\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c <strong>\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e<\/strong> \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u2014 \u0435\u0449\u0435 \u043b\u0443\u0447\u0448\u0435. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0445\u0438\u0442\u0440\u0435\u0435 \u0438 \u0435\u0449\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044e\/\u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u044f\u0446\u0438\u044e. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0438\u043c\u0435\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <code>[f(x), f(x-0.1), f(x-0.2), f(x-0.3), ...]<\/code>.<\/p>\n<p>\u0412\u043e\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0443\u0436\u0435\u043d <strong>range vector<\/strong>: \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 <code>x<\/code> \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0442\u043e\u0447\u043a\u0443 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442: <code>f(x)<\/code>, \u0438 \u0435\u0449\u0435 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u043c \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435 \u0438 \u0431\u0435\u0440\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u043e\u0447\u0435\u043a: <code>[f(x-30s), f(x-60s), f(x-90s), ...]<\/code>. 30 \u0441\u0435\u043a\u0443\u043d\u0434 \u0437\u0434\u0435\u0441\u044c \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e Prometheus \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c, \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442.<\/p>\n<blockquote>\n<p>Range vector \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439: \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u00ab\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0437\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u00bb, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>delta<\/code>, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<\/blockquote>\n<h3>\u0421\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u044b range vector-\u043e\u0432<\/h3>\n<p>\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 ranve vector? \u0422\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<pre><code class=\"bash\">http_requests_total{job=\"prometheus\"}[5m]<\/code><\/pre>\n<p>\u041d\u0430 \u0447\u0442\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u0447\u0438\u0441\u043b\u043e \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445: \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u0441\u043c\u044b\u0441\u043b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0442\u044e\u043d\u0438\u0442\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u00ab\u0441\u0433\u043b\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f\u00bb \u0438\u043b\u0438 \u00ab\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u00bb (\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c).<\/p>\n<ul>\n<li>\n<p>\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u2014 \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0430\u0434\u043a\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u0438\u0434\u043d\u043e \u0442\u0440\u0435\u043d\u0434 (\u043e\u0431\u0449\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443);<\/p>\n<\/li>\n<li>\n<p>\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u2014 \u0431\u043e\u043b\u0435\u0435 \u0448\u0443\u043c\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u0438\u0434\u043d\u043e \u043f\u0438\u043a\u0438 \u0438 \u0440\u0435\u0437\u043a\u0438\u0435 \u0441\u043a\u0430\u0447\u043a\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0438 \u043d\u0435 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u043b\u0438 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u2014 \u043d\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>Range vector \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a (\u0441\u043c. \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0438\u0436\u0435 \u2014 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c). \u0415\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-339835","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/339835","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=339835"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/339835\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=339835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=339835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=339835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}