{"id":1584,"date":"2020-02-28T14:26:47","date_gmt":"2020-02-28T11:26:47","guid":{"rendered":"https:\/\/artem.services\/?p=1584"},"modified":"2021-02-23T15:43:37","modified_gmt":"2021-02-23T12:43:37","slug":"graphite-ubuntu-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0","status":"publish","type":"post","link":"https:\/\/artem.services\/?p=1584","title":{"rendered":"Graphite &#8212; Ubuntu \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430"},"content":{"rendered":"<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-1591\" src=\"https:\/\/artem.services\/wp-content\/uploads\/2020\/02\/graphite.png\" alt=\"\" width=\"416\" height=\"121\" srcset=\"https:\/\/artem.services\/wp-content\/uploads\/2020\/02\/graphite.png 416w, https:\/\/artem.services\/wp-content\/uploads\/2020\/02\/graphite-300x87.png 300w\" sizes=\"(max-width: 416px) 100vw, 416px\" \/><\/p>\n<p>&nbsp;<\/p>\n<blockquote><p>\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430 \u0434\u043b\u044f <strong>Ubuntu 18.04<\/strong>, \u043d\u0430 <strong>20.04<\/strong> \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 (23.02.2021) \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0431\u0430\u0433 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <strong>Graphite<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt update\r\nsudo apt install -y graphite-web graphite-carbon\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo vim \/etc\/graphite\/local_settings.py\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nSECRET_KEY = 'ranDomvALuE' - \u0432\u0432\u043e\u0434\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \r\nTIME_ZONE = 'Europe\/Kiev' - \u0432\u0432\u043e\u0434\u0438\u043c \u0441\u0432\u043e\u0439 \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo -u _graphite graphite-manage migrate --noinput\r\nsudo graphite-manage migrate --run-syncdb\r\n<\/pre>\n<p>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsed -i 's\/false\/true\/g' \/etc\/default\/graphite-carbon\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c &quot;<strong>carbon-cache<\/strong>&quot;:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsystemctl restart carbon-cache\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <strong>Nginx<\/strong> \u0438 <strong>uWSGI<\/strong> \u0434\u043b\u044f Web UI:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt install -y nginx uwsgi uwsgi-plugin-python\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 <strong>Nginx<\/strong>&#39;a:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo bash -c 'cat &lt;&lt; EOF &gt; \/etc\/nginx\/sites-enabled\/default\r\nserver {\r\n    listen 80 default_server;\r\n\r\n    server_name _;\r\n\r\n    root \/usr\/share\/graphite-web;\r\n\r\n    access_log \/var\/log\/nginx\/graphite.access.log;\r\n    error_log  \/var\/log\/nginx\/graphite.error.log;\r\n\r\n    location = \/favicon.ico {\r\n        return 204;\r\n    }\r\n\r\n    # serve static content from the &quot;content&quot; directory\r\n    location \/static {\r\n        alias \/usr\/share\/graphite-web\/static;\r\n        expires max;\r\n    }\r\n\r\n    location \/ {\r\n        try_files \\$uri @graphite;\r\n    }\r\n\r\n    location @graphite {\r\n        uwsgi_pass  127.0.0.1:3031;\r\n        include uwsgi_params;\r\n    }\r\n}\r\nEOF'\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c <strong>uWSGI<\/strong> \u043a\u043e\u043d\u0444\u0438\u0433:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo bash -c 'cat &lt;&lt; EOF &gt; \/etc\/uwsgi\/apps-enabled\/grafite.ini\r\n[uwsgi]\r\nprocesses = 2\r\nsocket = 127.0.0.1:3031\r\ngid = _graphite\r\nuid = _graphite\r\nwsgi-file = \/usr\/share\/graphite-web\/graphite.wsgi\r\nEOF'\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <strong>uWSGI<\/strong> \u0438 <strong>Nginx:<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo systemctl restart uwsgi\r\nsudo systemctl restart nginx\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430 \u0434\u043b\u044f Ubuntu 18.04, \u043d\u0430 20.04 \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 (23.02.2021) \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0431\u0430\u0433 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 &nbsp; \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Graphite: &nbsp; \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438: &nbsp; \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438: &nbsp; \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438: \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443: &nbsp; \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c &quot;carbon-cache&quot;: &nbsp; \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Nginx \u0438 uWSGI \u0434\u043b\u044f Web UI: &nbsp; \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 Nginx&#39;a: &nbsp; &hellip; <a href=\"https:\/\/artem.services\/?p=1584\" class=\"more-link\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c<span class=\"screen-reader-text\"> &quot;Graphite &#8212; Ubuntu \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&quot;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[164,41],"tags":[1235,1233,6],"_links":{"self":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1584"}],"collection":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1584"}],"version-history":[{"count":6,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1584\/revisions"}],"predecessor-version":[{"id":2154,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1584\/revisions\/2154"}],"wp:attachment":[{"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}