{"id":341735,"date":"2022-11-25T15:00:28","date_gmt":"2022-11-25T15:00:28","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=341735"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=341735","title":{"rendered":"<span>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0432 DevOps<\/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-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/701034\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/jc\/wa\/kh\/jcwakhpe85upv8a16juvshl6zlq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/jc\/wa\/kh\/jcwakhpe85upv8a16juvshl6zlq.png\"\/><\/div>\n<p><\/a><br \/>  \u0412 \u0445\u043e\u0434\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0451\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0442\u0435\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u0438 Grafana:<\/p>\n<ul>\n<li><a href=\"https:\/\/grafana.com\/oss\/loki\/\">Loki<\/a> (\u043b\u043e\u0433\u0438);<\/li>\n<li><a href=\"https:\/\/grafana.com\/docs\/loki\/latest\/clients\/promtail\/\">Promtail<\/a> (\u0430\u0433\u0435\u043d\u0442 \u043b\u043e\u0433\u043e\u0432);<\/li>\n<li><a href=\"https:\/\/grafana.com\/oss\/tempo\/\">Tempo<\/a> (\u0442\u0440\u0430\u0441\u0441\u0438\u0440\u0440\u043e\u0432\u043a\u0430);<\/li>\n<li><a href=\"https:\/\/prometheus.io\/\">Prometheus<\/a> (\u043c\u0435\u0442\u0440\u0438\u043a\u0438);<\/li>\n<li><a href=\"https:\/\/github.com\/cortexproject\/cortex\">Cortex<\/a> \u0438 <a href=\"https:\/\/github.com\/grafana\/mimir\">Grafana Mimir<\/a> (\u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 Prometheus);<\/li>\n<li><a href=\"https:\/\/prometheus.io\/docs\/alerting\/latest\/alertmanager\/\">Alertmanager<\/a> (\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0439 Prometheus);<\/li>\n<li><a href=\"https:\/\/grafana.com\/\">Grafana<\/a> (\u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f).<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c!<a name=\"habracut\"><\/a><\/p>\n<h2><font color=\"#3AC1EF\">\u0427\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f<\/font><\/h2>\n<p>  <\/p>\n<ul>\n<li>\u041a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes (\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e <a href=\"https:\/\/kind.sigs.k8s.io\/\">Kind<\/a>). \u042f \u0443\u0436\u0435 <a href=\"https:\/\/awstip.com\/kind-terraform-af7fe350817c\">\u043f\u0438\u0441\u0430\u043b<\/a> (\u0430\u043d\u0433\u043b.) \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c Kind \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Terraform.<\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/\">Kubectl<\/a> \u0438 <a href=\"https:\/\/helm.sh\/docs\/intro\/install\/\">Helm<\/a>.<\/li>\n<\/ul>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u044c?<\/font><\/h2>\n<p>  \u041d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u044c (<a href=\"https:\/\/opentelemetry.io\/docs\/concepts\/observability-primer\/\">observability<\/a>) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043d\u044f\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u043d\u0430\u0440\u0443\u0436\u0438, \u043d\u0435 \u0432\u043d\u0438\u043a\u0430\u044f \u0432 \u0435\u0451 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b.<\/p>\n<p>  \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043e\u043d\u0430 \u0434\u0430\u0451\u0442 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u041a\u0430\u043a \u0441\u0435\u0431\u044f \u0432\u0435\u0434\u0451\u0442 \u043d\u0430\u0448\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430?\u00bb<\/p>\n<h2><font color=\"#3AC1EF\">Loki<\/font><\/h2>\n<p>  <i>Loki: \u043f\u043e\u0434\u043e\u0431\u0435\u043d Prometheus, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043b\u043e\u0433\u043e\u0432.<\/i><\/p>\n<p>  \u041e\u0442\u043b\u0438\u0447\u0438\u0435 Loki \u043e\u0442 Prometheus \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0435 \u043d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u0430 \u043d\u0430 \u043b\u043e\u0433\u0438, \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u043c\u043e\u0434\u0435\u043b\u0438 <code>push<\/code>, \u0430 \u043d\u0435 <code>pull<\/code>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/jc\/wa\/kh\/jcwakhpe85upv8a16juvshl6zlq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/jc\/wa\/kh\/jcwakhpe85upv8a16juvshl6zlq.png\"\/><\/div>\n<p>  \u0421\u0442\u0435\u043a \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Loki \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0442\u0440\u0451\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432:<\/p>\n<ol>\n<li><code>promtail<\/code> \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0430\u0433\u0435\u043d\u0442\u043e\u043c, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u043c \u0437\u0430 \u0441\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432 \u0438 \u0438\u0445 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 Loki.<\/li>\n<li><code>loki<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u043c \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/li>\n<li><a href=\"https:\/\/github.com\/grafana\/grafana\">Grafana<\/a> \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432.<\/li>\n<\/ol>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f Loki \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/t7\/ns\/ka\/t7nskalqz_39zrxwsnchi2tded0.png\" data-src=\"https:\/\/habrastorage.org\/webt\/t7\/ns\/ka\/t7nskalqz_39zrxwsnchi2tded0.png\"\/><\/div>\n<p>  \u0414\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043b\u043e\u0433\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u043c \u0441 LogQL. \u0421\u0430\u043c \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">{job=\"mysql\"} |= \"error\" != \"timeout\"<\/code><\/pre>\n<p>  \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/grafana.com\/docs\/loki\/latest\/logql\/log_queries\/\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<p>  \u0412 \u043d\u0451\u043c \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441\u0430\u043c\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c <i>Log browser<\/i>, \u0442\u043e \u043e\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043b\u0435\u0439\u0431\u043b\u043e\u0432, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0432\u044b\u0431\u0438\u0440\u0430\u044e <i>namespace<\/i>.<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043c\u043d\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432 \u0438\u043c\u0451\u043d, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432 \u043c\u043e\u0451\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/br\/lo\/bt\/brlobte0jiyhbgaqgu6_du-ib4i.png\" data-src=\"https:\/\/habrastorage.org\/webt\/br\/lo\/bt\/brlobte0jiyhbgaqgu6_du-ib4i.png\"\/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0451\u043d \u044f \u043a\u043b\u0438\u043a\u0430\u044e \u043f\u043e <i>Show logs<\/i>, \u0432\u044b\u0432\u043e\u0434\u044f \u0432\u0441\u0435 \u043b\u043e\u0433\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430.<\/p>\n<h3><font color=\"#3AC1EF\">\u258d Live tailing<\/font><\/h3>\n<p>  Loki \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <i>Live tailing<\/i>, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0449\u0443\u044e \u043b\u043e\u0433\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u0443\u0433\u043b\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/zm\/r5\/93\/zmr593m_bp9pm9ijglrvncf3cxo.png\" data-src=\"https:\/\/habrastorage.org\/webt\/zm\/r5\/93\/zmr593m_bp9pm9ijglrvncf3cxo.png\"\/><\/div>\n<p>  <\/p>\n<h3><font color=\"#3AC1EF\">\u258d Promtail<\/font><\/h3>\n<p>  <a href=\"https:\/\/grafana.com\/docs\/loki\/latest\/clients\/promtail\/\">Promtail<\/a> \u2013 \u044d\u0442\u043e \u0430\u0433\u0435\u043d\u0442, \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043b\u043e\u0433\u043e\u0432 \u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 Grafana Loki \u0438\u043b\u0438 <a href=\"https:\/\/grafana.com\/oss\/loki\">Grafana Cloud<\/a>. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u043d \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430.<\/p>\n<p>  \u0415\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<ul>\n<li>\u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0439;<\/li>\n<li>\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u0435\u0439\u0431\u043b\u043e\u0432 \u043f\u043e\u0442\u043e\u043a\u0430\u043c \u043b\u043e\u0433\u043e\u0432;<\/li>\n<li>\u0438\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0432 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 Loki.<\/li>\n<\/ul>\n<p>  \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 Promtail \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432:  <\/p>\n<ul>\n<li>\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043b\u043e\u0433-\u0444\u0430\u0439\u043b\u043e\u0432;<\/li>\n<li>\u0436\u0443\u0440\u043d\u0430\u043b\u0430 systemd.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3><font color=\"#3AC1EF\">\u258d \u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Loki<\/font><\/h3>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043d\u0430\u0447\u0430\u0442\u044c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0451\u043d Kubernetes \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre><code class=\"bash\">kubectl create ns observability<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041b\u0443\u0447\u0448\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0439 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 K8s \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0451\u043d. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/cloud.google.com\/blog\/products\/containers-kubernetes\/kubernetes-best-practices-organizing-with-namespaces\">\u0437\u0434\u0435\u0441\u044c<\/a> (\u0430\u043d\u0433\u043b.).<\/p><\/blockquote>\n<p>  \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 <a href=\"https:\/\/github.com\/grafana\/helm-charts\">Helm-\u0447\u0430\u0440\u0442\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 Grafana<\/a> \u043d\u0430 \u0441\u0432\u043e\u044e \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e:<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/grafana\/helm-charts<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>loki-stack<\/code>:<\/p>\n<pre><code class=\"bash\">cd helm-charts\/charts\/loki-stack<\/code><\/pre>\n<p>  \u0412 \u0444\u0430\u0439\u043b\u0435 <a href=\"https:\/\/github.com\/grafana\/helm-charts\/tree\/main\/charts\/loki-stack\">readme<\/a> \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c Loki \u0441 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439:<\/p>\n<pre><code class=\"bash\">helm upgrade --install loki . -n observability<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">NAME: loki LAST DEPLOYED: Fri Sep 23 17:20:34 2022 NAMESPACE: observability STATUS: deployed REVISION: 1 NOTES: The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana.<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430:<\/p>\n<pre><code class=\"bash\">Error: INSTALLATION FAILED: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts\/ directory: loki, promtail, fluent-bit, grafana, prometheus, filebeat, logstash<\/code><\/pre>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/p>\n<pre><code class=\"bash\">helm dependency build<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u043b\u0438 \u043f\u043e\u0434\u044b:<\/p>\n<pre><code class=\"bash\">kubectl get pods -n observability<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434:<\/p>\n<pre><code class=\"bash\">NAME                  READY   STATUS    RESTARTS   AGE loki-0                1\/1     Running   0          7s loki-promtail-xvhn5   1\/1     Running   0          7s<\/code><\/pre>\n<p>  Loki \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442 \ud83d\ude42<\/p>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a Tempo.<\/p>\n<h2><font color=\"#3AC1EF\">Tempo<\/font><\/h2>\n<p>  Grafana Tempo \u2013 \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438. \u041e\u043d \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u0440\u0435\u0431\u0443\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043b\u0438\u0448\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0441 Grafana, Prometheus \u0438 Loki.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/i3\/qo\/ok\/i3qookhhoholtgv2qhrubcadcfg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/i3\/qo\/ok\/i3qookhhoholtgv2qhrubcadcfg.png\"\/><\/div>\n<p>  \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0442\u0435\u043a\u043e\u043c Grafana \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 Logs (\u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044f ID \u0442\u0440\u0435\u0439\u0441\u0430 \u0438\u0437 Loki) \u0432 Traces (\u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0435\u0441\u044f \u0432 Tempo). \u041f\u043e\u043c\u0438\u043c\u043e \u044d\u0442\u043e\u0433\u043e, \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u0442 \u0436\u0435 \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0439\u0441\u043e\u0432.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 Grafana, Prometheus \u0438 Loki, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a \u043d\u0438\u043c Tempo \u0434\u043b\u044f \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  Tempo \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441 \u043b\u044e\u0431\u044b\u043c \u0438\u0437 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f Jaeger, Zipkin \u0438 OpenTelemetry.<\/p>\n<p>  \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0442\u0440\u0435\u0439\u0441\u043e\u0432 \u0432 \u043b\u044e\u0431\u043e\u043c \u0438\u0437 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432, \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0438 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 Azure, GCS, S3 \u043b\u0438\u0431\u043e \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0441\u043a, \u0434\u0435\u043b\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 Grafana.<\/p>\n<h3><font color=\"#3AC1EF\">\u258d \u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Grafana Tempo<\/font><\/h3>\n<p>  \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0447\u0442\u043e \u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f Loki. \u041f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>tempo<\/code>:<\/p>\n<pre><code class=\"bash\">cd helm-charts\/tempo<\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Tempo \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Helm:<\/p>\n<pre><code class=\"bash\">helm upgrade --install tempo . -n observability<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">NAME: tempo LAST DEPLOYED: Fri Sep 23 17:26:22 2022 NAMESPACE: observability STATUS: deployed REVISION: 1 TEST SUITE: None<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u043b\u0438 \u043f\u043e\u0434\u044b:<\/p>\n<pre><code class=\"bash\">kubectl get pods -n observability<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434:<\/p>\n<pre><code class=\"bash\">NAME                  READY   STATUS    RESTARTS   AGE loki-0                1\/1     Running   0          7s loki-promtail-xvhn5   1\/1     Running   0          7s tempo-0               2\/2     Running   0          74s<\/code><\/pre>\n<p>  Tempo \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442 \ud83d\ude42<\/p>\n<p>  \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a Prometheus \u0438 Grafana.<\/p>\n<h2><font color=\"#3AC1EF\">Prometheus<\/font><\/h2>\n<p>  <a href=\"https:\/\/github.com\/prometheus\/prometheus\">Prometheus<\/a> \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442 <a href=\"https:\/\/cncf.io\/\">Cloud Native Computing Foundation<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438 \u043c\u043e\u0436\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/jy\/do\/gf\/jydogfklt1wmq7yyxbci7t93bdo.png\" data-src=\"https:\/\/habrastorage.org\/webt\/jy\/do\/gf\/jydogfklt1wmq7yyxbci7t93bdo.png\"\/><\/div>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u0440\u0435\u043c\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Prometheus \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 15 \u0434\u043d\u0435\u0439, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043d\u0430\u0441 \u043a Cortex \u0438 Grafana Mimir, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<h2><font color=\"#3AC1EF\">Cortex \u0438 Grafana Mimir<\/font><\/h2>\n<p>  <\/p>\n<h3><font color=\"#3AC1EF\">\u258d Cortex<\/font><\/h3>\n<p>  <a href=\"https:\/\/github.com\/cortexproject\/cortex\">Cortex<\/a> \u2014 \u044d\u0442\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0435, \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435, \u043c\u0443\u043b\u044c\u0442\u0438\u0430\u0440\u0435\u043d\u0434\u043d\u043e\u0435, \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f <a href=\"https:\/\/prometheus.io\/docs\/operating\/configuration\/#remote_write\">\u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438<\/a> \u0434\u0430\u043d\u043d\u044b\u0445 Prometheus.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/pj\/rb\/bp\/pjrbbpk1mr8-6gc3ccdrdfmimky.png\" data-src=\"https:\/\/habrastorage.org\/webt\/pj\/rb\/bp\/pjrbbpk1mr8-6gc3ccdrdfmimky.png\"\/><\/div>\n<p>  \u0414\u043b\u044f \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Prometheus \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c:<\/p>\n<pre><code class=\"bash\">remote_write: - url: http:\/\/localhost:9009\/api\/v1\/push<\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043b\u0438\u0448\u043d\u0438\u043c \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 <a href=\"https:\/\/github.com\/cortexproject\/cortex\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439<\/a> \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n<h3><font color=\"#3AC1EF\">\u258d Grafana Mimir<\/font><\/h3>\n<p>  \u0412 \u043c\u0430\u0440\u0442\u0435 2022 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 Grafana \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0432\u044b\u0445\u043e\u0434\u0435 <a href=\"https:\/\/grafana.com\/blog\/2022\/03\/30\/announcing-grafana-mimir\">Grafana Mimir<\/a>, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 Cortex.<\/p>\n<blockquote><p><a href=\"https:\/\/grafana.com\/blog\/2022\/03\/30\/announcing-grafana-mimir\/\">Mimir<\/a> \u0441\u043e\u0432\u043c\u0435\u0449\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0432\u0441\u0451 \u043b\u0443\u0447\u0448\u0435\u0435, \u0447\u0442\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432 Cortex, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f GEM \u0438 Grafana Cloud \u0432 \u0448\u0438\u0440\u043e\u0447\u0430\u0439\u0448\u0438\u0445 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430\u0445. \u0412\u0441\u0451 \u044d\u0442\u043e \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 AGPLv3.<\/p><\/blockquote>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/lm\/v1\/dl\/lmv1dltxp5zobavjivo_y7ngunu.png\" data-src=\"https:\/\/habrastorage.org\/webt\/lm\/v1\/dl\/lmv1dltxp5zobavjivo_y7ngunu.png\"\/><\/div>\n<p>  Mimir \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c <a href=\"https:\/\/grafana.com\/blog\/2022\/04\/08\/how-we-scaled-our-new-prometheus-tsdb-grafana-mimir-to-1-billion-active-series\/\">\u0431\u043e\u043b\u0435\u0435 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u043c\u0435\u0442\u0440\u0438\u043a<\/a>, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c, \u043c\u0443\u043b\u044c\u0442\u0438\u0430\u0440\u0435\u043d\u0434\u043d\u043e\u0441\u0442\u044c, \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0432 40 \u0440\u0430\u0437 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c Cortex. Mimir \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u043d\u0430 <a href=\"https:\/\/github.com\/grafana\/mimir\">https:\/\/github.com\/grafana\/mimir<\/a> \u0438 \u0432\u044b\u043f\u0443\u0449\u0435\u043d \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 AGPLv3.<\/p>\n<p>  \u041a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Cortex, \u0434\u043b\u044f \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Prometheus \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"bash\">remote_write: - url: http:\/\/localhost:9009\/api\/v1\/push<\/code><\/pre>\n<p>  \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Prometheus, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0430\u043c \u0441\u0435\u0431\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 Grafana Mimir, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">remote_write:   - url: http:\/\/localhost:9009\/api\/v1\/push\">http:\/\/localhost:9009\/api\/v1\/push  scrape_configs:   - job_name: prometheus     honor_labels: true     static_configs:       - targets: [\"localhost:9090\"]<\/code><\/pre>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043d\u0430 <a href=\"https:\/\/grafana.com\/docs\/mimir\/latest\/operators-guide\/get-started\/#configure-prometheus-to-write-to-grafana-mimir\">\u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435<\/a>.<\/p>\n<p>  \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 Grafana Mirmir <a href=\"https:\/\/grafana.com\/tutorials\/play-with-grafana-mimir\/\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"https:\/\/github.com\/grafana\/mimir\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e<\/a>.<\/p>\n<h2><font color=\"#3AC1EF\">Alertmanager<\/font><\/h2>\n<p>  <a href=\"https:\/\/github.com\/prometheus\/alertmanager\">Alertmanager<\/a> \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0435\u0440 Prometheus. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044e \u0432\u0440\u043e\u0434\u0435 \u044f\u0449\u0438\u043a\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b, Slack, PagerDuty \u0438\u043b\u0438 OpsGenie. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0439.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/j5\/fd\/hn\/j5fdhnnkd6_yqmmlnf6k9qalpec.png\" data-src=\"https:\/\/habrastorage.org\/webt\/j5\/fd\/hn\/j5fdhnnkd6_yqmmlnf6k9qalpec.png\"\/><\/div>\n<p>  \u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Alertmanager \u2013 \u044d\u0442\u043e \u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a Slack, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0448\u0438\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445.<\/p>\n<h2><font color=\"#3AC1EF\">Grafana<\/font><\/h2>\n<p>  <a href=\"https:\/\/github.com\/grafana\/grafana\">Grafana<\/a> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c, \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u0438 \u0442\u0440\u0430\u043a\u0442\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043c\u0435\u0441\u0442\u0430 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/hx\/lj\/cw\/hxljcwbmcc-b1eriwbjzkmaawqa.png\" data-src=\"https:\/\/habrastorage.org\/webt\/hx\/lj\/cw\/hxljcwbmcc-b1eriwbjzkmaawqa.png\"\/><\/div>\n<p>  <\/p>\n<ul>\n<li><i>\u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/i>: \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438 \u0433\u0438\u0431\u043a\u0438\u0435 \u0433\u0440\u0430\u0444\u044b \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u043e\u043f\u0446\u0438\u0439. \u041f\u043b\u0430\u0433\u0438\u043d\u044b \u043f\u0430\u043d\u0435\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u043b\u043e\u0433\u043e\u0432.<\/li>\n<li><i>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438<\/i>: \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432, \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u0432 \u0432\u0438\u0434\u0435 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0445 \u043e\u043a\u043e\u043d \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0430\u043d\u0435\u043b\u0438.<\/li>\n<li><i>\u0410\u043d\u0430\u043b\u0438\u0437 \u043c\u0435\u0442\u0440\u0438\u043a<\/i>: \u0438\u0437\u0443\u0447\u0430\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430. \u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0433\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u0432, \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445.<\/li>\n<li><i>\u0410\u043d\u0430\u043b\u0438\u0437 \u043b\u043e\u0433\u043e\u0432<\/i>: \u0438\u0441\u043f\u044b\u0442\u0430\u0439\u0442\u0435 \u043c\u0430\u0433\u0438\u044e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441 \u043c\u0435\u0442\u0440\u0438\u043a \u043d\u0430 \u043b\u043e\u0433\u0438 \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u043c\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0439\u0442\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u043b\u043e\u0433\u0430\u043c \u0438\u043b\u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0435 \u0438\u0445 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/li>\n<li><i>\u041e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f<\/i>: \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0439\u0442\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a. Grafana \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u0440\u043e\u0434\u0435 Slack, PagerDuty, VictorOps \u0438\u043b\u0438 OpsGenie.<\/li>\n<li><i>\u0421\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/i>: \u0441\u043e\u0432\u043c\u0435\u0449\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u043c \u0433\u0440\u0430\u0444\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435, \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/mt\/sz\/ed\/mtszedmfsshjykcr3sqpbff_6hi.png\" data-src=\"https:\/\/habrastorage.org\/webt\/mt\/sz\/ed\/mtszedmfsshjykcr3sqpbff_6hi.png\"\/><\/div>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">Kube-Prometheus<\/font><\/h2>\n<p>  \u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Kube-Prometheus \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b Kubernetes, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 <a href=\"http:\/\/grafana.com\/\">Grafana<\/a> \u0438 <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/configuration\/recording_rules\/\">\u043f\u0440\u0430\u0432\u0438\u043b\u0430 Prometheus<\/a>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0441\u043a\u0432\u043e\u0437\u043d\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Prometheus Operator.<\/p>\n<p>  \u0421\u0442\u0435\u043a Kube-Prometheus \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.<\/p>\n<p>  \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u0451\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 K8s, \u0438 \u043e\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0447\u043d\u0451\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u043e \u0432\u0441\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c. \u0412 \u043d\u0451\u043c \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Grafana. \u041f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435!<\/p>\n<h3><font color=\"#3AC1EF\">\u258d \u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Kube-Prometheus<\/font><\/h3>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f Prometheus \u0438 Grafana \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Helm-\u0447\u0430\u0440\u0442 Kube-Prometheus.<\/p>\n<p>  \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 <a href=\"https:\/\/github.com\/prometheus-community\/helm-charts\">Helm-\u0447\u0430\u0440\u0442\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 Prometheus<\/a> \u043d\u0430 \u0441\u0432\u043e\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e:<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/prometheus-community\/helm-charts\/<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <code>kube-prometheus-stack<\/code>:<\/p>\n<pre><code class=\"bash\">cd helm-charts\/charts\/kube-prometheus-stack<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Helm, \u043c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0444\u0430\u0439\u043b <code>values.yaml<\/code>.<\/p>\n<blockquote><p>\u0424\u0430\u0439\u043b <code>values.yaml<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0447\u0430\u0440\u0442\u0430. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c.<\/p><\/blockquote>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u0432\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 Grafana, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u043d\u0435\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0435 Loki \u0438 Tempo.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/h1\/fy\/kv\/h1fykvwbbq0xotvjedkajgk300g.png\" data-src=\"https:\/\/habrastorage.org\/webt\/h1\/fy\/kv\/h1fykvwbbq0xotvjedkajgk300g.png\"\/><\/div>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 <code>derivedFields<\/code>.<\/p>\n<p>  \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Derived Fields \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442:<\/p>\n<ul>\n<li>\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u043b\u044f, \u0441\u043f\u0430\u0440\u0441\u0435\u043d\u043d\u044b\u0435 \u0438\u0437 \u043b\u043e\u0433-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f;<\/li>\n<li>\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f.<\/li>\n<\/ul>\n<p>  \u042d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0447\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043b\u043e\u0433\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u0430\u0448 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0438\u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0435\u0441\u043b\u0438 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u043b\u043e\u0433\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 <code>userId<\/code>. \u042d\u0442\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 <a href=\"https:\/\/grafana.com\/docs\/grafana\/latest\/explore\/logs-integration\/#labels-and-detected-fields\">\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u0445 \u043b\u043e\u0433\u043e\u0432<\/a>.<\/p>\n<p>  \u0412\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c kube-prometheus \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Helm (\u0437\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u0447\u0442\u043e \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0437\u0434\u0435\u0441\u044c \u0444\u0430\u0439\u043b <code>values.yaml<\/code>):<\/p>\n<pre><code class=\"bash\">helm install my-grafana-stack prometheus-community\/kube-prometheus-stack -n observability --values values.yaml<\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 <code>kube-prometheus<\/code> \u0432 \u0432\u0430\u0448 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes \u0437\u0430\u0439\u043c\u0451\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<pre><code class=\"bash\">NAME: my-grafana-stack LAST DEPLOYED: Fri Sep 23 19:22:13 2022 NAMESPACE: observability STATUS: deployed REVISION: 1 NOTES: kube-prometheus-stack has been installed. Check its status by running:   kubectl --namespace observability get pods -l \"release=my-grafana-stack\"<\/code><\/pre>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 <code>helm list -A<\/code> \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432\u0441\u0435\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u0431\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432.<\/p>\n<pre><code class=\"bash\">NAME              NAMESPACE     STATUS   CHART loki              observability deployed loki-stack-2.8.2        my-grafana-stack  observability deployed kube-prometheus-stack-40.1.2 tempo             observability deployed tempo-0.16.2<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u043b\u0438 \u043f\u043e\u0434\u044b:<\/p>\n<pre><code class=\"bash\">kubectl get pods -n observability<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/x-\/eh\/-o\/x-eh-outexzxocr-ugezlnk2-ja.png\" data-src=\"https:\/\/habrastorage.org\/webt\/x-\/eh\/-o\/x-eh-outexzxocr-ugezlnk2-ja.png\"\/><\/div>\n<p>  Grafana \u0438 Prometheus \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b \ud83d\ude42<\/p>\n<h2><font color=\"#3AC1EF\">\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0432 Prometheus<\/font><\/h2>\n<p>  \u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a Prometheus \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/kubernetes.io\/docs\/tasks\/access-application-cluster\/port-forward-access-application-cluster\/\">\u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432<\/a>.<\/p>\n<pre><code class=\"bash\">kubectl get svc -n observability kubectl port-forward svc\/my-grafana-stack-kube-prom-prometheus 9090:9090 -n observability<\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Prometheus, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 <code>http:\/\/localhost:9090\/<\/code>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/g1\/mh\/2j\/g1mh2j1qukrhtcwt1c7h6xujcl4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/g1\/mh\/2j\/g1mh2j1qukrhtcwt1c7h6xujcl4.png\"\/><\/div>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 <i>Metrics Explorer<\/i>, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043c\u0435\u0442\u0440\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Prometheus \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/bs\/tn\/sz\/bstnszfc5hu83jielourpwoqvpq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/bs\/tn\/sz\/bstnszfc5hu83jielourpwoqvpq.png\"\/><\/div>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0432 Alertmanager<\/font><\/h2>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a Alertmanager:<\/p>\n<pre><code class=\"bash\">kubectl port-forward svc\/my-grafana-stack-kube-prom-alertmanager 9093:9093 -n observability<\/code><\/pre>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Alertmanager \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>http:\/\/localhost:9093\/<\/code>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gi\/j8\/uw\/gij8uw4c2lz45mkw0ydxkx4187a.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gi\/j8\/uw\/gij8uw4c2lz45mkw0ydxkx4187a.png\"\/><\/div>\n<p>  \u041d\u0430\u0436\u0430\u0432 \u0437\u043d\u0430\u0447\u043e\u043a <code>+<\/code>, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0440\u044f\u0434 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0439.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/wz\/_2\/rw\/wz_2rwrf-vbks1ut4tzfejcczpw.png\" data-src=\"https:\/\/habrastorage.org\/webt\/wz\/_2\/rw\/wz_2rwrf-vbks1ut4tzfejcczpw.png\"\/><\/div>\n<p>  <\/p>\n<h3><font color=\"#3AC1EF\">\u258d \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f<\/font><\/h3>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u043e\u0435 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u043d\u0446\u0438\u043f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b <code>values.yaml<\/code>.<\/p>\n<p>  \u0420\u0430\u043d\u0435\u0435 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0438\u0437 Grafana \u0434\u0432\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0434\u043b\u044f Tempo \u0438 Loki. \u0422\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u043d\u0435\u0441\u043b\u0438 \u0438\u0445 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <code>grafana.additionalDataSources<\/code>.<\/p>\n<p>  \u041e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <code>additionalPrometheusRulesMap:<\/code>.<\/p>\n<p>  \u041d\u0430\u0448\u0435 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0451\u043d <code>observability<\/code> \u043c\u0435\u043d\u0435\u0435 11 \u043f\u043e\u0434\u043e\u0432. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 <code>kubectl get pods -n observability<\/code>, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0438\u0445 \u0447\u0438\u0441\u043b\u043e \u0440\u0430\u0432\u043d\u043e 10.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/3s\/5s\/du\/3s5sdub3adwm6mtunilwdtw5wqe.png\" data-src=\"https:\/\/habrastorage.org\/webt\/3s\/5s\/du\/3s5sdub3adwm6mtunilwdtw5wqe.png\"\/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f <code>values.yaml<\/code> \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c <code>helm upgrade<\/code> \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/p>\n<pre><code class=\"bash\">helm upgrade my-grafana-stack prometheus-community\/kube-prometheus-stack -n observability --values values.yaml<\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437 Prometheus UI \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0443 <i>Alerts<\/i>: <code>https:\/\/127.0.0.1:9090\/alerts<\/code><\/p>\n<p>  \u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u043d\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043c\u0438 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 -> <code>observabilityPodsDown<\/code><\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f <code>Pending<\/code>. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0435\u0433\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0435\u0449\u0451 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0440\u043e\u0433.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/oa\/ju\/ly\/oajulyt5kj0tbakrt98kda9qcpy.png\" data-src=\"https:\/\/habrastorage.org\/webt\/oa\/ju\/ly\/oajulyt5kj0tbakrt98kda9qcpy.png\"\/><\/div>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0438\u043e\u0434 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0442 \u043f\u043e\u0440\u043e\u0433 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u0442, \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043d\u0430 <code>Firing<\/code>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xa\/ui\/mo\/xauimoag7sb5ur6cd0u_2sgbupe.png\" data-src=\"https:\/\/habrastorage.org\/webt\/xa\/ui\/mo\/xauimoag7sb5ur6cd0u_2sgbupe.png\"\/><\/div>\n<p>  <\/p>\n<blockquote><p><i>\u0421\u043e\u0432\u0435\u0442<\/i>: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442 \u0432\u0430\u0441 \u0432 UI \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p><\/blockquote>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/0c\/jx\/wv\/0cjxwvlixr1nxu0z4necucowrio.png\" data-src=\"https:\/\/habrastorage.org\/webt\/0c\/jx\/wv\/0cjxwvlixr1nxu0z4necucowrio.png\"\/><\/div>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0432 Grafana<\/font><\/h2>\n<p>  \u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a Grafana \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432:<\/p>\n<blockquote><p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>kubectl port-forward<\/code> \u043f\u0440\u0438\u0433\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\/\u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u043d\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044f \u0435\u0433\u043e. <\/p><\/blockquote>\n<p>  <\/p>\n<pre><code class=\"bash\">kubectl port-forward svc\/my-grafana-stack 3000:80 -n observability<\/code><\/pre>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Alertmanager \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>http:\/\/localhost:3000\/<\/code>.<\/p>\n<p>  \u041b\u043e\u0433\u0438\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: <code>admin : prom-operator<\/code><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/wo\/ve\/vn\/wovevnkwrh2mr9lupqsyauwqby8.png\" data-src=\"https:\/\/habrastorage.org\/webt\/wo\/ve\/vn\/wovevnkwrh2mr9lupqsyauwqby8.png\"\/><\/div>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e <i>Dashboard<\/i>, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0447\u0430\u0440\u0442 Helm \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/2o\/ri\/7j\/2ori7jhn29pkjzzrpe3uycreizi.png\" data-src=\"https:\/\/habrastorage.org\/webt\/2o\/ri\/7j\/2ori7jhn29pkjzzrpe3uycreizi.png\"\/><\/div>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/-x\/d6\/ee\/-xd6eekp41qyvulcrlhm56vben4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/-x\/d6\/ee\/-xd6eekp41qyvulcrlhm56vben4.png\"\/><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u043d\u044f\u043b\u0438, \u043a\u0430\u043a \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a Grafana, Prometheus \u0438 Alertmanager, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Loki \u0438 Tempo.<\/p>\n<h2><font color=\"#3AC1EF\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/font><\/h2>\n<p>  Grafana \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0434\u043b\u044f \u0432\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432. \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f <a href=\"https:\/\/grafana.com\/docs\/grafana\/latest\/datasources\/#supported-data-sources\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u0442\u0435 \u0432 <i>Data Sources<\/i>, \u0442\u043e \u043d\u0430\u0439\u0434\u0451\u0442\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Loki \u0438 Tempo, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432 \u0444\u0430\u0439\u043b <code>values.yaml<\/code>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/yw\/1k\/-m\/yw1k-mmhxbw2srmt8zy-ycusmvg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/yw\/1k\/-m\/yw1k-mmhxbw2srmt8zy-ycusmvg.png\"\/><\/div>\n<p>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445 Prometheus \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043f\u0440\u0438 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 Kube-Prometheus.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/hb\/ak\/-f\/hbak-ffp2rseyop51ujcmwzxbge.png\" data-src=\"https:\/\/habrastorage.org\/webt\/hb\/ak\/-f\/hbak-ffp2rseyop51ujcmwzxbge.png\"\/><\/div>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0442\u0440\u0435\u0439\u0441\u043e\u0432<\/font><\/h2>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0442\u0440\u0435\u0439\u0441\u043e\u0432 \u0432 Grafana \u0443 \u043d\u0430\u0441 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041e\u0431\u044b\u0447\u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 \u0434\u0435\u043c\u043e HotRod (Rides on Demand).<\/p>\n<h2><font color=\"#3AC1EF\">HotROD (Rides on Demand)<\/font><\/h2>\n<p>  HotRod \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 Jaeger, \u0438 \u043e\u043d \u0432\u043f\u043e\u043b\u043d\u0435 \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0440\u0435\u0439\u0441\u043e\u0432. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Jaeger, \u042e\u0440\u0438\u0439 \u0428\u043a\u0443\u0440\u043e, \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e <a href=\"https:\/\/medium.com\/jaegertracing\/take-jaeger-for-a-hotrod-ride-233cf43e46c2\">Take Jaeger for a HotROD ride<\/a>.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u044d\u0442\u043e \u0434\u0435\u043c\u043e-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0435\u0437\u0434\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 (\u0438 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0432\u0440\u043e\u0434\u0435 MySQL \u0438 Redis). \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043e\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432.<\/p>\n<blockquote><p>\u041c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u043e HotRod \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 -> <a href=\"https:\/\/faun.pub\/a-beginners-guide-to-jaeger-ed75ce5ed8f4\">A beginner\u2019s guide to Jaeger<\/a>, \u0433\u0434\u0435 \u0432\u044b \u043d\u0430\u0439\u0434\u0451\u0442\u0435 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0435\u0433\u043e \u0441 Jaeger:)<\/p><\/blockquote>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u0438\u0437 \u0441\u0435\u0431\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 HotRod, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430 Kubernetes (<code>deployment<\/code> \u0438 <code>service<\/code>).<\/p>\n<h3><font color=\"#3AC1EF\">\u258d HotROD Deployment<\/font><\/h3>\n<p>  <\/p>\n<pre><code class=\"bash\">vim hotrod-deployment.yaml<\/code><\/pre>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ei\/nt\/md\/eintmdtqkljoqyny9azvm8iwwhk.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ei\/nt\/md\/eintmdtqkljoqyny9azvm8iwwhk.png\"\/><\/div>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b. \u0414\u0435\u043c\u043e HotROD \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0438\u0445 \u043d\u0430 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u0442\u0440\u0435\u0439\u0441\u043e\u0432.<\/p>\n<ul>\n<li><code>JAEGER_AGENT_HOST<\/code>: \u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0441 \u0430\u0433\u0435\u043d\u0442\u043e\u043c.<\/li>\n<li><code>JAEGER_AGENT_PORT<\/code>: \u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 \u0430\u0433\u0435\u043d\u0442\u043e\u043c.<\/li>\n<li><code>JAEGER_SAMPLE_TYPE<\/code> \u0438 <code>JAEGER_SAMPLE_PARAM<\/code>: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0443\u0447\u043d\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0441\u044d\u043c\u043f\u043b\u0438\u043d\u0433\u0430. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 <a href=\"https:\/\/github.com\/jaegertracing\/jaeger-client-go#environment-variables\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043d \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>kubectl apply -f hotrod-deployment.yaml<\/code><\/p>\n<h3><font color=\"#3AC1EF\">\u258d HotROD Service<\/font><\/h3>\n<p>  <\/p>\n<pre><code class=\"bash\">vim hotrod-service.yaml<\/code><\/pre>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ou\/6i\/pc\/ou6ipc0jcfimklclw6ctq2duy4k.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ou\/6i\/pc\/ou6ipc0jcfimklclw6ctq2duy4k.png\"\/><\/div>\n<p>  <\/p>\n<pre><code class=\"bash\">kubectl apply -f hotrod-service.yaml<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u043c\u043e-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432:<\/p>\n<pre><code class=\"bash\">kubectl port-forward service\/hotrod -n observability 3001:8080<\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 <code>http:\/\/127.0.0.1:3001\/<\/code><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/d-\/pv\/go\/d-pvgoamun848e1scdixsr_t5o4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/d-\/pv\/go\/d-pvgoamun848e1scdixsr_t5o4.png\"\/><\/div>\n<p>  \u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\/\u0442\u0440\u0435\u0439\u0441\u043e\u0432, \u043a\u043b\u0438\u043a\u043d\u0443\u0432 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u042d\u0442\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0432 Grafana, \u0447\u0442\u043e \u043c\u044b \u0432\u0441\u043a\u043e\u0440\u0435 \u0443\u0432\u0438\u0434\u0438\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/0n\/sj\/ki\/0nsjkiy6orajsil75bix9fshot8.png\" data-src=\"https:\/\/habrastorage.org\/webt\/0n\/sj\/ki\/0nsjkiy6orajsil75bix9fshot8.png\"\/><\/div>\n<h2><font color=\"#3AC1EF\">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0442\u0440\u0435\u0439\u0441\u043e\u0432 \u0432 Tempo<\/font><\/h2>\n<p>  \u0412\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f HotROD.<\/p>\n<ul>\n<li>\u0412\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0432 Grafana \u0438 \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 <i>Explore<\/i>.<\/li>\n<li>\u0418\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 <i>Loki<\/i>.<\/li>\n<li>\u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <i>Labels<\/i> \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 <i>app<\/i>, \u0430 \u0437\u0430\u0442\u0435\u043c <i>hotrod<\/i>.<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/cq\/xf\/uh\/cqxfuhhegk_sxbkoy5yenh3pp0m.png\" data-src=\"https:\/\/habrastorage.org\/webt\/cq\/xf\/uh\/cqxfuhhegk_sxbkoy5yenh3pp0m.png\"\/><\/div>\n<p>  <\/p>\n<ul>\n<li>\u041a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 Run Query \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u0443\u0433\u043b\u0443.<\/li>\n<\/ul>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043d\u0438\u0436\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044d\u043a\u0440\u0430\u043d\u0430 \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0432\u0441\u0435 \u043b\u043e\u0433\u0438 (loki).<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/yz\/kz\/gz\/yzkzgzrv81d24ctaid4ucp6hlde.png\" data-src=\"https:\/\/habrastorage.org\/webt\/yz\/kz\/gz\/yzkzgzrv81d24ctaid4ucp6hlde.png\"\/><\/div>\n<p>  <\/p>\n<ul>\n<li>\u041a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043b\u043e\u0433\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0435\u0451 \u043e\u0442\u043a\u0440\u044b\u0442\u044c. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u043b\u0435 <code>TraceID<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437\u0432\u043b\u0435\u0447\u0451\u043d\u043d\u044b\u0439 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432 <code>trace_id<\/code>.<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/zu\/zn\/gi\/zuzngiqgle_2tepwwqqadrxqd1y.png\" data-src=\"https:\/\/habrastorage.org\/webt\/zu\/zn\/gi\/zuzngiqgle_2tepwwqqadrxqd1y.png\"\/><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u044f\u0434\u043e\u043c \u0441 <code>TraceID<\/code> \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0432\u0438\u0434\u043d\u0430 \u0441\u0438\u043d\u044f\u044f \u043a\u043d\u043e\u043f\u043a\u0430 <i>Tempo<\/i>. \u041a\u043b\u0438\u043a\u043d\u0443\u0432 \u043f\u043e \u043d\u0435\u0439, \u0432\u044b \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0435 Tempo UI, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u0440\u0435\u0439\u0441\u0430\u0445.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xf\/6h\/5e\/xf6h5eis1ajpljp9u-ktqdze2sg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/xf\/6h\/5e\/xf6h5eis1ajpljp9u-ktqdze2sg.png\"\/><\/div>\n<p>  \u041e\u0442\u0441\u044e\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u0442\u0440\u0435\u0439\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0435\u0434\u0451\u0442 \u0441\u0441\u044b\u043b\u043a\u0430 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432 Loki. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043a\u0440\u0443\u0442\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 \u043b\u043e\u0433\u043e\u0432 (Loki) \u0432 \u0442\u0440\u0435\u0439\u0441\u044b (Tempo).<\/p>\n<h2><font color=\"#3AC1EF\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e, \u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0441\u0442\u0435\u043a \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u0438 Grafana, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 Grafana, Prometheus, Loki \u0438 Tempo.<\/p>\n<blockquote><p><b><font color=\"#3AC1EF\"><a href=\"https:\/\/inlnk.ru\/dn6PzK\">Telegram-\u043a\u0430\u043d\u0430\u043b \u0441 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u044f\u043c\u0438<\/a> \u0438 <a href=\"https:\/\/inlnk.ru\/ZZMz0Y\">\u0443\u044e\u0442\u043d\u044b\u0439 \u0447\u0430\u0442<\/a><\/font><\/b><\/p><\/blockquote>\n<p><a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=Bright_Translate&amp;utm_content=prakticheskoe_rukovodstvo_po_realizacii_nablyudaemosti_v_devops\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/sz\/7j\/pf\/sz7jpfj8i1pa6ocj-eia09dev4q.png\" data-src=\"https:\/\/habrastorage.org\/webt\/sz\/7j\/pf\/sz7jpfj8i1pa6ocj-eia09dev4q.png\"\/><\/a><\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/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\/ruvds\/blog\/701034\/\"> https:\/\/habr.com\/ru\/company\/ruvds\/blog\/701034\/<\/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-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/701034\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/jc\/wa\/kh\/jcwakhpe85upv8a16juvshl6zlq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/jc\/wa\/kh\/jcwakhpe85upv8a16juvshl6zlq.png\"\/><\/div>\n<p><\/a><br \/>  \u0412 \u0445\u043e\u0434\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0451\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0442\u0435\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u0438 Grafana:<\/p>\n<ul>\n<li><a href=\"https:\/\/grafana.com\/oss\/loki\/\">Loki<\/a> (\u043b\u043e\u0433\u0438);<\/li>\n<li><a href=\"https:\/\/grafana.com\/docs\/loki\/latest\/clients\/promtail\/\">Promtail<\/a> (\u0430\u0433\u0435\u043d\u0442 \u043b\u043e\u0433\u043e\u0432);<\/li>\n<li><a href=\"https:\/\/grafana.com\/oss\/tempo\/\">Tempo<\/a> (\u0442\u0440\u0430\u0441\u0441\u0438\u0440\u0440\u043e\u0432\u043a\u0430);<\/li>\n<li><a href=\"https:\/\/prometheus.io\/\">Prometheus<\/a> (\u043c\u0435\u0442\u0440\u0438\u043a\u0438);<\/li>\n<li><a href=\"https:\/\/github.com\/cortexproject\/cortex\">Cortex<\/a> \u0438 <a href=\"https:\/\/github.com\/grafana\/mimir\">Grafana Mimir<\/a> (\u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 Prometheus);<\/li>\n<li><a href=\"https:\/\/prometheus.io\/docs\/alerting\/latest\/alertmanager\/\">Alertmanager<\/a> (\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0439 Prometheus);<\/li>\n<li><a href=\"https:\/\/grafana.com\/\">Grafana<\/a> (\u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f).<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c!<\/p>\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-341735","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/341735","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=341735"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/341735\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=341735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=341735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=341735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}