{"id":356608,"date":"2024-05-20T23:33:26","date_gmt":"2024-05-20T23:33:26","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=356608"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-20T23:33:26","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=356608","title":{"rendered":"<span>\u041a\u0430\u043a \u043c\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 Sentry. \u0427\u0430\u0441\u0442\u044c 1 \u2014 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430<\/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<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u042f \u0412\u0438\u0442\u0430\u043b\u0438\u0439, DevOps \u0432 <a href=\"http:\/\/LEADS.SU\" rel=\"noopener noreferrer nofollow\">LEADS.SU<\/a>, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 <em>Sentry<\/em> <code>self-hosted<\/code> \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 &#8212; \u043d\u0435\u043b\u044c\u0437\u044f \u0442\u0435\u0440\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0432\u0440\u043e\u0434\u0435 <em>redis<\/em>, <em>postgresql<\/em>, <em>clickhouse<\/em>, <em>kafka<\/em> \u0438 \u043f\u0440\u043e\u0447\u0435\u0435). \u0418 \u0442\u0443\u0442 \u043c\u044b \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b\u0438 \u043f\u0440\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 <code>td-agent<\/code> \u0438 \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0421\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e \u0442\u0435\u043c\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/781446\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 Sentry. \u0427\u0430\u0441\u0442\u044c 2 \u2014 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443<\/a><\/p>\n<\/li>\n<\/ul>\n<h2>\u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u0442\u0430\u0442\u044c\u0435<\/h2>\n<ul>\n<li>\n<p><a href=\"##preface\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##sentry-vs-logging\" rel=\"noopener noreferrer nofollow\">Sentry VS Logging<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##saas-vs-selfhosted\" rel=\"noopener noreferrer nofollow\">SaaS VS Self-hosted<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##install\" rel=\"noopener noreferrer nofollow\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Sentry<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##ldap\" rel=\"noopener noreferrer nofollow\">LDAP<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##update\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Sentry<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##production\" rel=\"noopener noreferrer nofollow\">Production Sentry<\/a> <\/p>\n<ul>\n<li>\n<p><a href=\"##delivery-network\" rel=\"noopener noreferrer nofollow\">\u0421\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##backend\" rel=\"noopener noreferrer nofollow\">Backend<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##frontend\" rel=\"noopener noreferrer nofollow\">Frontend<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##buffer-lost-events\" rel=\"noopener noreferrer nofollow\">\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043f\u043e\u0442\u0435\u0440\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"##monitoring\" rel=\"noopener noreferrer nofollow\">\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433<\/a> <\/p>\n<ul>\n<li>\n<p><a href=\"##log-collect\" rel=\"noopener noreferrer nofollow\">\u0421\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"##conclusion\" rel=\"noopener noreferrer nofollow\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"#preface\" id=\"#preface\"><\/a><\/p>\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p><em>Sentry<\/em> \u0431\u044b\u043b \u043f\u0440\u0438\u043d\u0435\u0441\u0435\u043d \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430, \u0440\u0430\u043d\u044c\u0448\u0435 \u044f &#171;\u0438\u043d\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u043a\u0430\u043b \u043e\u0448\u0438\u0431\u043a\u0438&#187;. \u041d\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u044f \u043f\u043e\u043d\u044f\u043b \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043b\u0438\u0448\u044c \u043c\u0430\u043b\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0438\u0437 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043b <em>Sentry<\/em> \u0432\u0435\u0437\u0434\u0435 \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u0442 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0447\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u043e\u0437\u0432\u043e\u043d\u0435. \u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0444\u043e\u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0438 \u0432\u0441\u0435\u0433\u043e \u0442\u043e\u0433\u043e \u043a\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c <em>Sentry<\/em>.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043f\u0438\u043b\u043e\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e <code>self-hosted<\/code> \u0441 \u043e\u0447\u0435\u043d\u044c \u0441\u044b\u0440\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043c\u044b \u0434\u043e\u0432\u0435\u043b\u0438 \u043d\u0430\u0448\u0443 \u043e\u0431\u0435\u0440\u0442\u043a\u0443 \u043d\u0430\u0434 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c <em>Sentry<\/em> \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043d\u0430\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0430 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u0437 <code>td-agent'\u043e\u0432<\/code>, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433, \u0438 \u0432\u043d\u0435\u0434\u0440\u0438\u043b\u0438 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.<\/p>\n<p><a class=\"anchor\" name=\"#sentry-vs-logging\" id=\"#sentry-vs-logging\"><\/a><\/p>\n<h2>Sentry VS Logging<\/h2>\n<p>\u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b <em>Sentry<\/em> \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0432\u043e\u0437\u0440\u0430\u0437\u0438\u043b\u0438: \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043c \u0436\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0444\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c, \u0437\u0430\u0447\u0435\u043c \u043d\u0430\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a?<\/p>\n<p>\u0412 \u0442\u043e\u043c \u0442\u043e \u0438 \u0434\u0435\u043b\u043e &#8212; \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a, \u0430 \u043d\u0435 \u0442\u0440\u0435\u043a\u0438\u043d\u0433. \u041f\u043e\u043b\u0430\u0433\u0430\u044e \u0441\u043a\u0440\u0438\u043d \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0432\u044b\u0434\u0430\u0447\u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0435\u0435:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xs\/-g\/ou\/xs-gou4l1k9ci-3_jpxfhzmnxv4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/xs\/-g\/ou\/xs-gou4l1k9ci-3_jpxfhzmnxv4.png\"\/><\/figure>\n<p>\u041d\u0430 \u0441\u0430\u0439\u0442\u0435 <em>Sentry<\/em> \u0435\u0441\u0442\u044c <a href=\"https:\/\/sentry.io\/vs\/logging\/\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a> \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443, \u0430 \u0435\u0441\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e \u0442\u043e \u043c\u044b\u0441\u043b\u044c \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443:<\/p>\n<blockquote>\n<p>\u0412\u0435\u0434\u0435\u043d\u0438\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0434\u0430\u0435\u0442 \u0441\u043b\u0435\u0434 \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u0418\u043d\u043e\u0433\u0434\u0430 \u044d\u0442\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u043d\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043d\u043e\u0441\u044f\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440. <em>Sentry<\/em> \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0441\u0431\u043e\u044f\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/blockquote>\n<p><a class=\"anchor\" name=\"#saas-vs-selfhosted\" id=\"#saas-vs-selfhosted\"><\/a><\/p>\n<h2>SaaS VS Self-hosted<\/h2>\n<p><em>Sentry<\/em> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"https:\/\/sentry.io\/\" rel=\"noopener noreferrer nofollow\">SaaS<\/a> (\u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u0438 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u0441 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/PCI_DSS\" rel=\"noopener noreferrer nofollow\">PCI-DSS<\/a>) \u0438\u043b\u0438 <s>\u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0447\u0442\u043e\u0431\u044b<\/s> \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e <code>self-hosted<\/code> (<a href=\"https:\/\/github.com\/getsentry\/self-hosted\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/a>, <a href=\"https:\/\/develop.sentry.dev\/self-hosted\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a>).<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ko\/s1\/ok\/kos1okw_u7wjzdip4b8k64auj8q.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ko\/s1\/ok\/kos1okw_u7wjzdip4b8k64auj8q.png\"\/><\/figure>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0439\u0442\u0438 \u043f\u043e \u043f\u0443\u0442\u0438 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u043a \u043a\u0430\u043a <strong>\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/strong> (<em>\u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0443\u043c\u043e\u043b\u0447\u0438\u043c \u043f\u0440\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 DDoS<\/em>). \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u0438\u043b\u043e\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 <code>docker-compose<\/code>. \u041a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0438 \u0434\u043e <code>production<\/code> \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435\u0434\u0430\u043b\u0435\u043a\u043e.<\/p>\n<p><a class=\"anchor\" name=\"#install\" id=\"#install\"><\/a><\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Sentry<\/h2>\n<p>\u041c\u044b \u0437\u0430\u0432\u0435\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>app<\/code> \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f <em>Sentry<\/em>.<\/p>\n<p>\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043b\u0438 \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 <code>docker \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445<\/code> \u043f\u043e\u0447\u0442\u0438 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">.\/install.sh <\/code><\/pre>\n<p>\u041d\u043e \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0447\u0435\u043a\u043b\u0438\u0441\u0442 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/382\" rel=\"noopener noreferrer nofollow\">\u0415\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c<\/a> \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u0442\u0435\u043f\u0435\u0440\u044c <code>\/etc\/sentry\/docker-entrypoint.sh: line 20: 999: command not found<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b \u0448\u0430\u0433 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044e\u0437\u0435\u0440\u0430 \u0442\u043e \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/forum.sentry.io\/t\/default-username-password\/13246\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u0442\u043e <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/412\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c sha<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>sentry\/config.yml<\/code>.<\/p>\n<blockquote>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/forum.sentry.io\/t\/can-we-run-sentry-without-docker\/10817\" rel=\"noopener noreferrer nofollow\">\u0432\u043e\u0442<\/a> \u0438 <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/394\" rel=\"noopener noreferrer nofollow\">\u0432\u043e\u0442<\/a>.<\/p>\n<\/blockquote>\n<p><a class=\"anchor\" name=\"#ldap\" id=\"#ldap\"><\/a><\/p>\n<h2>LDAP<\/h2>\n<p>\u0414\u043b\u044f LDAP \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>sentry\/enhance-image.sh<\/code> \u0438 <code>sentry\/sentry.conf.py<\/code>. \u0417\u0434\u0435\u0441\u044c \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e <a href=\"https:\/\/habr.com\/ru\/post\/691140\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 LDAP \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 <em>Sentry<\/em><\/a>, \u043c\u044b \u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b\u0438 LDAP \u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u043c\u0443 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0443.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u043e\u0448\u0435\u043b \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443: \u0432\u044b\u044f\u0441\u043d\u0438\u043b \u0432 \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0443\u0436\u043d\u043e <code>LDAP<\/code>, \u0437\u0430\u0448\u0435\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b, \u043f\u043e\u0433\u043e\u043d\u044f\u043b\u0438 (\u043d\u0435 \u0431\u0435\u0437 \u043f\u0440\u0438\u043a\u043e\u043b\u043e\u0432), \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u041d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043b\u044c\u0437\u044f <code>down<\/code> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>down<\/code> = <code>stop<\/code> + <code>remove<\/code>, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u044b. \u0418 \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437 \u043c\u044b <code>up'\u043d\u0435\u043c<\/code> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b &#8212; \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0443\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 <code>ldap<\/code> \u0434\u043b\u044f <code>python<\/code>, \u0430 \u0435\u0433\u043e \u043d\u0435\u0442.<\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0443\u0441\u0443\u0433\u0443\u0431\u043b\u044f\u043b\u0430\u0441\u044c \u0442\u0435\u043c, \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/blob\/master\/docker-compose.yml#L17\" rel=\"noopener noreferrer nofollow\">docker-compose<\/a> \u0431\u044b\u043b\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430\u044f \u0434\u043b\u044f 8 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u0445\u043e\u0442\u044f \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u043c <code>sentry-selfhosted-web-1<\/code>.<\/p>\n<p>\u0412\u0441\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u043e\u0432\u0430\u043b\u043e\u043c, \u043c\u043d\u0435 \u043d\u0430\u0434\u043e\u0435\u043b\u043e \u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <code>.\/install<\/code> (\u043d\u0430 \u0431\u044d\u043a\u0430\u043f\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 <code>Sentry<\/code>) \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 &#8212; \u0432\u0441\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0430 \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0410 \u043f\u043e\u0437\u0436\u0435 \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 <em>Sentry<\/em> \u0441 <code>23.5.2<\/code> \u043d\u0430 <code>23.9.1<\/code> \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043f\u0430\u043a\u0435\u0442 <code>sendry-ldap-auth<\/code> \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d \u0432 <code>sendry-auth-ldap<\/code> \u0438 \u044d\u0442\u043e \u043b\u043e\u043c\u0430\u043b\u043e \u0432\u0445\u043e\u0434 \u043f\u043e LDAP. \u041d\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/2221\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435<\/a>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0435 \u043c\u044b\u0441\u043b\u0438 \u043f\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p><a class=\"anchor\" name=\"#update\" id=\"#update\"><\/a><\/p>\n<h2>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Sentry<\/h2>\n<blockquote>\n<p>\u0412\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>app<\/code>.<\/p>\n<\/blockquote>\n<p>\u041f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432 <a href=\"https:\/\/develop.sentry.dev\/self-hosted\/releases\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e Sentry<\/a>, \u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/releases\" rel=\"noopener noreferrer nofollow\">github<\/a>.<\/p>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <em>Sentry<\/em> \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b:<\/p>\n<pre><code class=\"bash\">cd \/sentry\/self-hosted docker compose down <\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<\/p>\n<pre><code class=\"bash\">git checkout main <\/code><\/pre>\n<blockquote>\n<p>\u0420\u0430\u043d\u044c\u0448\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u044f\u0442\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u044f\u0433\u0438\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0432 <code>.gitignore<\/code>, \u0442\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e.<\/p>\n<\/blockquote>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:<\/p>\n<pre><code class=\"bash\"># \u0441\u0442\u044f\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f git pull  # \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0442\u0435\u0433 \u0440\u0435\u043b\u0438\u0437\u0430 \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0440\u0435\u043b\u0438\u0437\u043e\u0432 https:\/\/github.com\/getsentry\/self-hosted\/releases git checkout {version} <\/code><\/pre>\n<blockquote>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u043d\u0430\u0448\u0438 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438\u0437 <code>sentry\/*.example.*<\/code> \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0442\u0435\u043c \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c.<\/p>\n<\/blockquote>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\">.\/install.sh <\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <em>Sentry<\/em>:<\/p>\n<pre><code class=\"bash\">docker compose up -d <\/code><\/pre>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0447\u0442\u043e \u0432\u0441\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b:<\/p>\n<pre><code class=\"bash\">docker ps <\/code><\/pre>\n<p><a class=\"anchor\" name=\"#production\" id=\"#production\"><\/a><\/p>\n<h2>Production Sentry<\/h2>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0447\u0438\u0432\u043e\u0433\u043e \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 <em>Sentry<\/em> \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0432\u0441\u0435 \u0442\u0435\u043c\u044b \u0432\u0435\u0434\u0443\u0442 \u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"http:\/\/sentry.io\" rel=\"noopener noreferrer nofollow\">sentry.io<\/a><\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/wf\/sw\/ng\/wfswngsmf9agyzmi2nhylfi_u90.png\" data-src=\"https:\/\/habrastorage.org\/webt\/wf\/sw\/ng\/wfswngsmf9agyzmi2nhylfi_u90.png\"\/><\/figure>\n<p>\u041d\u043e \u043d\u0430\u043c \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043a\u0430\u043a \u043f\u043e\u0434\u043d\u044f\u0442\u044c <code>HA<\/code> <code>self-hosted<\/code>. \u0422\u0430\u043a \u043c\u044b \u043d\u0430\u0448\u043b\u0438: <a href=\"https:\/\/forum.sentry.io\/t\/sentry-10-high-availability\/8826\/\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 Sentry<\/a>, \u043e\u0442\u0442\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <a href=\"https:\/\/github.com\/sentry-kubernetes\/charts\" rel=\"noopener noreferrer nofollow\">Sentry helm charts<\/a> \u0438 <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/747\" rel=\"noopener noreferrer nofollow\">\u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435<\/a> (\u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u043e), \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u0443\u0433\u043b\u0438\u0442\u044c <a href=\"https:\/\/forum.sentry.io\/t\/sentry-high-availability-deploy\/11838\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 Sentry<\/a>. \u0415\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u0443\u0433\u043b\u0438\u0442\u044c <a href=\"https:\/\/docs.cloudera.com\/documentation\/enterprise\/6\/6.3\/topics\/sg_sentry_ha.html\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u044e \u043e\u0442 cloudera<\/a>.<\/p>\n<p>\u0410 \u043c\u044b \u043f\u043e\u0448\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0443\u0442\u0435\u043c &#8230;<\/p>\n<p><a class=\"anchor\" name=\"#delivery-network\" id=\"#delivery-network\"><\/a><\/p>\n<h3>\u0421\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439<\/h3>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/tc\/9j\/ga\/tc9jgasy9a8gpasijfnztxuhawi.png\" data-src=\"https:\/\/habrastorage.org\/webt\/tc\/9j\/ga\/tc9jgasy9a8gpasijfnztxuhawi.png\"\/><\/figure>\n<p>\u0423 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432 <em>Elasticsearch<\/em> \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0437 \u0443\u0437\u043b\u043e\u0432 <code>td-agent<\/code>. \u0421\u0440\u0430\u0437\u0443 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0447\u0442\u043e <code>td-agent<\/code> \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e \u0438 <code>fluentd<\/code>, \u043d\u043e <code>td-agent<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 <code>fluentd<\/code>. \u041a\u0441\u0442\u0430\u0442\u0438, \u0437\u0434\u0435\u0441\u044c \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/250969\/\" rel=\"noopener noreferrer nofollow\">\u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 fluentd<\/a>.<\/p>\n<p>\u0412 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 <a href=\"https:\/\/github.com\/y-ken\/fluent-plugin-sentry\" rel=\"noopener noreferrer nofollow\">\u043f\u043b\u0430\u0433\u0438\u043d Sentry \u0434\u043b\u044f fluentd<\/a> \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043b\u044f <code>td-agent<\/code>, \u043d\u043e \u043d\u0430\u043c \u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u0435\u043b: \u043d\u0430\u043c <strong>\u043d\u0443\u0436\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438<\/strong>, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0438 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f <em>Sentry<\/em> \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u041f\u041e.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043c\u044b \u0431\u044b\u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0442\u0438\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043f\u0440\u0435\u0434\u0432\u0435\u0449\u0430\u043b\u043e \u043d\u0430\u043c \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c <code>td-agent'\u0435<\/code> \u0433\u0434\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0432 <em>Sentry<\/em>, \u0441\u0447\u0435\u0442 \u0448\u0435\u043b \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u043a\u0438. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u043d\u0430 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 <code>td-agent<\/code> \u043f\u043b\u0430\u0433\u0438\u043d <a href=\"https:\/\/docs.fluentd.org\/output\/http\" rel=\"noopener noreferrer nofollow\">out_http<\/a>, \u043c\u044b \u043f\u043e\u043d\u044f\u043b\u0438: \u043e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0442\u044c <code>td-agent'\u043e\u0432<\/code> \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439.<\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 <code>td-agent<\/code> \u0443\u043c\u0435\u0435\u0442 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f: \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, <a href=\"https:\/\/docs.fluentd.org\/buffer\" rel=\"noopener noreferrer nofollow\">td-agent \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c\/\u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 \u0444\u0430\u0439\u043b \u043d\u0430 \u0434\u0438\u0441\u043a<\/a> (\u0432\u043e\u0442 <a href=\"https:\/\/docs.fluentd.org\/configuration\/buffer-section\" rel=\"noopener noreferrer nofollow\">\u0435\u0449\u0435<\/a>), \u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438, \u0434\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043b\u0438\u0431\u043e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e. \u0422\u043e \u0435\u0441\u0442\u044c <strong>\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f<\/strong>.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/tz\/kr\/-j\/tzkr-jtqvnrbaegvfblttmkh8eg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/tz\/kr\/-j\/tzkr-jtqvnrbaegvfblttmkh8eg.png\"\/><\/figure>\n<p>\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0443\u0437\u043b\u0435 <code>td-agent<\/code>. \u042d\u0442\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0434\u0438\u0441\u043a \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0434\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430 \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>\u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 <strong>\u0437\u0430\u0447\u0435\u043c \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438<\/strong>? \u0420\u0430\u0437\u0432\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e <code>td-agent'\u0430<\/code> \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 <em>Sentry<\/em>?<\/p>\n<p>\u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445: \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435. \u0415\u0449\u0435 \u0440\u0430\u0437 \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u0441\u0445\u0435\u043c\u0443 \u0432\u044b\u0448\u0435, \u0443 \u043d\u0430\u0441 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 3 \u0443\u0437\u043b\u0430 <code>td-agent<\/code> \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 <code>td-agent'\u043e\u0432<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/docs.fluentd.org\/output\/forward\" rel=\"noopener noreferrer nofollow\">out_forward<\/a> <strong>\u0441 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0441\u0431\u043e\u0435\u0432<\/strong>. \u0422\u043e \u0435\u0441\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b 1 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e <code>td-agent<\/code>.<\/p>\n<p>\u0412\u043e \u0432\u0442\u043e\u0440\u044b\u0445: \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u044f\u0434\u043e\u0432\u0443\u044e \u0441\u0445\u0435\u043c\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/lh\/1i\/qo\/lh1iqobgqcyhghdq7bs0hfw2zm8.png\" data-src=\"https:\/\/habrastorage.org\/webt\/lh\/1i\/qo\/lh1iqobgqcyhghdq7bs0hfw2zm8.png\"\/><\/figure>\n<p>\u041d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0432\u0438\u0434\u043d\u043e \u0447\u0442\u043e \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 <code>td-agent<\/code> \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c <code>localhost<\/code>. \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0430\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0435 \u043c\u044b \u0441\u0442\u0440\u0435\u043c\u0438\u043c\u0441\u044f \u043a <code>stateless<\/code> (\u0447\u0442\u043e\u0431\u044b \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435). \u0415\u0441\u043b\u0438 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 (<em>Sentry<\/em> \u0438\u043b\u0438 <em>Elasticsearch<\/em>) \u0441\u0442\u0430\u043d\u0443\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043a\u043e\u043f\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441 <code>td-agent<\/code>. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 <code>localhost<\/code> \u0432\u0441\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043c \u0436\u0435 \u0433\u0434\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 &#8212; <strong>\u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u043d\u043e\u0433\u043e, \u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043c\u0430\u043b\u043e<\/strong> \u0438\u0437-\u0437\u0430 \u0441\u0442\u0440\u0435\u043c\u043b\u0435\u043d\u0438\u044f \u043a <code>stateless<\/code> (<em>\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043f\u0430\u0441<\/em>). \u0417\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0433\u0434\u0435 <strong>\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430<\/strong>.<\/p>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e <code>td-agent<\/code>: <a href=\"https:\/\/docs.fluentd.org\/input\/unix\" rel=\"noopener noreferrer nofollow\">\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0432 unix socket<\/a>, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0447\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u043e <code>http<\/code>. \u0420\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0438\u0436\u0435, \u043e\u043d\u0430 \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 <a href=\"https:\/\/www.researchgate.net\/publication\/221461399_XenSocket_A_High-Throughput_Interdomain_Transport_for_Virtual_Machines\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Middleware 2007<\/a> \u043f\u043e\u0434 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c \u0421\u044e\u0437\u0430\u043d\u043d\u044b \u041c\u0430\u043a\u0438\u043d\u0442\u043e\u0448 \u0438 \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u043e\u0432:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/mb\/7u\/bo\/mb7ubo0c1qdktgrgqbkyuzl02jm.png\" data-src=\"https:\/\/habrastorage.org\/webt\/mb\/7u\/bo\/mb7ubo0c1qdktgrgqbkyuzl02jm.png\"\/><\/figure>\n<p>\u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u043e\u0434\u0432\u043e\u0434\u0438\u0442 \u043d\u0430\u0441 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443:<\/p>\n<ul>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 <em>Sentry<\/em> \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u043b\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 <code>>=500<\/code> \u0442\u043e \u043d\u0430\u0448 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a (<code>td-agent<\/code>) <strong>\u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u043e\u0437\u0436\u0435<\/strong><\/p>\n<\/li>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0430 <em>Sentry<\/em> \u043f\u0438\u0441\u0430\u0442\u044c \u0432 <code>unix-socket<\/code> \u0442\u043e <strong>\u0441\u043d\u0438\u0437\u0438\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u0430 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u044e\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u043f\u0440\u0438\u0440\u043e\u0434\u0443 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u0430\u043f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u043e\u0442 \u044d\u0442\u0430\u043f\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430\u0445.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u0442\u043e \u0432\u0441\u0435-\u0440\u0430\u0432\u043d\u043e \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441: <em>Sentry<\/em> \u043a\u043b\u0438\u0435\u043d\u0442 \u0438 <em>Sentry<\/em> \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u043f\u043e <code>http<\/code>, \u043a\u0430\u043a \u0441\u044e\u0434\u0430 \u0432\u043e\u0442\u043a\u043d\u0443\u0442\u044c \u0430\u0441\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 <code>td-agent<\/code>?<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ff\/e1\/p2\/ffe1p2sntu2hrthp3uunxpthlzy.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ff\/e1\/p2\/ffe1p2sntu2hrthp3uunxpthlzy.png\"\/><\/figure>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u043d\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0430\u043b\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u043d\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043d\u0435\u0434\u0440\u0438\u0432 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a, \u043c\u044b \u043d\u0438\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0438\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0431\u043e\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0442\u0440\u0435\u043a\u0438\u043d\u0433\u0430 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p><a class=\"anchor\" name=\"#backend\" id=\"#backend\"><\/a><\/p>\n<h3>Backend<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 <code>backend<\/code> \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>php<\/code>, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/packagist.org\/packages\/sentry\/sdk\" rel=\"noopener noreferrer nofollow\">sentry-sdk<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <a href=\"https:\/\/develop.sentry.dev\/sdk\/store\/\" rel=\"noopener noreferrer nofollow\">store endpoint<\/a> \u0441 <code>json<\/code> \u0432 \u0442\u0435\u043b\u0435. \u0412\u0441\u0435 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043b\u043e\u0436\u0438\u0442\u0441\u044f \u043d\u0430 <code>td-agent<\/code>.<\/p>\n<p>\u0427\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u0432 \u043a\u043b\u0438\u0435\u043d\u0442\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 &#8212; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e <code>http<\/code> \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0432 <code>unix socket<\/code><\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c <code>td-agent'\u0435<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u0433\u043e\u043c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432 \u043d\u0430\u0448\u0443 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0442\u043e\u0447\u043d\u043e \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0442\u0435\u0433\u043e\u043c<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0443\u0437\u043b\u0435 <code>td-agent'\u0430<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 \u043f\u0440\u0438\u0435\u043c\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0441 \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u0433\u043e\u043c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0432 <em>Sentry<\/em> \u043f\u043e <code>http<\/code><\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 <code>td-agent<\/code> \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u0430\u043b\u044c\u0448\u0435, \u043e\u043d \u0435\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u0431\u0443\u0434\u0435\u0442 \u0436\u0434\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f.<\/p>\n<\/blockquote>\n<p>\u0412\u0441\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u043c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u043d\u0430\u0448\u0435\u043c <a href=\"https:\/\/github.com\/leads-su\/php-tdagent-sentry\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/a>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ys\/o-\/89\/yso-89ggperyk-fqsybiuryu-jm.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ys\/o-\/89\/yso-89ggperyk-fqsybiuryu-jm.jpeg\" data-blurred=\"true\"\/><\/figure>\n<p>\u0418 \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0433\u043e\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>json<\/code>, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 <code>frontend<\/code>.<\/p>\n<p><a class=\"anchor\" name=\"#frontend\" id=\"#frontend\"><\/a><\/p>\n<h3>Frontend<\/h3>\n<p>\u041d\u0430 <code>frontend<\/code> \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e <code>javascript<\/code>, \u0438 \u0437\u0434\u0435\u0441\u044c <a href=\"https:\/\/github.com\/getsentry\/sentry-javascript\" rel=\"noopener noreferrer nofollow\">sentry-javascript<\/a> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <a href=\"https:\/\/develop.sentry.dev\/sdk\/envelopes\/\" rel=\"noopener noreferrer nofollow\">envelope endpoint<\/a> \u0441 <a href=\"http:\/\/ndjson.org\/libraries.html\" rel=\"noopener noreferrer nofollow\">ndjson<\/a>, \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>td-agent<\/code> \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c <code>json<\/code> (<a href=\"https:\/\/docs.fluentd.org\/configuration\/format-section\" rel=\"noopener noreferrer nofollow\">\u0441\u043f\u0438\u0441\u043e\u043a \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432<\/a>).<\/p>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0431\u044b\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435: \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 <code>in_http<\/code> <a href=\"https:\/\/docs.fluentd.org\/parser\/none\" rel=\"noopener noreferrer nofollow\">parse: none<\/a>, \u0430 \u0432 <code>out_http<\/code> <a href=\"https:\/\/docs.fluentd.org\/formatter\/single_value\" rel=\"noopener noreferrer nofollow\">format: single_value<\/a> &#8212; \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e \u0438\u0437 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430 \u0432 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440 &#171;\u043a\u0430\u043a \u0435\u0441\u0442\u044c&#187;.<\/p>\n<p>\u041b\u0430\u0434\u043d\u043e, \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u044b, \u043d\u043e \u0432\u043e\u0442 \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0432\u043c\u0435\u0448\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u043a\u0430\u043a \u044d\u0442\u043e \u043c\u044b \u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u0430 <code>php<\/code>) \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0442 <s>\u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043d\u0430 javascript<\/s>. \u041d\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0430\u0448 \u0448\u0442\u0430\u0442\u043d\u044b\u0439, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0438\u043d\u0441\u0442\u0443\u0440\u043c\u0435\u043d\u0442 <code>HAProxy<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442. \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0442\u0435\u043b\u0435\u043f\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 <a href=\"https:\/\/www.arpalert.org\/src\/haproxy-lua-api\/2.6\/index.html\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> \u043d\u0443\u0436\u043d\u044b\u0445 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0427\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u043d\u043e\u0434\u0430 \u0441 <code>HAProxy<\/code>, \u043a\u0443\u0434\u0430 \u0434\u043b\u044f <code>frontend<\/code> \u0432\u0441\u0442\u0440\u043e\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 <code>lua<\/code> \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0432\u0438\u0434 \u0434\u043b\u044f <code>td-agent<\/code><\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432 \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0441\u0435\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430\u043a \u043f\u043e\u043f\u044b\u0442\u043a\u0430, \u0435\u0441\u043b\u0438 <code>HAProxy<\/code> \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u0434\u043e <code>td-agent<\/code> \u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0442\u0435\u0440\u044f\u043d\u043e<\/p>\n<\/li>\n<li>\n<p>\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043d\u043e\u0434\u0430 \u0441 <code>td-agent<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043c\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0441 \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u0433\u043e\u043c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442 \u0435\u0433\u043e \u0432 <em>Sentry<\/em> \u043f\u043e <code>http<\/code> (\u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0442\u043e\u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0432 <code>backend<\/code>)<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/u8\/q2\/o-\/u8q2o-8jml2jmgsajxbs7ksaczy.png\" data-src=\"https:\/\/habrastorage.org\/webt\/u8\/q2\/o-\/u8q2o-8jml2jmgsajxbs7ksaczy.png\"\/><\/figure>\n<p>\u041d\u043e \u0437\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c: \u0441\u0435\u0440\u0432\u0435\u0440 <em>Sentry<\/em> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u043b\u043e\u0436\u0438\u0442\u044c &#171;\u0430\u0441\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442&#187; \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0432 <code>HAProxy<\/code> \u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c <code>endpoint<\/code> (\u043d\u0443 \u043f\u043e\u0447\u0442\u0438) \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043c\u0438\u0440.<\/p>\n<p>\u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u0434\u0435\u0442\u0430\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043d\u0430 <a href=\"https:\/\/github.com\/leads-su\/haproxy-tdagent-sentry\" rel=\"noopener noreferrer nofollow\">\u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435<\/a>.<\/p>\n<p>\u0412 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0438\u0442\u043e\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043e <em>Sentry<\/em>:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gp\/m2\/3n\/gpm23n1vjlfsgttfvwwcjffhs-e.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gp\/m2\/3n\/gpm23n1vjlfsgttfvwwcjffhs-e.png\"\/><\/figure>\n<p><a class=\"anchor\" name=\"#buffer-lost-events\" id=\"#buffer-lost-events\"><\/a><\/p>\n<h3>\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043f\u043e\u0442\u0435\u0440\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f <em>Sentry<\/em> \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u0447\u0442\u043e \u043d\u0435 \u0432\u0441\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f-\u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0447\u0442\u043e-\u0442\u043e \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0443\u0442\u0438, \u0438 \u0434\u0435\u043b\u043e \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0432 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 <code>td-agent'\u043e\u0432<\/code>.<\/p>\n<p>\u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c: \u0432\u0438\u043d\u043e\u0432\u043d\u0438\u043a \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 <code>td-agent<\/code> \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0443\u0437\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 <em>Sentry<\/em>.<\/p>\n<p>\u0415\u0449\u0435 \u0440\u0430\u0437 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 <code>td-agent<\/code>: \u043e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0439 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430. \u0415\u0449\u0435 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <strong>\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/strong>. \u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0433 \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0438\u0437 <code>project_id<\/code>.<code>sentry_key<\/code>. \u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u043b\u0438\u0441\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>\u0442\u0435\u0433\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435<\/code>!<\/p>\n<p><strong>\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f == \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 == \u043f\u0430\u043a\u0435\u0442\u043d\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430<\/strong><\/p>\n<p>\u0418\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0435\u0449\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 <code>event_id<\/code> &#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0435\u0437 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f <code>event_id<\/code> \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439.<\/p>\n<p>\u041d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0438\u0437 <em>Kibana<\/em> \u0432\u0438\u0434\u043d\u043e \u0447\u0442\u043e \u0434\u043e \u0444\u0438\u043a\u0441\u0430 \u043c\u044b \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u0442\u0435\u0440\u044f\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u0442\u0435\u0440\u044f\u0442\u044c:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ik\/kd\/ev\/ikkdevns9rdip9xqp0povzhv4ta.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ik\/kd\/ev\/ikkdevns9rdip9xqp0povzhv4ta.png\"\/><\/figure>\n<p><a class=\"anchor\" name=\"#monitoring\" id=\"#monitoring\"><\/a><\/p>\n<h2>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433<\/h2>\n<p>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0436\u043d\u044b \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 <em>zabbix<\/em> \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0434\u0430\u0448\u0431\u043e\u0440\u0434:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/qz\/_q\/kk\/qz_qkkbc907xhqi6rc_v7sapcne.png\" data-src=\"https:\/\/habrastorage.org\/webt\/qz\/_q\/kk\/qz_qkkbc907xhqi6rc_v7sapcne.png\"\/><\/figure>\n<ol>\n<li>\n<p>\u043c\u043e\u0436\u0435\u0442 \u043b\u0438 <em>Sentry<\/em> \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445, \u043e\u0442\u0432\u0435\u0442 <code>200<\/code> &#8212; \u043c\u043e\u0436\u0435\u0442, \u0432 \u0438\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 <code>sentryhooks<\/code>* (\u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u043d\u0430 \u0434\u043e\u0441\u043a\u0435 <em>Kaiten<\/em> \u0438\u0437 <code>issue<\/code> \u0432 <em>Sentry<\/em>), \u043e\u0442\u0432\u0435\u0442 <code>200<\/code> &#8212; \u043c\u043e\u0436\u0435\u0442, \u0432 \u0438\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430<\/p>\n<\/li>\n<\/ol>\n<p>* <em>sentryhooks \u044d\u0442\u043e web-\u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0442\u0440\u0435\u043a\u0435\u0440\u0430 \u0437\u0430\u0434\u0430\u0447 Kaiten \u0438 \u0442\u0440\u0435\u043a\u0435\u0440\u0430 \u043e\u0448\u0438\u0431\u043e\u043a Sentry, \u043e \u043d\u0435\u043c \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0430\u0437<\/em><\/p>\n<p>\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 \u044d\u0442\u043e\u0442 \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u043a\u0430\u043a \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 <em>Sentry<\/em> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <strong>\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0435\u043c\u0430 \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/strong>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0431\u044b\u043b \u0441\u0434\u0435\u043b\u0430\u043d \u0441\u043f\u0435\u0446\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 <em>Sentry<\/em> \u0434\u043b\u044f \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0445 <code>issue<\/code> \u0438 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b <a href=\"https:\/\/github.com\/leads-su\/sentry-monitoring\" rel=\"noopener noreferrer nofollow\">bash \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/a> \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/docs.sentry.io\/api\/\" rel=\"noopener noreferrer nofollow\">Sentry API<\/a> \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439.<\/p>\n<p>\u0412 <em>Zabbix<\/em> \u0431\u044b\u043b\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u044b \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0441 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430\u043c\u0438 (\u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f <code>issue<\/code> \u0432 <em>Sentry<\/em>):<\/p>\n<ul>\n<li>\n<p>\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430* \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430** \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/develop.sentry.dev\/sdk\/store\/\" rel=\"noopener noreferrer nofollow\">store endpoint<\/a><\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430* \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430** \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/develop.sentry.dev\/sdk\/envelopes\/\" rel=\"noopener noreferrer nofollow\">envelope endpoint<\/a><\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430* \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430** \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/docs.sentry.io\/platforms\/javascript\/troubleshooting\/#dealing-with-ad-blockers\" rel=\"noopener noreferrer nofollow\">envelope tunnel endpoint<\/a><\/p>\n<\/li>\n<\/ul>\n<p>* \u0413\u0440\u0430\u0444\u0438\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 <code>web-\u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/code> <em>Sentry<\/em>, \u043f\u0440\u0438 \u0448\u0442\u0430\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c <code>200<\/code>.<\/p>\n<p>** \u0413\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442 \u043d\u0430\u0437\u0430\u0434 \u0431\u044b\u043b\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435. \u0415\u0441\u043b\u0438 \u0434\u043e\u043b\u044c\u0448\u0435 <code>15 \u043c\u0438\u043d\u0443\u0442<\/code> \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 <em>Sentry<\/em>.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/nc\/gl\/91\/ncgl91ufmhttfw2nnqowutbmqtm.png\" data-src=\"https:\/\/habrastorage.org\/webt\/nc\/gl\/91\/ncgl91ufmhttfw2nnqowutbmqtm.png\"\/><\/figure>\n<p><a class=\"anchor\" name=\"#log-collect\" id=\"#log-collect\"><\/a><\/p>\n<h3>\u0421\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432<\/h3>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/vr\/in\/8h\/vrin8h3aw84qlvjm8zy8ypwgcss.png\" data-src=\"https:\/\/habrastorage.org\/webt\/vr\/in\/8h\/vrin8h3aw84qlvjm8zy8ypwgcss.png\"\/><\/figure>\n<p>\u0421\u0435\u0440\u0432\u0438\u0441 <em>Sentry<\/em> \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e, \u043e\u0434\u0438\u043d <code>envelope endpoint<\/code> \u043d\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e:<\/p>\n<ul>\n<li>\n<p>\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (<em>nginx<\/em> \u0433\u0440\u0430\u0444\u0438\u043a\u0438), \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438\u0434\u0443\u0442 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442<\/p>\n<\/li>\n<li>\n<p>\u0442\u0438\u043f\u044b \u0438 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 <em>Sentry<\/em> (web \u0433\u0440\u0430\u0444\u0438\u043a\u0438), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f web-\u0441\u0435\u0440\u0432\u0438\u0441 <em>Sentry<\/em> \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u043b \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438 \u043c\u044b \u043d\u0435 \u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u043e\u0447\u0435\u043c\u0443<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/f5\/bd\/qf\/f5bdqfl-j7tuuux2z0ekigui3ms.png\" alt=\"img.png\" data-src=\"https:\/\/habrastorage.org\/webt\/f5\/bd\/qf\/f5bdqfl-j7tuuux2z0ekigui3ms.png\"\/><\/p>\n<div><figcaption>img.png<\/figcaption><\/div>\n<\/figure>\n<ol>\n<li>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0445 (\u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043d\u044b\u0445 <em>Sentry<\/em>) \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0445 web-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434\u044b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043e\u0442 web-\u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a web-\u0441\u0435\u0440\u0432\u0438\u0441\u0443<\/p>\n<\/li>\n<li>\n<p>\u0423\u0440\u043e\u0432\u043d\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043b\u043e\u0433\u0430 \u0432 web-\u0441\u0435\u0440\u0432\u0438\u0441\u0435<\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0432\u0438\u0441\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 web-\u0441\u0435\u0440\u0432\u0438\u0441\u0443<\/p>\n<\/li>\n<\/ol>\n<p>\u0421\u0431\u043e\u0440\u043a\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 <code>td-agent<\/code> \u043f\u0443\u0442\u0435\u043c <a href=\"https:\/\/www.fluentd.org\/guides\/recipes\/docker-logging\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0434\u043c\u0435\u043d\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a>, \u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/docs.docker.com\/compose\/extends\/\" rel=\"noopener noreferrer nofollow\">docker-compose.override.yml<\/a>, \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043e\u0440\u043d\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <em>Sentry<\/em> <code>self-hosted<\/code>:<\/p>\n<details class=\"spoiler\">\n<summary>docker-compose.override.yml<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"yaml\">services:   web:     logging:       driver: \"fluentd\"       options:         fluentd-address: localhost:24224         #fluentd-async: 'true'         tag: sentry-docker.web   nginx:     logging:       driver: \"fluentd\"       options:         fluentd-address: localhost:24224         #fluentd-async: 'true'         tag: sentry-docker.nginx <\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433 <code>td-agent'a<\/code> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<details class=\"spoiler\">\n<summary>td-agent.conf<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>&lt;source>   @type forward   port 24224   bind 0.0.0.0 &lt;\/source>  ######################### # WEB #########################  # \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u043b\u043e\u0433\u0430 web-\u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u044e\u0442 \u043d\u0430\u043c \u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u0438\u043d\u043e\u0433\u0434\u0430 \u0432 \u043b\u043e\u0433 \u0441\u044b\u043f\u044f\u0442\u0441\u044f \u0441\u0442\u0435\u043a\u0442\u0440\u0435\u0439\u0441\u044b python &lt;filter sentry-docker.web>   @type grep   &lt;regexp>     key log     pattern \/^(?:[^ ]*)\\s+\\[(?:\\w+)\\]\\s+(?:.+)$\/gm   &lt;\/regexp> &lt;\/filter>  &lt;filter sentry-docker.web>   @type parser   &lt;parse>     #@type regexp     #expression \/^(?:[^ ]*)\\s+\\[(?&lt;severity>\\w+)\\]\\s+(?:[^ ]*)\\s+(?&lt;type>[^ ]*)\\s+\\((?:method\\=\\'(?&lt;method>[^\\']*))\\'\\s+(?:[^ ]*)\\s+(?:response\\=(?&lt;response>[^ ]*))\\s+(?:user_id\\=\\'(?&lt;user_id>[^\\']*)\\')\\s+(?:is_app\\=\\'(?&lt;is_app>[^\\']*)\\')\\s+(?:token_type\\=\\'(?&lt;token_type>[^\\']*)\\')\\s+(?:is_frontend_request\\=\\'(?&lt;is_frontend_request>[^\\']*)\\')\\s+(?:organization_id\\=\\'(?&lt;organization_id>[^\\']*)\\')\\s+(?:auth_id\\=\\'(?&lt;auth_id>[^\\']*)\\')\\s+(?:path\\=\\'(?&lt;path>[^\\']*)\\')\\s+(?:caller_ip\\=\\'(?&lt;caller_ip>[^\\']*)\\')\\s+(?:user_agent\\=\\'(?&lt;user_agent>[^\\']*)\\')\\s+(?:rate_limited\\=\\'(?&lt;rate_limited>[^\\']*)\\')\\s+(?:rate_limit_category\\=\\'(?&lt;rate_limit_category>[^\\']*)\\')\\s+(?:request_duration_seconds\\=(?&lt;request_duration_seconds>[^\\']*))\\s+(?:rate_limit_type\\=\\'(?&lt;rate_limit_type>[^\\']*)\\')\\s+(?:concurrent_limit\\=\\'(?&lt;concurrent_limit>[^\\']*)\\')\\s+(?:concurrent_requests\\=\\'(?&lt;concurrent_requests>[^\\']*)\\')\\s+(?:reset_time\\=\\'(?&lt;reset_time>[^\\']*)\\')\\s+(?:group\\=\\'(?&lt;group>[^\\']*)\\')\\s+(?:limit\\=\\'(?&lt;limit>[^\\']*)\\')\\s+(?:remaining\\=\\'(?&lt;remaining>[^\\']*)\\')\\)?\/gm     #types response:integer, user_id:integer, organization_id:integer, request_duration_seconds:float        @type regexp     expression \/^(?:[^ ]*)\\s+\\[(?&lt;severity>\\w+)\\]\\s+(?&lt;type>.[^:]+):\\s+(?&lt;message>.+)$\/gm     time_format %d\/%b\/%Y:%H:%M:%S %z   &lt;\/parse>   key_name log &lt;\/filter>  ####################### # NGINX #######################  # \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u043b\u043e\u0433\u0430 nginx \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u044e\u0442 \u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 (warn \u0438 \u043f\u0440\u043e\u0447\u0435\u0435) &lt;filter sentry-docker.nginx>   @type grep   &lt;regexp>     key log     pattern \/^(?:[^ ]*) (?:[^ ]*) (?:[^ ]*) \\[(?:[^\\]]*)\\]\/   &lt;\/regexp> &lt;\/filter>  &lt;filter sentry-docker.nginx>   @type parser   &lt;parse>     @type regexp     expression \/^(?&lt;remote>[^ ]*) (?&lt;host>[^ ]*) (?&lt;user>[^ ]*) \\[(?&lt;time>[^\\]]*)\\] \"(?&lt;method>\\S+)(?: +(?&lt;path>[^\\\"]*?)(?: +\\S*)?)?\" (?&lt;code>[^ ]*) (?&lt;size>[^ ]*)(?: \"(?&lt;referer>[^\\\"]*)\" \"(?&lt;agent>[^\\\"]*)\"(?:\\s+(?&lt;http_x_forwarded_for>[^ ]+))?)?$\/     time_format %d\/%b\/%Y:%H:%M:%S %z     types code:integer, size:integer   &lt;\/parse>   key_name log &lt;\/filter>  ######################  &lt;match sentry-docker.*>   # \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043b\u043e\u0433\u0438 \u0432 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0443 \u043d\u0430\u0441 Elasticsearch &lt;\/match> <\/code><\/pre>\n<\/div>\n<\/details>\n<p><a class=\"anchor\" name=\"#conclusion\" id=\"#conclusion\"><\/a><\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>\u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0448\u0435\u0440\u043e\u0445\u043e\u0432\u0430\u0442\u044b\u043c, \u043d\u043e \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u043e\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u043d\u0438\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043d\u0435\u0442.<\/p>\n<p>\u0412\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c <em>Sentry<\/em> \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 <code>td-agent<\/code>, \u0430 \u0434\u043b\u044f \u043c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442\u0430 \u043d\u0435 \u0434\u043e\u043b\u0433\u043e \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043d\u044f\u0442\u044c <code>VPS<\/code>, \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0447\u0442\u043e <em>Sentry<\/em> \u0437\u0430 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u0435\u0437\u043e\u0442\u043a\u0430\u0437\u043d\u043e.<\/p>\n<p>\u0423\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043b\u0443\u0433\u043e\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043e <em>Sentry<\/em>, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e.<\/p>\n<p>\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c <a href=\"https:\/\/habr.com\/ru\/articles\/781446\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e Sentry \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/a>.<\/p>\n<\/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\/articles\/765302\/\"> https:\/\/habr.com\/ru\/articles\/765302\/<\/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<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u042f \u0412\u0438\u0442\u0430\u043b\u0438\u0439, DevOps \u0432 <a href=\"http:\/\/LEADS.SU\" rel=\"noopener noreferrer nofollow\">LEADS.SU<\/a>, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 <em>Sentry<\/em> <code>self-hosted<\/code> \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 &#8212; \u043d\u0435\u043b\u044c\u0437\u044f \u0442\u0435\u0440\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0432\u0440\u043e\u0434\u0435 <em>redis<\/em>, <em>postgresql<\/em>, <em>clickhouse<\/em>, <em>kafka<\/em> \u0438 \u043f\u0440\u043e\u0447\u0435\u0435). \u0418 \u0442\u0443\u0442 \u043c\u044b \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b\u0438 \u043f\u0440\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 <code>td-agent<\/code> \u0438 \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0421\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e \u0442\u0435\u043c\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/781446\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043c\u044b \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 Sentry. \u0427\u0430\u0441\u0442\u044c 2 \u2014 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443<\/a><\/p>\n<\/li>\n<\/ul>\n<h2>\u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u043f\u043e \u0441\u0442\u0430\u0442\u044c\u0435<\/h2>\n<ul>\n<li>\n<p><a href=\"##preface\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##sentry-vs-logging\" rel=\"noopener noreferrer nofollow\">Sentry VS Logging<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##saas-vs-selfhosted\" rel=\"noopener noreferrer nofollow\">SaaS VS Self-hosted<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##install\" rel=\"noopener noreferrer nofollow\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Sentry<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##ldap\" rel=\"noopener noreferrer nofollow\">LDAP<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##update\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Sentry<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##production\" rel=\"noopener noreferrer nofollow\">Production Sentry<\/a> <\/p>\n<ul>\n<li>\n<p><a href=\"##delivery-network\" rel=\"noopener noreferrer nofollow\">\u0421\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##backend\" rel=\"noopener noreferrer nofollow\">Backend<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##frontend\" rel=\"noopener noreferrer nofollow\">Frontend<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"##buffer-lost-events\" rel=\"noopener noreferrer nofollow\">\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043f\u043e\u0442\u0435\u0440\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"##monitoring\" rel=\"noopener noreferrer nofollow\">\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433<\/a> <\/p>\n<ul>\n<li>\n<p><a href=\"##log-collect\" rel=\"noopener noreferrer nofollow\">\u0421\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"##conclusion\" rel=\"noopener noreferrer nofollow\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"#preface\" id=\"#preface\"><\/a><\/p>\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p><em>Sentry<\/em> \u0431\u044b\u043b \u043f\u0440\u0438\u043d\u0435\u0441\u0435\u043d \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043e\u043f\u044b\u0442\u0430, \u0440\u0430\u043d\u044c\u0448\u0435 \u044f &#171;\u0438\u043d\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u043a\u0430\u043b \u043e\u0448\u0438\u0431\u043a\u0438&#187;. \u041d\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u044f \u043f\u043e\u043d\u044f\u043b \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043b\u0438\u0448\u044c \u043c\u0430\u043b\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0438\u0437 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043b <em>Sentry<\/em> \u0432\u0435\u0437\u0434\u0435 \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u0442 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0447\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u043e\u0437\u0432\u043e\u043d\u0435. \u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0444\u043e\u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0438 \u0432\u0441\u0435\u0433\u043e \u0442\u043e\u0433\u043e \u043a\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c <em>Sentry<\/em>.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043f\u0438\u043b\u043e\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e <code>self-hosted<\/code> \u0441 \u043e\u0447\u0435\u043d\u044c \u0441\u044b\u0440\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043c\u044b \u0434\u043e\u0432\u0435\u043b\u0438 \u043d\u0430\u0448\u0443 \u043e\u0431\u0435\u0440\u0442\u043a\u0443 \u043d\u0430\u0434 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c <em>Sentry<\/em> \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043d\u0430\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0430 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u0437 <code>td-agent'\u043e\u0432<\/code>, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433, \u0438 \u0432\u043d\u0435\u0434\u0440\u0438\u043b\u0438 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.<\/p>\n<p><a class=\"anchor\" name=\"#sentry-vs-logging\" id=\"#sentry-vs-logging\"><\/a><\/p>\n<h2>Sentry VS Logging<\/h2>\n<p>\u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b <em>Sentry<\/em> \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0432\u043e\u0437\u0440\u0430\u0437\u0438\u043b\u0438: \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043c \u0436\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0444\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c, \u0437\u0430\u0447\u0435\u043c \u043d\u0430\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a?<\/p>\n<p>\u0412 \u0442\u043e\u043c \u0442\u043e \u0438 \u0434\u0435\u043b\u043e &#8212; \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a, \u0430 \u043d\u0435 \u0442\u0440\u0435\u043a\u0438\u043d\u0433. \u041f\u043e\u043b\u0430\u0433\u0430\u044e \u0441\u043a\u0440\u0438\u043d \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0432\u044b\u0434\u0430\u0447\u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0435\u0435:<\/p>\n<figure class=\"\"><\/figure>\n<p>\u041d\u0430 \u0441\u0430\u0439\u0442\u0435 <em>Sentry<\/em> \u0435\u0441\u0442\u044c <a href=\"https:\/\/sentry.io\/vs\/logging\/\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/a> \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443, \u0430 \u0435\u0441\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e \u0442\u043e \u043c\u044b\u0441\u043b\u044c \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443:<\/p>\n<blockquote>\n<p>\u0412\u0435\u0434\u0435\u043d\u0438\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0434\u0430\u0435\u0442 \u0441\u043b\u0435\u0434 \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u0418\u043d\u043e\u0433\u0434\u0430 \u044d\u0442\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u043d\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043d\u043e\u0441\u044f\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440. <em>Sentry<\/em> \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0441\u0431\u043e\u044f\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/blockquote>\n<p><a class=\"anchor\" name=\"#saas-vs-selfhosted\" id=\"#saas-vs-selfhosted\"><\/a><\/p>\n<h2>SaaS VS Self-hosted<\/h2>\n<p><em>Sentry<\/em> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"https:\/\/sentry.io\/\" rel=\"noopener noreferrer nofollow\">SaaS<\/a> (\u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u0438 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0435 \u0441 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/PCI_DSS\" rel=\"noopener noreferrer nofollow\">PCI-DSS<\/a>) \u0438\u043b\u0438 <s>\u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0447\u0442\u043e\u0431\u044b<\/s> \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e <code>self-hosted<\/code> (<a href=\"https:\/\/github.com\/getsentry\/self-hosted\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/a>, <a href=\"https:\/\/develop.sentry.dev\/self-hosted\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a>).<\/p>\n<figure class=\"\"><\/figure>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0439\u0442\u0438 \u043f\u043e \u043f\u0443\u0442\u0438 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u043a \u043a\u0430\u043a <strong>\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/strong> (<em>\u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0443\u043c\u043e\u043b\u0447\u0438\u043c \u043f\u0440\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 DDoS<\/em>). \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u0438\u043b\u043e\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 <code>docker-compose<\/code>. \u041a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0438 \u0434\u043e <code>production<\/code> \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435\u0434\u0430\u043b\u0435\u043a\u043e.<\/p>\n<p><a class=\"anchor\" name=\"#install\" id=\"#install\"><\/a><\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Sentry<\/h2>\n<p>\u041c\u044b \u0437\u0430\u0432\u0435\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>app<\/code> \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f <em>Sentry<\/em>.<\/p>\n<p>\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043b\u0438 \u043f\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 <code>docker \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445<\/code> \u043f\u043e\u0447\u0442\u0438 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">.\/install.sh <\/code><\/pre>\n<p>\u041d\u043e \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0447\u0435\u043a\u043b\u0438\u0441\u0442 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/382\" rel=\"noopener noreferrer nofollow\">\u0415\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c<\/a> \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u0442\u0435\u043f\u0435\u0440\u044c <code>\/etc\/sentry\/docker-entrypoint.sh: line 20: 999: command not found<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b \u0448\u0430\u0433 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044e\u0437\u0435\u0440\u0430 \u0442\u043e \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/forum.sentry.io\/t\/default-username-password\/13246\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u0442\u043e <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/412\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c sha<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>sentry\/config.yml<\/code>.<\/p>\n<blockquote>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/forum.sentry.io\/t\/can-we-run-sentry-without-docker\/10817\" rel=\"noopener noreferrer nofollow\">\u0432\u043e\u0442<\/a> \u0438 <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/394\" rel=\"noopener noreferrer nofollow\">\u0432\u043e\u0442<\/a>.<\/p>\n<\/blockquote>\n<p><a class=\"anchor\" name=\"#ldap\" id=\"#ldap\"><\/a><\/p>\n<h2>LDAP<\/h2>\n<p>\u0414\u043b\u044f LDAP \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>sentry\/enhance-image.sh<\/code> \u0438 <code>sentry\/sentry.conf.py<\/code>. \u0417\u0434\u0435\u0441\u044c \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e <a href=\"https:\/\/habr.com\/ru\/post\/691140\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 LDAP \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 <em>Sentry<\/em><\/a>, \u043c\u044b \u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b\u0438 LDAP \u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u043c\u0443 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0443.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u043e\u0448\u0435\u043b \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443: \u0432\u044b\u044f\u0441\u043d\u0438\u043b \u0432 \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0443\u0436\u043d\u043e <code>LDAP<\/code>, \u0437\u0430\u0448\u0435\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b, \u043f\u043e\u0433\u043e\u043d\u044f\u043b\u0438 (\u043d\u0435 \u0431\u0435\u0437 \u043f\u0440\u0438\u043a\u043e\u043b\u043e\u0432), \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u041d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043b\u044c\u0437\u044f <code>down<\/code> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>down<\/code> = <code>stop<\/code> + <code>remove<\/code>, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u044b. \u0418 \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437 \u043c\u044b <code>up'\u043d\u0435\u043c<\/code> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b &#8212; \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0443\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 <code>ldap<\/code> \u0434\u043b\u044f <code>python<\/code>, \u0430 \u0435\u0433\u043e \u043d\u0435\u0442.<\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0443\u0441\u0443\u0433\u0443\u0431\u043b\u044f\u043b\u0430\u0441\u044c \u0442\u0435\u043c, \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/blob\/master\/docker-compose.yml#L17\" rel=\"noopener noreferrer nofollow\">docker-compose<\/a> \u0431\u044b\u043b\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430\u044f \u0434\u043b\u044f 8 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u0445\u043e\u0442\u044f \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u043c <code>sentry-selfhosted-web-1<\/code>.<\/p>\n<p>\u0412\u0441\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u043e\u0432\u0430\u043b\u043e\u043c, \u043c\u043d\u0435 \u043d\u0430\u0434\u043e\u0435\u043b\u043e \u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <code>.\/install<\/code> (\u043d\u0430 \u0431\u044d\u043a\u0430\u043f\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0441 <code>Sentry<\/code>) \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 &#8212; \u0432\u0441\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0430 \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0410 \u043f\u043e\u0437\u0436\u0435 \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 <em>Sentry<\/em> \u0441 <code>23.5.2<\/code> \u043d\u0430 <code>23.9.1<\/code> \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043f\u0430\u043a\u0435\u0442 <code>sendry-ldap-auth<\/code> \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d \u0432 <code>sendry-auth-ldap<\/code> \u0438 \u044d\u0442\u043e \u043b\u043e\u043c\u0430\u043b\u043e \u0432\u0445\u043e\u0434 \u043f\u043e LDAP. \u041d\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/2221\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435<\/a>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0435 \u043c\u044b\u0441\u043b\u0438 \u043f\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p><a class=\"anchor\" name=\"#update\" id=\"#update\"><\/a><\/p>\n<h2>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Sentry<\/h2>\n<blockquote>\n<p>\u0412\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <code>app<\/code>.<\/p>\n<\/blockquote>\n<p>\u041f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432 <a href=\"https:\/\/develop.sentry.dev\/self-hosted\/releases\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e Sentry<\/a>, \u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/releases\" rel=\"noopener noreferrer nofollow\">github<\/a>.<\/p>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <em>Sentry<\/em> \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b:<\/p>\n<pre><code class=\"bash\">cd \/sentry\/self-hosted docker compose down <\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<\/p>\n<pre><code class=\"bash\">git checkout main <\/code><\/pre>\n<blockquote>\n<p>\u0420\u0430\u043d\u044c\u0448\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u044f\u0442\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u044f\u0433\u0438\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0432 <code>.gitignore<\/code>, \u0442\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e.<\/p>\n<\/blockquote>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:<\/p>\n<pre><code class=\"bash\"># \u0441\u0442\u044f\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f git pull  # \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0442\u0435\u0433 \u0440\u0435\u043b\u0438\u0437\u0430 \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0440\u0435\u043b\u0438\u0437\u043e\u0432 https:\/\/github.com\/getsentry\/self-hosted\/releases git checkout {version} <\/code><\/pre>\n<blockquote>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0447\u0442\u043e \u043d\u0430\u0448\u0438 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0438\u0437 <code>sentry\/*.example.*<\/code> \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0442\u0435\u043c \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c.<\/p>\n<\/blockquote>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\">.\/install.sh <\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <em>Sentry<\/em>:<\/p>\n<pre><code class=\"bash\">docker compose up -d <\/code><\/pre>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0447\u0442\u043e \u0432\u0441\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b:<\/p>\n<pre><code class=\"bash\">docker ps <\/code><\/pre>\n<p><a class=\"anchor\" name=\"#production\" id=\"#production\"><\/a><\/p>\n<h2>Production Sentry<\/h2>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0447\u0438\u0432\u043e\u0433\u043e \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 <em>Sentry<\/em> \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u0432\u0441\u0435 \u0442\u0435\u043c\u044b \u0432\u0435\u0434\u0443\u0442 \u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"http:\/\/sentry.io\" rel=\"noopener noreferrer nofollow\">sentry.io<\/a><\/p>\n<figure class=\"\"><\/figure>\n<p>\u041d\u043e \u043d\u0430\u043c \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043a\u0430\u043a \u043f\u043e\u0434\u043d\u044f\u0442\u044c <code>HA<\/code> <code>self-hosted<\/code>. \u0422\u0430\u043a \u043c\u044b \u043d\u0430\u0448\u043b\u0438: <a href=\"https:\/\/forum.sentry.io\/t\/sentry-10-high-availability\/8826\/\" rel=\"noopener noreferrer nofollow\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 Sentry<\/a>, \u043e\u0442\u0442\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <a href=\"https:\/\/github.com\/sentry-kubernetes\/charts\" rel=\"noopener noreferrer nofollow\">Sentry helm charts<\/a> \u0438 <a href=\"https:\/\/github.com\/getsentry\/self-hosted\/issues\/747\" rel=\"noopener noreferrer nofollow\">\u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435<\/a> (\u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u043e), \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u0443\u0433\u043b\u0438\u0442\u044c <a href=\"https:\/\/forum.sentry.io\/t\/sentry-high-availability-deploy\/11838\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 Sentry<\/a>. \u0415\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u0443\u0433\u043b\u0438\u0442\u044c <a href=\"https:\/\/docs.cloudera.com\/documentation\/enterprise\/6\/6.3\/topics\/sg_sentry_ha.html\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u044e \u043e\u0442 cloudera<\/a>.<\/p>\n<p>\u0410 \u043c\u044b \u043f\u043e\u0448\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0443\u0442\u0435\u043c &#8230;<\/p>\n<p><a class=\"anchor\" name=\"#delivery-network\" id=\"#delivery-network\"><\/a><\/p>\n<h3>\u0421\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439<\/h3>\n<figure class=\"\"><\/figure>\n<p>\u0423 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432 <em>Elasticsearch<\/em> \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0437 \u0443\u0437\u043b\u043e\u0432 <code>td-agent<\/code>. \u0421\u0440\u0430\u0437\u0443 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0447\u0442\u043e <code>td-agent<\/code> \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e \u0438 <code>fluentd<\/code>, \u043d\u043e <code>td-agent<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 <code>fluentd<\/code>. \u041a\u0441\u0442\u0430\u0442\u0438, \u0437\u0434\u0435\u0441\u044c \u043d\u0430 \u0445\u0430\u0431\u0440\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/250969\/\" rel=\"noopener noreferrer nofollow\">\u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 fluentd<\/a>.<\/p>\n<p>\u0412 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 <a href=\"https:\/\/github.com\/y-ken\/fluent-plugin-sentry\" rel=\"noopener noreferrer nofollow\">\u043f\u043b\u0430\u0433\u0438\u043d Sentry \u0434\u043b\u044f fluentd<\/a> \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043b\u044f <code>td-agent<\/code>, \u043d\u043e \u043d\u0430\u043c \u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u0435\u043b: \u043d\u0430\u043c <strong>\u043d\u0443\u0436\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438<\/strong>, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0438 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f <em>Sentry<\/em> \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u041f\u041e.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043c\u044b \u0431\u044b\u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0442\u0438\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043f\u0440\u0435\u0434\u0432\u0435\u0449\u0430\u043b\u043e \u043d\u0430\u043c \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c <code>td-agent'\u0435<\/code> \u0433\u0434\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0432 <em>Sentry<\/em>, \u0441\u0447\u0435\u0442 \u0448\u0435\u043b \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u043a\u0438. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u043d\u0430 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 <code>td-agent<\/code> \u043f\u043b\u0430\u0433\u0438\u043d <a href=\"https:\/\/docs.fluentd.org\/output\/http\" rel=\"noopener noreferrer nofollow\">out_http<\/a>, \u043c\u044b \u043f\u043e\u043d\u044f\u043b\u0438: \u043e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0442\u044c <code>td-agent'\u043e\u0432<\/code> \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439.<\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 <code>td-agent<\/code> \u0443\u043c\u0435\u0435\u0442 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f: \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, <a href=\"https:\/\/docs.fluentd.org\/buffer\" rel=\"noopener noreferrer nofollow\">td-agent \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c\/\u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 \u0444\u0430\u0439\u043b \u043d\u0430 \u0434\u0438\u0441\u043a<\/a> (\u0432\u043e\u0442 <a href=\"https:\/\/docs.fluentd.org\/configuration\/buffer-section\" rel=\"noopener noreferrer nofollow\">\u0435\u0449\u0435<\/a>), \u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438, \u0434\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043b\u0438\u0431\u043e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e. \u0422\u043e \u0435\u0441\u0442\u044c <strong>\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f<\/strong>.<\/p>\n<figure class=\"\"><\/figure>\n<p>\u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0443\u0437\u043b\u0435 <code>td-agent<\/code>. \u042d\u0442\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0434\u0438\u0441\u043a \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0434\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430 \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>\u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 <strong>\u0437\u0430\u0447\u0435\u043c \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438<\/strong>? \u0420\u0430\u0437\u0432\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e <code>td-agent'\u0430<\/code> \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 <em>Sentry<\/em>?<\/p>\n<p>\u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445: \u0432\u044b\u0441\u043e\u043a\u043e\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435. \u0415\u0449\u0435 \u0440\u0430\u0437 \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u0441\u0445\u0435\u043c\u0443 \u0432\u044b\u0448\u0435, \u0443 \u043d\u0430\u0441 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 3 \u0443\u0437\u043b\u0430 <code>td-agent<\/code> \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 <code>td-agent'\u043e\u0432<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/docs.fluentd.org\/output\/forward\" rel=\"noopener noreferrer nofollow\">out_forward<\/a> <strong>\u0441 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0441\u0431\u043e\u0435\u0432<\/strong>. \u0422\u043e \u0435\u0441\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b 1 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e <code>td-agent<\/code>.<\/p>\n<p>\u0412\u043e \u0432\u0442\u043e\u0440\u044b\u0445: \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u044f\u0434\u043e\u0432\u0443\u044e \u0441\u0445\u0435\u043c\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435:<\/p>\n<figure class=\"\"><\/figure>\n<p>\u041d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0432\u0438\u0434\u043d\u043e \u0447\u0442\u043e \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 <code>td-agent<\/code> \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c <code>localhost<\/code>. \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0430\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0435 \u043c\u044b \u0441\u0442\u0440\u0435\u043c\u0438\u043c\u0441\u044f \u043a <code>stateless<\/code> (\u0447\u0442\u043e\u0431\u044b \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435). \u0415\u0441\u043b\u0438 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 (<em>Sentry<\/em> \u0438\u043b\u0438 <em>Elasticsearch<\/em>) \u0441\u0442\u0430\u043d\u0443\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043a\u043e\u043f\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441 <code>td-agent<\/code>. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 <code>localhost<\/code> \u0432\u0441\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043c \u0436\u0435 \u0433\u0434\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 &#8212; <strong>\u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u043d\u043e\u0433\u043e, \u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043c\u0430\u043b\u043e<\/strong> \u0438\u0437-\u0437\u0430 \u0441\u0442\u0440\u0435\u043c\u043b\u0435\u043d\u0438\u044f \u043a <code>stateless<\/code> (<em>\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043f\u0430\u0441<\/em>). \u0417\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0433\u0434\u0435 <strong>\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430<\/strong>.<\/p>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e <code>td-agent<\/code>: <a href=\"https:\/\/docs.fluentd.org\/input\/unix\" rel=\"noopener noreferrer nofollow\">\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0432 unix socket<\/a>, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0447\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u043e <code>http<\/code>. \u0420\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0438\u0436\u0435, \u043e\u043d\u0430 \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 <a href=\"https:\/\/www.researchgate.net\/publication\/221461399_XenSocket_A_High-Throughput_Interdomain_Transport_for_Virtual_Machines\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Middleware 2007<\/a> \u043f\u043e\u0434 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c \u0421\u044e\u0437\u0430\u043d\u043d\u044b \u041c\u0430\u043a\u0438\u043d\u0442\u043e\u0448 \u0438 \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u043e\u0432:<\/p>\n<figure class=\"\"><\/figure>\n<p>\u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u043e\u0434\u0432\u043e\u0434\u0438\u0442 \u043d\u0430\u0441 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443:<\/p>\n<ul>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 <em>Sentry<\/em> \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u043b\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 <code>>=500<\/code> \u0442\u043e \u043d\u0430\u0448 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a (<code>td-agent<\/code>) <strong>\u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u043e\u0437\u0436\u0435<\/strong><\/p>\n<\/li>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0430 <em>Sentry<\/em> \u043f\u0438\u0441\u0430\u0442\u044c \u0432 <code>unix-socket<\/code> \u0442\u043e <strong>\u0441\u043d\u0438\u0437\u0438\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u0430 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u044e\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u043f\u0440\u0438\u0440\u043e\u0434\u0443 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u0430\u043f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u043e\u0442 \u044d\u0442\u0430\u043f\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430\u0445.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u0442\u043e \u0432\u0441\u0435-\u0440\u0430\u0432\u043d\u043e \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441: <em>Sentry<\/em> \u043a\u043b\u0438\u0435\u043d\u0442 \u0438 <em>Sentry<\/em> \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u043f\u043e <code>http<\/code>, \u043a\u0430\u043a \u0441\u044e\u0434\u0430 \u0432\u043e\u0442\u043a\u043d\u0443\u0442\u044c \u0430\u0441\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 <code>td-agent<\/code>?<\/p>\n<figure class=\"\"><\/figure>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u043d\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0430\u043b\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u043d\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043d\u0435\u0434\u0440\u0438\u0432 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a, \u043c\u044b \u043d\u0438\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0438\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0431\u043e\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0442\u0440\u0435\u043a\u0438\u043d\u0433\u0430 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p><a class=\"anchor\" name=\"#backend\" id=\"#backend\"><\/a><\/p>\n<h3>Backend<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 <code>backend<\/code> \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>php<\/code>, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/packagist.org\/packages\/sentry\/sdk\" rel=\"noopener noreferrer nofollow\"><\/a><\/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-356608","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356608","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=356608"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356608\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=356608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=356608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=356608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}