{"id":396340,"date":"2024-06-29T12:47:03","date_gmt":"2024-06-29T12:47:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=396340"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=396340","title":{"rendered":"<span>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 ElasticSearch + MySql + Yii2<\/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<h3>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 <\/h3>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u044f \u0432\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u0442\u0435\u044f\u043b? \u041d\u0430 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441\u0432\u043e\u0439 \u043f\u043e\u0438\u0441\u043a \u043d\u0430 \u0431\u0430\u0437\u0435 SQL \u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0447\u0435\u0439 \u043b\u0430\u0431\u0443\u0434\u043e\u0439. \u0418 \u043f\u043e\u043a\u0430 \u0431\u044b\u043b\u043e \u043c\u0430\u043b\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0411\u0414 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u043d\u043e \u0432 \u043e\u0434\u0438\u043d \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 \u0432 \u0411\u0414 \u043d\u0430 100000 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0438 \u0447\u0442\u043e-\u0442\u043e \u0440\u0435\u0437\u043a\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a&#8230; \u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e 0,01\u0441\u0435\u043a \u0430\u0436 15\u0441\u0435\u043a, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0434\u0435\u043b\u043e. \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043a\u0430\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043f\u0435\u0440\u0435\u043a\u0438\u043d\u0443\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e, \u0438 \u044d\u0442\u0438\u043c \u043c\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u0441\u0432\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u044b\u043b\u043e 0,5\u0441\u0435\u043a. \u0422\u043e\u0436\u0435 \u0442\u0430\u043a \u0441\u0435\u0431\u0435, \u043d\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c. \u0418 \u043f\u043e\u0448\u0435\u043b \u043c\u044b\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441&#8230; \u0420\u0435\u0448\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a, \u0438 \u0432\u044b\u0431\u043e\u0440 \u0431\u044b\u043b \u043c\u0435\u0436\u0434\u0443 ElasticSearch (\u0414\u0430\u043b\u0435\u0435 ES) \u0438 Sphinx. \u041d\u0430\u0448 \u0432\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 ES \u0438\u0437-\u0437\u0430 \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0432 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c.<\/p>\n<p>\u041d\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0447\u0442\u043e, \u0434\u043e\u043a\u0438 \u0443 ES \u043a\u0438\u043b\u043e\u043c\u0435\u0442\u0440\u043e\u0432\u044b\u0435 \u0438 \u043d\u0435\u0442\u0443 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u044b \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0447\u0435\u0433\u043e \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f.<\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u044f \u043d\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u0432 \u0442\u0435\u043c\u0435, \u0438 \u043f\u043e\u043f\u0440\u043e\u0448\u0443 \u043d\u0435 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043c\u0438\u0434\u043e\u0440\u0430\u043c\u0438 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a, \u043f\u0438\u0448\u0443 \u0432\u0441\u0435 \u044d\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u043f\u043e-\u0431\u044b\u0441\u0442\u0440\u043e\u043c\u0443 \u0432\u0441\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438 \u043f\u043e\u0442\u044b\u043a\u0430\u0442\u044c \u0438 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0410 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 ES \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440<\/h2>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u0434\u043b\u044f ES \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u0449\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e, \u0442\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 JAVA \u0438 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0432\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. <\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0436\u0435\u043b\u0435\u0437\u0443<\/p>\n<\/td>\n<td>\n<p>\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p>\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u044b\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>CPU<\/p>\n<\/td>\n<td>\n<p>2<\/p>\n<\/td>\n<td>\n<p>4+<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Memory<\/p>\n<\/td>\n<td>\n<p>6 Gb<\/p>\n<\/td>\n<td>\n<p>8+ Gb<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Disk<\/p>\n<\/td>\n<td>\n<p>10 Gb<\/p>\n<\/td>\n<td>\n<p>10+ Gb<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u0447\u0443\u0434\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Ampere \u043e\u0442 Oracle (4core 24ram 45rom).<\/p>\n<p>\u0418\u0442\u0430\u043a \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043e\u0431\u0440\u0430\u0437 Ubuntu 20.04 \u0442\u0430\u043a \u0447\u0442\u043e \u0431\u0443\u0434\u0443 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u043d\u0435\u043c.<\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u0435\u0431\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code># wget -qO - https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | sudo apt-key add -<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u0430 apt-transport-https, \u0442\u043e \u043d\u0430\u0434\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c:<\/p>\n<pre><code># apt install apt-transport-https<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Elasticsearch \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443:<\/p>\n<pre><code># echo \"deb https:\/\/artifacts.elastic.co\/packages\/7.x\/apt stable main\" | sudo tee \/etc\/apt\/sources.list.d\/elastic-7.x.list<\/code><\/pre>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Elasticsearch :<\/p>\n<pre><code># apt update &amp;&amp; apt install elasticsearch<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c elasticsearch \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<pre><code># systemctl daemon-reload  # systemctl enable elasticsearch.service  # systemctl start elasticsearch.service<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u043b\u0438 \u043e\u043d:<\/p>\n<pre><code># systemctl status elasticsearch.service<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c, \u0447\u0442\u043e elasticsearch \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043a \u043d\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0435.<\/p>\n<pre><code># curl 127.0.0.1:9200 {   \"name\" : \"ubuntu10\",   \"cluster_name\" : \"elasticsearch\",   \"cluster_uuid\" : \"zsYgZQSeY6uvhWCkFJPiAA\",   \"version\" : {     \"number\" : \"7.15.1\",     \"build_flavor\" : \"default\",     \"build_type\" : \"deb\",     \"build_hash\" : \"8ced7813d6f16d2ef30792e2fcde3e755795ee04\",     \"build_date\" : \"2021-10-07T21:56:19.031608185Z\",     \"build_snapshot\" : false,     \"lucene_version\" : \"8.9.0\",     \"minimum_wire_compatibility_version\" : \"6.8.0\",     \"minimum_index_compatibility_version\" : \"6.0.0-beta1\"   },   \"tagline\" : \"You Know, for Search\" } <\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Elasticsearch.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Elasticsearch<\/h2>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Elasticsearch \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435\u00a0<em>\/etc\/elasticsearch\/<\/em><strong><em>elasticsearch.yml<\/em><\/strong>. \u041d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<pre><code>path.data: \/var\/lib\/elasticsearch # \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 network.host: 127.0.0.1 # \u0441\u043b\u0443\u0448\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/code><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Elasticsearch \u0441\u043b\u0443\u0448\u0430\u0435\u0442 localhost. \u041d\u0430\u043c \u044d\u0442\u043e \u0438 \u043d\u0443\u0436\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c logstash, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u041e\u0431\u0440\u0430\u0449\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0438\u043d\u0430\u0447\u0435 \u0437\u0430\u0447\u0435\u043c \u043d\u0430\u043c Elasticsearch \ud83d\ude42 \u041f\u043e\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0433\u0434\u0435 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c\u0438. \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u0443:<\/p>\n<pre><code># systemctl restart elasticsearch.service<\/code><\/pre>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<\/p>\n<pre><code># netstat -tulnp | grep 9200 tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      19788\/java<\/code><\/pre>\n<p>Elasticsearch \u043f\u043e\u0432\u0438\u0441 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435. \u041f\u0440\u0438\u0447\u0435\u043c \u044f \u0432\u0438\u0436\u0443, \u0447\u0442\u043e \u043e\u043d \u0441\u043b\u0443\u0448\u0430\u0435\u0442 ipv6, \u0430 \u043f\u0440\u043e ipv4 \u043d\u0438 \u0441\u043b\u043e\u0432\u0430. \u041d\u043e \u0435\u0433\u043e \u043e\u043d \u0442\u043e\u0436\u0435 \u0441\u043b\u0443\u0448\u0430\u0435\u0442, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Kibana. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b elasticsearch \u0441\u043b\u0443\u0448\u0430\u043b \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>network.host: 0.0.0.0<\/code><\/pre>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u0443. \u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0443<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0435\u0435 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>discovery.seed_hosts: [\"127.0.0.1\", \"[::1]\"]<\/code><\/pre>\n<p>\u042d\u0442\u0438\u043c \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0445\u043e\u0441\u0442\u044b \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0432\u0438\u0434 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0430<\/p>\n<pre><code># \u0418\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430  cluster.name: cluster-app # \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u043d\u043e\u0434\u044b  node.name: node-1 # \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u043b\u0430\u043c  path.data: \/var\/lib\/elasticsearch # \u043f\u0443\u0442\u044c \u043a \u043b\u043e\u0433\u0430\u043c  path.logs: \/var\/log\/elasticsearch # \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0443\u0448\u0430\u0435\u0442 ES network.host: 0.0.0.0 discovery.seed_hosts: [\"127.0.0.1\", \"[::1]\"] <\/code><\/pre>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Kibana<\/h2>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c web \u043f\u0430\u043d\u0435\u043b\u044c Kibana \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0438\u0437 Elasticsearch. \u041c\u043e\u0436\u043d\u043e \u0438 \u0431\u0435\u0437 \u043d\u0435\u0435 , \u043d\u043e \u0441 \u043d\u0435\u0439 \u0443\u0434\u043e\u0431\u043d\u0435\u0435, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043c\u043d\u0435))<\/p>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u0438\u0437 deb \u043f\u0430\u043a\u0435\u0442\u0430. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<pre><code># wget -qO - https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | apt-key add -<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Kibana:<\/p>\n<pre><code># echo \"deb https:\/\/artifacts.elastic.co\/packages\/7.x\/apt stable main\" | tee -a \/etc\/apt\/sources.list.d\/elastic-7.x.list<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 Kibana:<\/p>\n<pre><code># apt update &amp;&amp; apt install kibana<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u041a\u0438\u0431\u0430\u043d\u0430 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code># systemctl daemon-reload # systemctl enable kibana.service # systemctl start kibana.service<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430:<\/p>\n<pre><code># systemctl status kibana.service<\/code><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, Kibana \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \u043f\u043e\u0440\u0442 5601. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430. \u041a\u0438\u0431\u0430\u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0434\u043e\u043b\u0433\u043e. \u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043c\u0438\u043d\u0443\u0442\u0443 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435.<\/p>\n<pre><code># netstat -tulnp | grep 5601 tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      1487\/node<\/code><\/pre>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Kibana<\/h3>\n<p>\u0424\u0430\u0439\u043b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u041a\u0438\u0431\u0430\u043d\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043f\u0443\u0442\u0438 &#8212;\u00a0<em>\/etc\/kibana\/<\/em><strong><em>kibana.yml<\/em><\/strong>. \u041d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c \u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043a\u0430\u043a \u0435\u0441\u0442\u044c. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Kibana \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e localhost \u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e. \u042d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e\u043c \u0436\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u00a0nginx \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 reverse proxy, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u041a\u0438\u0431\u0430\u043d\u0430. \u0422\u0430\u043a \u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432 production, \u043a\u043e\u0433\u0434\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u043b\u044e\u0434\u0438 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0441\u0442. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e nginx \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0438 \u0442.\u0434. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0443 \u0432\u0430\u0441 \u044d\u0442\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 nginx. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u041a\u0438\u0431\u0430\u043d\u0430 \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u00a0<strong>server.host<\/strong>, \u0443\u043a\u0430\u0437\u0430\u0432 ip \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>server.host: \"10.20.1.23\"<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0441\u043b\u0443\u0448\u0430\u043b\u0430 \u0432\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 0.0.0.0. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Kibana \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c:<\/p>\n<pre><code># systemctl restart kibana.service<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0439\u0442\u0438 \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 http:\/\/10.20.1.23:5601.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/06c\/bd0\/838\/06cbd0838f6c4578f4364b63fcb26bc6.png\" width=\"1674\" height=\"817\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/06c\/bd0\/838\/06cbd0838f6c4578f4364b63fcb26bc6.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435:<\/p>\n<pre><code>server.publicBaseUrl is missing and should be configured when running in a production environment. Some features may not behave correctly.<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 Kibana \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>server.publicBaseUrl: \"http:\/\/10.20.1.23:5601\/\"<\/code><\/pre>\n<p>\u0418\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0435\u0433\u043e.\u00a0<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Logstash<\/h3>\n<p>Logstash \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u043a\u0430\u043a Elasticsearch \u0438 Kibana, \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u041d\u0435 \u0431\u0443\u0434\u0443 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c. \u041f\u0440\u043e\u0441\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Logstash:<\/p>\n<pre><code># apt install logstash<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c logstash \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443:<\/p>\n<pre><code># systemctl enable logstash.service<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u043d\u0430\u0434\u043e \u0435\u0433\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 logstash \u043b\u0435\u0436\u0438\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0<em>\/etc\/logstash\/logstash.yml<\/em>. \u042f \u0435\u0433\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u044e, \u0430 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0443\u0434\u0443 \u043f\u043e \u0441\u043c\u044b\u0441\u043b\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\u00a0<em>\/etc\/logstash\/conf.d<\/em>. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>input.conf<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441 beats \u0430\u0433\u0435\u043d\u0442\u043e\u0432.<\/p>\n<pre><code>input {   beats {     port => 5044   } }<\/code><\/pre>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u044e, \u0447\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043d\u0430 5044 \u043f\u043e\u0440\u0442. \u042d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ssl \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043b\u043e\u0433\u043e\u0432 \u043f\u043e \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u043c, \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b ssl. \u042f \u0431\u0443\u0434\u0443 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ssl. \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u043a\u0430\u0436\u0435\u043c, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u0422\u0443\u0442 \u0442\u043e\u0436\u0435 \u0432\u0441\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. \u0420\u0438\u0441\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>output.conf<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Elasticsearch.<\/p>\n<pre><code>output {         elasticsearch {             hosts    => \"localhost:9200\"             index    => \"nginx-%{+YYYY.MM.dd}\"         }     #stdout { codec => rubydebug } }<\/code><\/pre>\n<p>\u0427\u0442\u043e \u043c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438? \u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 elasticsearch \u043f\u043e\u0434 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c \u0441 \u043c\u0430\u0441\u043a\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0430\u0442\u044b. \u0420\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043f\u043e \u0434\u043d\u044f\u043c \u0438 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0434\u043e\u0431\u043d\u0430 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041f\u043e\u0442\u043e\u043c \u043b\u0435\u0433\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u044d\u0442\u0438\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c. \u042f \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443. \u041e\u043d\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u0435\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u0442\u043e \u0432\u0441\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 logstash \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043b\u043e\u0433. \u0412 centos \u044d\u0442\u043e\u00a0<em>\/var\/log\/messages<\/em>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u0438\u043d\u0430\u0447\u0435 \u043b\u043e\u0433 \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0435\u0442\u0441\u044f \u0434\u0443\u0431\u043b\u044f\u043c\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0443\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0443\u043b\u0438\u0447\u043d\u0430\u044f \u043c\u0430\u0433\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043d\u0438\u0436\u0435. \u0420\u0438\u0441\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>filter.conf<\/em>.<\/p>\n<pre><code>filter {  if [type] == \"nginx_access\" {     grok {         match => { \"message\" => \"%{IPORHOST:remote_ip} - %{DATA:user} \\[%{HTTPDATE:access_time}\\] \\\"%{WORD:http_method} %{DATA:url} HTTP\/%{NUMBER:http_version}\\\" %{NUMBER:response_code} %{NUMBER:body_sent_bytes} \\\"%{DATA:referrer}\\\" \\\"%{DATA:agent}\\\"\" }     }   }   date {         match => [ \"timestamp\" , \"dd\/MMM\/YYYY:HH:mm:ss Z\" ]   }   geoip {          source => \"remote_ip\"          target => \"geoip\"          add_tag => [ \"nginx-geoip\" ]   } }<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0444\u0438\u043b\u044c\u0442\u0440, \u043f\u0430\u0440\u0441\u0438\u0442 \u043b\u043e\u0433\u0438 nginx \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<strong>grok<\/strong>, \u0435\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u043b\u043e\u0433\u043e\u0432, \u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0437 \u043b\u043e\u0433\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u0441 \u043d\u0438\u043c\u0438 \u0431\u044b\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0421 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043b\u043e\u0433\u043e\u0432 \u0443 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u0434\u043e\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a filebeat \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043c\u043e\u0434\u0443\u043b\u0438, \u0438\u0434\u0443\u0449\u0438\u0435 \u0432 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0441\u0435 \u044d\u0442\u043e \u0438 \u0442\u0430\u043a \u0443\u0436\u0435 \u0443\u043c\u0435\u044e\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438, \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c.<\/p>\n<p>\u041c\u043e\u0434\u0443\u043b\u0438 filebeat \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 Elasticsearch. \u041d\u0430 \u043d\u0435\u0433\u043e \u0432\u044b \u0442\u043e\u0436\u0435 \u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043b\u0430\u0433\u0438\u043d \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u043e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<a href=\"https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/current\/ingest.html\" rel=\"noopener noreferrer nofollow\">elastic ingest<\/a>. \u041d\u043e \u0443 \u043d\u0430\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435 \u0437\u0432\u0435\u043d\u043e Logstash, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435. \u0421 \u043d\u0438\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u044b filebeat \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432 logstash \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u042d\u0442\u043e \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435. \u041a\u0430\u043a \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u044d\u0442\u043e \u043f\u043b\u0430\u0442\u0430 \u0437\u0430 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0435\u0442 logstash. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u043e\u0437\u043d\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 Elasticsearch \u043d\u0435 \u0442\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u0430\u043a \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0435\u0434\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 Logstash.<\/p>\n<p>\u0414\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430 grok, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 Logstash, \u0435\u0441\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439\u00a0<a href=\"https:\/\/grokdebug.herokuapp.com\/\" rel=\"noopener noreferrer nofollow\">\u0434\u0435\u0431\u0430\u0433\u0433\u0435\u0440<\/a>, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0431\u0443\u0434\u0443\u0442 \u043f\u0430\u0440\u0441\u0438\u0442\u044c\u0441\u044f \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u043e\u043a\u0430\u0436\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 nginx. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u0437 \u043b\u043e\u0433\u0430:<\/p>\n<pre><code>180.163.220.100 - travvels.ru [05\/Sep\/2021:14:45:52 +0300] \"GET \/assets\/galleries\/26\/1.png HTTP\/1.1\" 304 0 \"https:\/\/travvels.ru\/ru\/glavnaya\/\" \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/50.0.2661.102 Safari\/537.36\"<\/code><\/pre>\n<p>\u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0435\u0435 \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043e grok, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u0432\u044b\u0448\u0435.<\/p>\n<pre><code>%{IPORHOST:remote_ip} - %{DATA:user} \\[%{HTTPDATE:access_time}\\] \\\"%{WORD:http_method} %{DATA:url} HTTP\/%{NUMBER:http_version}\\\" %{NUMBER:response_code} %{NUMBER:body_sent_bytes} \\\"%{DATA:referrer}\\\" \\\"%{DATA:agent}\\\"<\/code><\/pre>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u0438 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0434\u0435\u0431\u0430\u0433\u0433\u0435\u0440\u0435. \u0424\u0438\u043b\u044c\u0442\u0440 \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442 \u043b\u043e\u0433 \u0438 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 json, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0441\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432 Kibana \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u0447\u0435\u0442\u044b \u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0438. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e \u0444\u043e\u0440\u043c\u0430\u0442 \u043b\u043e\u0433\u043e\u0432. \u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0435 \u043c\u043d\u043e\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u043c\u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0443 main \u043b\u043e\u0433\u043e\u0432 \u0432 nginx. \u0415\u0441\u043b\u0438 \u0432\u044b \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0444\u043e\u0440\u043c\u0430\u0442 \u043b\u043e\u0433\u043e\u0432, \u0432\u043d\u0435\u0441\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 grok \u0444\u0438\u043b\u044c\u0442\u0440. \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u043b \u0440\u0430\u0431\u043e\u0442\u0443 \u044d\u0442\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043b\u043e\u0433\u0438 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0435\u043b\u0430\u0441\u0442\u0438\u043a\u0441. \u041f\u043e\u0442\u043e\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u0447\u0435\u0442\u044b, \u0433\u0440\u0430\u0444\u0438\u043a\u0438, \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b.<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u00a0<strong>date<\/strong>\u00a0\u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u0434\u0430\u0442\u0443 \u0438\u0437 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0445 \u043b\u043e\u0433\u043e\u0432 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0430\u0442\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 elasticsearch. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u043f\u0443\u0442\u0430\u043d\u0438\u0446\u044b, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0441 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u043e\u0439 \u043b\u043e\u0433\u043e\u0432. \u0412 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0434\u0430\u0442\u043e\u0439, \u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043b\u043e\u0433\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u0430\u044f \u0434\u0430\u0442\u0430. \u041d\u0435\u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b.<\/p>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u00a0<strong>geoip<\/strong>\u00a0\u0444\u0438\u043b\u044c\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 ip \u0430\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0440\u0430\u043d\u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 grok \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0432 \u043f\u043e\u043b\u0435 remote_ip, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041e\u043d \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u0443\u0434\u0430 \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0414\u043b\u044f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430\u00a0<em>\/usr\/share\/logstash\/vendor\/bundle\/jruby\/2.5.0\/gems\/logstash-filter-geoip-6.0.3-java\/vendor\/<\/em><strong><em>GeoLite2-City.mmdb<\/em><\/strong>. \u041e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 logstash. \u0412\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u0432\u044b \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c. \u0420\u0430\u043d\u044c\u0448\u0435 \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e \u043f\u0440\u044f\u043c\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435, \u043d\u043e \u0441 30-\u0433\u043e \u0434\u0435\u043a\u0430\u0431\u0440\u044f 2019 \u0433\u043e\u0434\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c. \u0411\u0430\u0437\u0430 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, \u043d\u043e \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0443\u0436\u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u0438 \u043a\u0430\u0447\u0430\u0435\u043c \u043e\u0442\u0441\u044e\u0434\u0430 &#8212;\u00a0<a href=\"https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/#Download_Access\" rel=\"noopener noreferrer nofollow\">https:\/\/dev.maxmind.com\/geoip\/geoip2\/geolite2\/#Download_Access<\/a>. \u041f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432\u00a0<em>\/etc\/logstash<\/em>\u00a0\u0444\u0430\u0439\u043b GeoLite2-City.mmdb. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u043e\u0434\u0443\u043b\u044f geoip \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u0441 \u0431\u0430\u0437\u043e\u0439. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u00a0<em>\/etc\/logstash\/conf.d\/filter.conf<\/em>:<\/p>\n<pre><code>geoip {  database => \"\/etc\/logstash\/GeoLite2-City.mmdb\"  source => \"remote_ip\"  target => \"geoip\"  add_tag => [ \"nginx-geoip\" ] }<\/code><\/pre>\n<p>\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 logstash. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0435\u0433\u043e:<\/p>\n<pre><code># systemctl start logstash.service<\/code><\/pre>\n<p>\u041c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043b\u043e\u0433\u00a0<em>\/var\/log\/logstash\/logstash-plain.log<\/em>, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u041f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u0430\u044f geoip \u0431\u0430\u0437\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0442 \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0432 \u043b\u043e\u0433\u0435:<\/p>\n<pre><code>[2021-10-18T12:52:07,118][INFO ][logstash.filters.geoip   ][main] Using geoip database {:path=>\"\/etc\/logstash\/GeoLite2-City.mmdb\"}<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0430\u0433\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Filebeat \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432 Logstash<\/h3>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0430\u0433\u0435\u043d\u0442\u0430 Filebeat \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 nginx \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432\u0435\u0431 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 ELK. \u0421\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u043a \u0438\u0437 \u043e\u0431\u0449\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u0442\u0430\u043a \u0438 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u044b. \u041a\u0430\u043a \u0441\u0442\u0430\u0432\u0438\u0442\u044c &#8212; \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u0430\u043c. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0441\u0435 \u0445\u043e\u0441\u0442\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u043d\u043e \u0437\u0430\u0442\u043e \u043f\u043e\u0442\u043e\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b. \u0415\u0441\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e. <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code># curl -L -O https:\/\/artifacts.elastic.co\/downloads\/beats\/filebeat\/filebeat-7.15.1-amd64.deb # dpkg -i filebeat-7.15.1-amd64.deb<\/code><\/pre>\n<p>\u0418\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e:<\/p>\n<pre><code># yum install filebeat # apt install filebeat<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0440\u0438\u0441\u0443\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>\/etc\/filebeat\/filebeat.yml<\/em>\u00a0\u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432 logstash.<\/p>\n<pre><code>filebeat.inputs: - type: log   enabled: true   paths:       - \/var\/log\/nginx\/*-access.log   fields:     type: nginx_access   fields_under_root: true   scan_frequency: 5s   type: log enabled: true paths:- \/var\/log\/nginx\/*-error.log  fields:   type: nginx_error fields_under_root: true scan_frequency: 5s  output.logstash:   hosts: [\"10.1.4.114:5044\"] xpack.monitoring:   enabled: true   elasticsearch:     hosts: [\"http:\/\/10.1.4.114:9200\"]<\/code><\/pre>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439. \u042f \u0435\u0433\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043b \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043b \u043b\u043e\u0433\u0438 access \u0438 error \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f type, \u043a\u0443\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u043b\u043e\u0433\u0430: nginx_access \u0438\u043b\u0438 nginx_error. \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 logstash. \u041f\u043b\u044e\u0441, \u044f \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043b \u0430\u0434\u0440\u0435\u0441 elastichsearch, \u043a\u0443\u0434\u0430 filebeat \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e. \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u044d\u0442\u043e \u0434\u043b\u044f \u0432\u0430\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c. \u0423 \u043c\u0435\u043d\u044f \u0432\u0435\u0437\u0434\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 zabbix, \u0442\u0430\u043a \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0435 \u043d\u0435\u0442. \u041d\u043e \u0432\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0430\u043c \u043e\u043d \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f. \u0427\u0442\u043e\u0431\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0432\u00a0<strong>Management &#8212; Stack Monitoring<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/661\/fd5\/d5f\/661fd5d5fe9befd2f553c9d1308e993f.png\" width=\"1683\" height=\"822\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/661\/fd5\/d5f\/661fd5d5fe9befd2f553c9d1308e993f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c elasticsearch \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435. \u0412 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u044f \u0443\u043a\u0430\u0437\u0430\u043b \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c filebeat \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n<pre><code># systemctl start filebeat systemctl enable filebeat<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043b\u043e\u0433\u0438 filebeat \u0432 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u043b\u043e\u0433\u0435. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043e\u043d \u0432\u0441\u0435 \u043f\u0438\u0448\u0435\u0442 \u0442\u0443\u0434\u0430. \u041b\u043e\u0433 \u0432\u0435\u0441\u044c\u043c\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u0435\u043d. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043b\u043e\u0433\u043e\u0432 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\u00a0<em>\/var\/log\/nginx<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0448\u0435\u043b filebeat \u0438 \u043d\u0430\u0447\u0430\u043b \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0443\u0436\u0435 \u043f\u043e\u0442\u0435\u043a\u043b\u0438 \u0432 elasticsearch. \u041c\u044b \u0438\u0445 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 Kibana. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c web \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b Discover. \u0422\u0430\u043a \u043a\u0430\u043a \u0442\u0430\u043c \u0435\u0449\u0435 \u043d\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441\u0430, \u043d\u0430\u0441 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b Managemet, \u0433\u0434\u0435 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/36f\/e1a\/59b\/36fe1a59bbb7db11ab36d6f24ebae475.png\" width=\"1681\" height=\"823\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/36f\/e1a\/59b\/36fe1a59bbb7db11ab36d6f24ebae475.png\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d92\/f87\/736\/d92f877368b7cfb5fbca3897d916dd5f.png\" width=\"1682\" height=\"876\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d92\/f87\/736\/d92f877368b7cfb5fbca3897d916dd5f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0447\u0430\u043b \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c logstash \u0432 elasticsearch. \u0412 \u043f\u043e\u043b\u0435\u00a0<strong>Index pattern\u00a0<\/strong>\u0432\u0432\u0435\u0434\u0438\u0442\u0435\u00a0<em>nginx-*<\/em>\u00a0. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430. \u0423 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 &#8212; @timestamp, \u0432\u044b\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u0435\u0433\u043e \u0438 \u0436\u043c\u0438\u0442\u0435\u00a0<strong>Create Index Pattern<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e58\/88d\/c85\/e5888dc85c86d09ae705edd3e05cd925.png\" width=\"1259\" height=\"829\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e58\/88d\/c85\/e5888dc85c86d09ae705edd3e05cd925.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u00a0<strong>Discover<\/strong>, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u043d\u0435\u0433\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1ad\/9c5\/c32\/1ad9c5c325d85291daa876db4931b276.png\" width=\"1679\" height=\"875\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1ad\/9c5\/c32\/1ad9c5c325d85291daa876db4931b276.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0441 \u0432\u0435\u0431 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 nginx \u043d\u0430 linux \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438. \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437 \u043b\u044e\u0431\u044b\u0445 \u043b\u043e\u0433\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0441\u0430\u043c\u0438\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e grok, \u043b\u0438\u0431\u043e \u0431\u0440\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435.<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0432 Kibana<\/h3>\n<p>\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u044b\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u043b\u0438. \u0422\u0435\u043a\u0441\u0442 \u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<p><em>Warning: 299 Elasticsearch-7.15.1-83c34f456ae29d60e94d886e455e6a3409bba9ed &#171;Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See <\/em><a href=\"https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/7.15\/security-minimal-setup.html\" rel=\"noopener noreferrer nofollow\"><em>https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/7.15\/security-minimal-setup.html<\/em><\/a><em> to enable security.&#187;<\/em><\/p>\n<p>\u041d\u0430\u0441 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e\u0442, \u0447\u0442\u043e \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0439. \u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u0432\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0438 \u0432\u044b \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0430\u043d\u043d\u044b\u043c, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 firewall, \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0414\u0430\u043b\u0435\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u043e\u0438\u0441\u043a\u0443 elastic, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 Kibana \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0438 \u043f\u0430\u0440\u043e\u043b\u044e.\u00a0<\/p>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 elasticsearch.yml \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0443\u0434\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>xpack.security.enabled: true<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 elasticsearch:<\/p>\n<pre><code># systemctl restart elasticsearch<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043f\u043e ssl, \u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<pre><code>[ERROR][o.e.b.Bootstrap          ] [centos8] node validation exception [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch. bootstrap check failure [1] of [1]: Transport SSL must be enabled if security is enabled on a [basic] license. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 xpack.security \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>xpack.security.transport.ssl.enabled: true<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c elasticsearch \u0435\u0449\u0435 \u0440\u0430\u0437. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f, \u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0435\u043c\u0443 \u043d\u0438 \u0443 \u043a\u043e\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. Kibana \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<pre><code>{\"statusCode\":503,\"error\":\"Service Unavailable\",\"message\":\"License is not available.\"}<\/code><\/pre>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a elasticsearch. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u0443\u00a0<strong>elasticsearch-setup-passwords<\/strong>. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u043d\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435\u00a0<em>\/usr\/share\/elasticsearch\/bin<\/em>.<\/p>\n<pre><code># \/usr\/share\/elasticsearch\/bin\/elasticsearch-setup-passwords auto<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u0432\u0430\u043c \u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u0432\u044b \u0438\u0445 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442\u0435. \u041e\u043d\u0438 \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0434\u0430\u043b\u0435\u0435, \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c \u0441\u0442\u0435\u043a\u0430.\u00a0<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 \u0434\u043b\u044f Kibana, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u044c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 kibana.yml \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<pre><code>xpack.security.enabled: true  elasticsearch.username: \"kibana_system\" elasticsearch.password: \"JArsJZj10YC8LlPlQr4u\"<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443 \u0438 \u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0437\u0430\u0439\u0442\u0438 \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0441. \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043e\u043a\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0440\u0430\u043d\u0435\u0435 \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c elastic !!! \u0410 \u043d\u0435 \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0434\u0440\u0443\u0433\u0443\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f04\/fac\/803\/f04fac803ead82896581e60d6d85af4a.png\" width=\"1682\" height=\"869\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f04\/fac\/803\/f04fac803ead82896581e60d6d85af4a.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u0432 Kibana \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e. \u0423\u043f\u0440\u0430\u0432\u044f\u043b\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0438 \u0440\u043e\u043b\u044f\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u00a0<strong>Stack Management -> Users<\/strong>. \u0422\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u043a \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438, \u0442\u0430\u043a \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435.\u00a0<\/p>\n<p>\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f Logstash. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u044e\u0437\u0435\u0440\u0430 \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u0430\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u043e\u043b\u044c \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432\u00a0<strong>Roles<\/strong>\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u0432\u0443\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/db5\/c85\/82c\/db5c8582ceb36877ca1d2a475220ea88.png\" width=\"1682\" height=\"874\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db5\/c85\/82c\/db5c8582ceb36877ca1d2a475220ea88.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0438\u043c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u044b. \u041c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f: \u043e\u0434\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0438 \u0442.\u0434. \u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u043e\u043b\u0438, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0435\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0440\u0430\u043d\u0435\u0435 \u0440\u043e\u043b\u044c.\u00a0<\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0434\u043b\u044f Yii \u0438 Mysql \u0447\u0442\u043e\u0431 \u043f\u043e 5 \u0440\u0430\u0437 \u043d\u0435 \u0445\u043e\u0434\u0438\u0442\u044c. \u0422\u043e\u043b\u044c\u043a\u043e \u044f \u043d\u0435 \u0437\u043d\u0430\u044e \u043f\u043e\u0447\u0435\u043c\u0443, \u043d\u043e \u0438\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0440\u043e\u043b\u044c \u0441\u0443\u043f\u0435\u0440\u044e\u0437\u0435\u0440\u0430 , \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0437\u0430\u0432\u0435\u043b\u043e\u0441\u044c, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0440\u043e\u043b\u0438 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Logstash \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u0412 \u043b\u043e\u0433\u0435 \u0443 \u043d\u0435\u0433\u043e \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0432 \u0447\u0435\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043d\u043e \u043c\u044b \u044d\u0442\u043e \u0437\u043d\u0430\u0435\u043c \u0438 \u0442\u0430\u043a.<\/p>\n<pre><code>[ERROR][logstash.outputs.elasticsearch][main][f8cdb7a9c640d0ed412a776071b8530fd5c0011075712a1979bee6c58b4c1d9f] Encountered a retryable error (will retry with exponential backoff) {:code=>401, :url=>\"http:\/\/localhost:9200\/_bulk\", :content_length=>2862}<\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 logstash, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 output \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0443\u0434\u0430 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u0412\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code>output {         elasticsearch {             user     => \"logstash_nginx_rw\"             password => \"gdhsgfadsfsdfgsfdget45t\"             hosts    => \"localhost:9200\"             index    => \"nginx-%{+YYYY.MM.dd}\"         } }<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0436\u0434\u0435 \u043d\u0430\u0447\u043d\u0443\u0442 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0438\u0437 logstash \u0432 elasticsearch, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0436\u0435 \u0441 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0438 \u043f\u0430\u0440\u043e\u043b\u044e.<\/p>\n<h3>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0432 ES<\/h3>\n<p>Kibana \u0435\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 &#8212;\u00a0<strong>Index Lifecycle Policies<\/strong>. \u0415\u0433\u043e \u043d\u0435 \u0442\u0440\u0443\u0434\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u0445\u043e\u0442\u044f \u0438 \u043d\u0435 \u043c\u043e\u0433\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043c \u0432\u0441\u0451 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e. \u0415\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b, \u0442\u0430\u043a \u0447\u0442\u043e \u044f \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u044c\u043c\u0443 \u0432\u0441\u0451 \u0442\u043e\u0442 \u0436\u0435 \u0438\u043d\u0434\u0435\u043a\u0441 nginx-<em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0440\u0430\u043d\u0435\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435.<\/em><\/p>\n<p><em>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u0440\u043e\u043a \u0436\u0438\u0437\u043d\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/em><\/p>\n<ol>\n<li>\n<p><em>\u041f\u0435\u0440\u0432\u044b\u0435 30 \u0434\u043d\u0435\u0439 &#8212;\u00a0<\/em><strong><em>Hot phase<\/em><\/strong><em>. \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u044b, \u0432 \u043d\u0438\u0445 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.\u00a0<\/em><\/p>\n<\/li>\n<li>\n<p><em>\u041f\u043e\u0441\u043b\u0435 30-\u0442\u0438 \u0434\u043d\u0435\u0439 &#8212;\u00a0<\/em><strong><em>Cold phase<\/em><\/strong><em>. \u0412 \u044d\u0442\u043e\u0439 \u0444\u0430\u0437\u0435 \u0432 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u044d\u0442\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u0437\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442.\u00a0<\/em><\/p>\n<\/li>\n<li>\n<p><em>\u0412\u0441\u0435, \u0447\u0442\u043e \u0441\u0442\u0430\u0440\u0448\u0435 90 \u0434\u043d\u0435\u0439 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f.<\/em><\/p>\n<\/li>\n<\/ol>\n<p><em>\u0427\u0442\u043e\u0431\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0445\u0435\u043c\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0438\u0434\u0435\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u00a0<\/em><strong><em>Stack Management -> Index Lifecycle Management<\/em><\/strong><em>\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443. \u042f \u0435\u0451 \u043d\u0430\u0437\u0432\u0430\u043b Nginx_logs. \u0412\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0430\u0437 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438.\u00a0<\/em><\/p>\n<p><em>\u041d\u0435 \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043d\u043e, \u0434\u0443\u043c\u0430\u044e, \u0432\u044b \u0442\u0430\u043c \u0441\u0430\u043c\u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c. \u041d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0442\u0443\u0442 \u043d\u0435\u0442. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043a \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432\u00a0<\/em><strong><em>Index Management -> Index Templates<\/em><\/strong><em>\u00a0\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 nginx-<\/em>, \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c\u0438.\u00a0<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 Index Lifecycle Policies, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u043d\u0430\u0448\u0435\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 + \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d.\u00a0<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Lifecycle Policies \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c.\u00a0<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e \u0432\u0441\u0435\u043c \u043d\u043e\u0432\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u043c \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u0443, \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0438 \u0432 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0441 \u043e\u043f\u0446\u0438\u044f\u043c\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.\u00a0<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c\u0438 \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 Elasticsearch \u0438 Kibana. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f Curator, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0445\u0435\u043c. \u0415\u0434\u0438\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u043a\u0443\u0440\u0430\u0442\u043e\u0440\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u043c, \u043d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0432\u043a\u0443\u0441\u043e\u0432\u0449\u0438\u043d\u0430 \u0438 \u043e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u0442.\u00a0<\/p>\n<h3>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a Mysql \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/h3>\n<p>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0435\u0441\u044c \u0431\u044d\u043a \u0437\u0430\u0442\u043e\u0447\u0435\u043d \u043d\u0430 MySql \u0438 \u043a\u043e\u043d\u0442\u0430\u0447\u0438\u0442 \u0441 \u043d\u0438\u043c , \u0438 \u043c\u043d\u0435 \u043d\u0430\u0434\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 ES \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e SQL. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u043b\u0438 \u0432\u044b \u0440\u0435\u0448\u0438\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 ES \u0431\u0435\u0437 SQL, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0430\u0433.<\/p>\n<p>\u041f\u043e\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u0432\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Mysql \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0438\u0434\u043e\u0432 \u0411\u0414 \u0432\u0441\u0435 \u0442\u0430\u043a\u0436\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u043c\u0435\u043d\u044f\u0435\u043c Mysql \u043d\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430.<\/p>\n<p>\u0418\u0442\u0430\u043a \u0438\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 <em>&#171;\/usr\/share\/logstash&#187; <\/em>\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b <em>logstash-db.conf  <\/em>\u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c : <\/p>\n<pre><code>input {      jdbc {      # \u043f\u0443\u0442\u044c \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443 \u0411\u0414 \"\u0433\u0443\u0433\u043b\u0438\u0442\u0441\u044f \u0437\u0430 2 \u043c\u0438\u043d\u0443\u0442\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \"     jdbc_driver_library => \"\/etc\/logstash\/conf.d\/mysql-connector-java-8.0.27.jar\"      jdbc_driver_class => \"com.mysql.jdbc.Driver\"     jdbc_connection_string => \"jdbc:mysql:\/\/localhost\/my_test_db\"     # \u043b\u043e\u0433 \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u0411\u0414     jdbc_user => \"root\"      jdbc_password => \"admin\"   # \u041c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u0443 \u043c\u0435\u043d\u044f \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u0445\u0437 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u043e \u043d\u0435 \u0437\u0430\u0432\u0435\u043b\u043e\u0441\u044c .     # \u042f \u0441\u0434\u0435\u043b\u0430\u043b \u043e\u0431\u044b\u0447\u043d\u0443\u044e CRON \u0444\u0443\u043d\u043a\u0446\u0438\u044e.     # schedule => \"* * * * *\"      # \u041d\u0430\u0448 SQL \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u0411\u0414, \u043a\u0430\u043a \u0432\u0438\u0434\u0438\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u0430\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u044b\u043c.     statement => \"SELECT s.* , ST_AsText(s.geo) as geo ,st.`name` AS type_name ,                         CONCAT(' ', group_concat(DISTINCT benefits.name SEPARATOR ' ')  ,' ') as concat_bn,                         st.alias as spot_type_alias, benefits.alias as benefit_alias,                         group_concat(DISTINCT benefits.id SEPARATOR ' ') as concat_bn,                         countries.name as country                         FROM `spots` s                         JOIN `spot_type` st ON s.id_spot_type = st.id                         left join spots_benefits                          on spots_benefits.spot = s.id                         left join benefits                          on benefits.id = spots_benefits.benefit                          left join countries                          on s.id_country = countries.id                          where category = 1                           group by s.id                           \"     }  }  output {      elasticsearch {      # \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0432 ES          index => \"spots\"          document_type => \"spots\"          document_id => \"%{id}\"         # \u043f\u0443\u0442\u044c \u043a \u0445\u043e\u0441\u0442\u0443 ES \u0438 \u043b\u043e\u0433 \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0442\u0435 \u0447\u0442\u043e \u043c\u044b \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432 kibana         hosts => \"localhost:9200\"         user     => \"db\"         password => \"MascasdaehaefwP\"         } }<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u0432\u0440\u043e\u0434\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439: <\/p>\n<pre><code>sudo \/usr\/share\/logstash\/bin\/logstash -f  \/usr\/share\/logstash\/logstash-db.conf<\/code><\/pre>\n<p>\u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u0440\u043e\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0443 \u043c\u0435\u043d\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044f 100000 \u043f\u043e\u043b\u0435\u0439 sql \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c 5-10\u0441\u0435\u043a.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 ES \u0432 Yii2<\/h2>\n<p>\u0418 \u0442\u0430\u043a \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0432 Yii<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u043b\u0430\u0433\u0438\u043d<a href=\"https:\/\/github.com\/yiisoft\/yii2-elasticsearch\" rel=\"noopener noreferrer nofollow\"> &#171;Elasticsearch Query and ActiveRecord for Yii 2&#187;<\/a><\/p>\n<pre><code>composer require --prefer-dist yiisoft\/yii2-elasticsearch:\"~2.1.0\"<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432 backend\/config\/main.php \u0432 \u043f\u043e\u043b\u0435 &#171;components&#187; \u0431\u044d\u043a\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 <\/p>\n<pre><code>'elasticsearch' => [             'class' => 'yii\\elasticsearch\\Connection',             # \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0448\u0435\u0439 \u043d\u043e\u0434\u044b             'nodes' => [                 ['http_address' => '127.0.0.1:9200', ],                 \/\/ configure more hosts if you have a cluster             ],             # \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u0447\u0442\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435              'auth' => ['username' => 'yiiuser', 'password' => 'MascasdasdwP8NGa3hfnn'],             'dslVersion' => 7, \/\/ default is 5         ],<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e ES <\/p>\n<pre><code>&lt;?php  namespace common\\models;  use yii\\elasticsearch\\ActiveRecord;  class ElasticObj extends ActiveRecord {     public static function index()     {     # \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u043d\u0434\u0435\u0441\u0430 \u0432 ES         return 'spots';     }  # \u043c\u0430\u043f\u0438\u043d\u0433 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u043b\u0443\u0447\u0448\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0431\u044b\u043b\u043e \u043c\u0435\u043d\u044c\u0448\u0435      # \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0432 \u0441\u0441\u044b\u043b\u043a\u0430\u0445 \u043d\u0438\u0436\u0435     public static function mapping()     {         return [             'properties' => [                 'name'      => ['type' => 'text'],                 \/\/.....             ]         ];     }      #\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b. \u0412\u0430\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c. \u0418\u043d\u0430\u0447\u0435, \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f, \u0438 \u0435\u0441\u043b\u0438 \u0432 \u0411\u0414 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0435      # \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u043e type \u0438 \u0432\u044b \u0435\u0433\u043e \u0442\u0443\u0442 \u043d\u0435 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 , \u0442\u043e \u043d\u0430 \u0432\u044b\u0434\u0430\u0447\u0443 \u043e\u043d\u043e \u0432\u0430\u043c \u043d\u0435 \u0432\u0435\u0440\u043d\u0435\u0442\u0441\u044f      # \u0442\u0435 \u043f\u0440\u043e\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u044d\u0442\u043e \u0442\u0435 \u043f\u043e\u043b\u044f \u0447\u0442\u043e \u0432\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438 \u0447\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u043d\u044b \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430      public function attributes()     {         return [             \"id\",             \"name\",             \/\/....             ];     }           #\u041f\u0440\u0430\u0432\u0438\u043b\u0430. \u0412\u0430\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c. \u0418\u043d\u0430\u0447\u0435, \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f.     #\u042f, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0432\u0441\u0435\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u0430\u043a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435.     #\u0412 \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b.           public function rules()     {         return [             [$this->attributes(), 'safe']         ];     } } <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435:<\/p>\n<pre><code>$model = new ElasticObj(); $model->attributes = [       \"name\" => \"test\", ]; $model->save();<\/code><\/pre>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 Id:<\/p>\n<pre><code>$model = ElasticObj::get(1)<\/code><\/pre>\n<p>\u0418\u0449\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435:<\/p>\n<pre><code>$model = ElasticObj::find()->all();<\/code><\/pre>\n<p>\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c:<\/p>\n<pre><code>$params = [     'match' => [             'last_name' => 'Smith'         ]   ]; $model = ElasticObj::find()->query($params)->all();<\/code><\/pre>\n<p>\u0424\u0438\u043b\u044c\u0442\u0440\u044b:<\/p>\n<pre><code>$params = [     'filtered' => [         'filter' => [             'range' => [ \/\/ - \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440                 'age' => [                     'gt'=> 20 \/\/ - \u0438\u0449\u0435\u043c \u0441\u0442\u0430\u0440\u0448\u0435 20 \u043b\u0435\u0442 (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 - gt)                 ]             ]         ],         'query'  => [             'match' => [                 'last_name' => 'smith'             ]          ],        ], ]; $model = ElasticObj::find()->query($params)->all();<\/code><\/pre>\n<p>\u041f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044f\u043c:<\/p>\n<pre><code> $params = [                 \"query_string\" => [                     \"query\"=> 'test'                 ],             ]; $model = ElasticObj::find()->query($params)->all();<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u0432 \u0432\u044b\u0434\u0430\u0447\u0443:<\/p>\n<pre><code> $params['bool']['must'][]['match']['name'] = 'test';  $model = ElasticObj::find()->query($params)->all();<\/code><\/pre>\n<p>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b bool \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043b\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0432\u044b\u0434\u0430\u0447\u0438:<\/p>\n<pre><code>$params = [         'bool' => [             'must' => [                 'match' => ['name' => 'test']             ],             'should' => [                             'match' => ['name' => 'not test'],                         ],             'must_not' => [                 'match' => [ 'name' => 'one']             ]         ]     ]<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u043e\u0431\u0435\u0434\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 : <\/p>\n<pre><code> $params['bool']['must'][] = [                 \"query_string\" => [                     \"query\"=> 'test'                 ],             ];  $params['bool']['must'][] =                 [                     'range' => [                         'age' => [                             'gt'=> 20                         ]                     ]                 ]; $model = ElasticObj::find()->query($params)->all();<\/code><\/pre>\n<p>\u0438 \u0432\u0441\u0435 \u0432 \u044d\u0442\u043e\u043c \u0434\u0443\u0445\u0435.<\/p>\n<p>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0443\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <\/p>\n<p><a href=\"https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/current\/query-dsl.html\" rel=\"noopener noreferrer nofollow\">\u043e\u0444\u0444 \u0434\u043e\u043a\u0430 <\/a><\/p>\n<p><a href=\"https:\/\/russianblogs.com\/article\/3467717947\/\" rel=\"noopener noreferrer nofollow\">\u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c <\/a><\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 <\/h2>\n<p>\u0412\u0440\u043e\u0434\u0435 \u0432\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0438 \u043a\u0430\u043a. \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e. <\/p>\n<p>\u0410 \u0442\u0430\u043a \u0432 \u043e\u0431\u0449\u0435\u043c \u0445\u043e\u0447\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0438 \u0431\u044b\u0441\u0442\u0440\u0430\u044f, \u043d\u043e \u043a\u0430\u043f\u0435\u0446 \u043a\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0436\u043e\u0440\u043b\u0438\u0432\u0430\u044f \u043f\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c. \u0418 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0447\u0435\u043d\u044c \u0436\u0438\u0440\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0439 \u0411\u0414 \u0438\/\u0438\u043b\u0438 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0435\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0438\u0442\u0441\u044f, \u0442\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u043e\u0442 ES \u043d\u0435\u0442\u0443 , \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 Sphinx \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u0432\u043e\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0431\u0430\u0437\u0435 Sql \u0431\u043b\u0430\u0433\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u0437\u0430\u0432\u0435\u0437\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u043e\u043b\u043d\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430.<\/p>\n<h2>\u0427\u0442\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e <\/h2>\n<p><a href=\"https:\/\/codedzen.ru\/category\/uroki\/elasticsearch\/\" rel=\"noopener noreferrer nofollow\">\u0418\u043d\u0444\u0430 \u043f\u043e ES \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c , \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442. <\/a><\/p>\n<p><a href=\"https:\/\/xn--d1acnqm.xn--j1amh\/%D1%82%D0%B5%D0%B3%D0%B8\/Elasticsearch\" rel=\"noopener noreferrer nofollow\">\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u0437 PHP \u0438 Yii <\/a><\/p>\n<p><a href=\"https:\/\/github.com\/yiisoft\/yii2-elasticsearch\/tree\/master\/docs\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u043a\u0430 \u043f\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0443 ES \u0434\u043b\u044f Yii (\u0435\u0441\u0442\u044c \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c)<\/a><\/p>\n<p><a href=\"https:\/\/russianblogs.com\/article\/3467717947\/\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u043a\u0430 \u043f\u043e query DSL \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c <\/a><\/p>\n<h2>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 <\/h2>\n<p><a href=\"https:\/\/serveradmin.ru\/ustanovka-i-nastroyka-elasticsearch-logstash-kibana-elk-stack\/#Ustanovka_i_nastrojka_Logstash\" rel=\"noopener noreferrer nofollow\">\u0418\u043d\u0444\u0430 \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432\u0437\u044f\u0442\u0430 \u0442\u0443\u0442<\/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\/590529\/\"> https:\/\/habr.com\/ru\/articles\/590529\/<\/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<h3>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435 <\/h3>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u044f \u0432\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u0442\u0435\u044f\u043b? \u041d\u0430 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441\u0432\u043e\u0439 \u043f\u043e\u0438\u0441\u043a \u043d\u0430 \u0431\u0430\u0437\u0435 SQL \u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0447\u0435\u0439 \u043b\u0430\u0431\u0443\u0434\u043e\u0439. \u0418 \u043f\u043e\u043a\u0430 \u0431\u044b\u043b\u043e \u043c\u0430\u043b\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0411\u0414 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u043d\u043e \u0432 \u043e\u0434\u0438\u043d \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 \u0432 \u0411\u0414 \u043d\u0430 100000 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0438 \u0447\u0442\u043e-\u0442\u043e \u0440\u0435\u0437\u043a\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a&#8230; \u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e 0,01\u0441\u0435\u043a \u0430\u0436 15\u0441\u0435\u043a, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0434\u0435\u043b\u043e. \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043a\u0430\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043f\u0435\u0440\u0435\u043a\u0438\u043d\u0443\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e, \u0438 \u044d\u0442\u0438\u043c \u043c\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438 \u0441\u0432\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u044b\u043b\u043e 0,5\u0441\u0435\u043a. \u0422\u043e\u0436\u0435 \u0442\u0430\u043a \u0441\u0435\u0431\u0435, \u043d\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c. \u0418 \u043f\u043e\u0448\u0435\u043b \u043c\u044b\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441&#8230; \u0420\u0435\u0448\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a, \u0438 \u0432\u044b\u0431\u043e\u0440 \u0431\u044b\u043b \u043c\u0435\u0436\u0434\u0443 ElasticSearch (\u0414\u0430\u043b\u0435\u0435 ES) \u0438 Sphinx. \u041d\u0430\u0448 \u0432\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 ES \u0438\u0437-\u0437\u0430 \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0432 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c.<\/p>\n<p>\u041d\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0447\u0442\u043e, \u0434\u043e\u043a\u0438 \u0443 ES \u043a\u0438\u043b\u043e\u043c\u0435\u0442\u0440\u043e\u0432\u044b\u0435 \u0438 \u043d\u0435\u0442\u0443 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u044b \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0447\u0435\u0433\u043e \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f.<\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u044f \u043d\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u0432 \u0442\u0435\u043c\u0435, \u0438 \u043f\u043e\u043f\u0440\u043e\u0448\u0443 \u043d\u0435 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043c\u0438\u0434\u043e\u0440\u0430\u043c\u0438 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a, \u043f\u0438\u0448\u0443 \u0432\u0441\u0435 \u044d\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u043f\u043e-\u0431\u044b\u0441\u0442\u0440\u043e\u043c\u0443 \u0432\u0441\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438 \u043f\u043e\u0442\u044b\u043a\u0430\u0442\u044c \u0438 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0410 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 ES \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440<\/h2>\n<p>\u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443 \u0447\u0442\u043e \u0434\u043b\u044f ES \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u0449\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e, \u0442\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 JAVA \u0438 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0432\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. <\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0436\u0435\u043b\u0435\u0437\u0443<\/p>\n<\/td>\n<td>\n<p>\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p>\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u044b\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>CPU<\/p>\n<\/td>\n<td>\n<p>2<\/p>\n<\/td>\n<td>\n<p>4+<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Memory<\/p>\n<\/td>\n<td>\n<p>6 Gb<\/p>\n<\/td>\n<td>\n<p>8+ Gb<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Disk<\/p>\n<\/td>\n<td>\n<p>10 Gb<\/p>\n<\/td>\n<td>\n<p>10+ Gb<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u0447\u0443\u0434\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Ampere \u043e\u0442 Oracle (4core 24ram 45rom).<\/p>\n<p>\u0418\u0442\u0430\u043a \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043e\u0431\u0440\u0430\u0437 Ubuntu 20.04 \u0442\u0430\u043a \u0447\u0442\u043e \u0431\u0443\u0434\u0443 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u043d\u0435\u043c.<\/p>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u0435\u0431\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code># wget -qO - https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | sudo apt-key add -<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u0430 apt-transport-https, \u0442\u043e \u043d\u0430\u0434\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c:<\/p>\n<pre><code># apt install apt-transport-https<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Elasticsearch \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443:<\/p>\n<pre><code># echo \"deb https:\/\/artifacts.elastic.co\/packages\/7.x\/apt stable main\" | sudo tee \/etc\/apt\/sources.list.d\/elastic-7.x.list<\/code><\/pre>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Elasticsearch :<\/p>\n<pre><code># apt update &amp;&amp; apt install elasticsearch<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c elasticsearch \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<pre><code># systemctl daemon-reload  # systemctl enable elasticsearch.service  # systemctl start elasticsearch.service<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u043b\u0438 \u043e\u043d:<\/p>\n<pre><code># systemctl status elasticsearch.service<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c, \u0447\u0442\u043e elasticsearch \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043a \u043d\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0435.<\/p>\n<pre><code># curl 127.0.0.1:9200 {   \"name\" : \"ubuntu10\",   \"cluster_name\" : \"elasticsearch\",   \"cluster_uuid\" : \"zsYgZQSeY6uvhWCkFJPiAA\",   \"version\" : {     \"number\" : \"7.15.1\",     \"build_flavor\" : \"default\",     \"build_type\" : \"deb\",     \"build_hash\" : \"8ced7813d6f16d2ef30792e2fcde3e755795ee04\",     \"build_date\" : \"2021-10-07T21:56:19.031608185Z\",     \"build_snapshot\" : false,     \"lucene_version\" : \"8.9.0\",     \"minimum_wire_compatibility_version\" : \"6.8.0\",     \"minimum_index_compatibility_version\" : \"6.0.0-beta1\"   },   \"tagline\" : \"You Know, for Search\" } <\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Elasticsearch.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Elasticsearch<\/h2>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Elasticsearch \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435\u00a0<em>\/etc\/elasticsearch\/<\/em><strong><em>elasticsearch.yml<\/em><\/strong>. \u041d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<pre><code>path.data: \/var\/lib\/elasticsearch # \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 network.host: 127.0.0.1 # \u0441\u043b\u0443\u0448\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/code><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Elasticsearch \u0441\u043b\u0443\u0448\u0430\u0435\u0442 localhost. \u041d\u0430\u043c \u044d\u0442\u043e \u0438 \u043d\u0443\u0436\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c logstash, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u041e\u0431\u0440\u0430\u0449\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0438\u043d\u0430\u0447\u0435 \u0437\u0430\u0447\u0435\u043c \u043d\u0430\u043c Elasticsearch \ud83d\ude42 \u041f\u043e\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0433\u0434\u0435 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c\u0438. \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u0443:<\/p>\n<pre><code># systemctl restart elasticsearch.service<\/code><\/pre>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<\/p>\n<pre><code># netstat -tulnp | grep 9200 tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      19788\/java<\/code><\/pre>\n<p>Elasticsearch \u043f\u043e\u0432\u0438\u0441 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435. \u041f\u0440\u0438\u0447\u0435\u043c \u044f \u0432\u0438\u0436\u0443, \u0447\u0442\u043e \u043e\u043d \u0441\u043b\u0443\u0448\u0430\u0435\u0442 ipv6, \u0430 \u043f\u0440\u043e ipv4 \u043d\u0438 \u0441\u043b\u043e\u0432\u0430. \u041d\u043e \u0435\u0433\u043e \u043e\u043d \u0442\u043e\u0436\u0435 \u0441\u043b\u0443\u0448\u0430\u0435\u0442, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Kibana. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b elasticsearch \u0441\u043b\u0443\u0448\u0430\u043b \u0432\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>network.host: 0.0.0.0<\/code><\/pre>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u0443. \u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0443<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0435\u0435 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>discovery.seed_hosts: [\"127.0.0.1\", \"[::1]\"]<\/code><\/pre>\n<p>\u042d\u0442\u0438\u043c \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0445\u043e\u0441\u0442\u044b \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0432\u0438\u0434 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0430<\/p>\n<pre><code># \u0418\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430  cluster.name: cluster-app # \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u043d\u043e\u0434\u044b  node.name: node-1 # \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u043b\u0430\u043c  path.data: \/var\/lib\/elasticsearch # \u043f\u0443\u0442\u044c \u043a \u043b\u043e\u0433\u0430\u043c  path.logs: \/var\/log\/elasticsearch # \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0443\u0448\u0430\u0435\u0442 ES network.host: 0.0.0.0 discovery.seed_hosts: [\"127.0.0.1\", \"[::1]\"] <\/code><\/pre>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Kibana<\/h2>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c web \u043f\u0430\u043d\u0435\u043b\u044c Kibana \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0438\u0437 Elasticsearch. \u041c\u043e\u0436\u043d\u043e \u0438 \u0431\u0435\u0437 \u043d\u0435\u0435 , \u043d\u043e \u0441 \u043d\u0435\u0439 \u0443\u0434\u043e\u0431\u043d\u0435\u0435, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043c\u043d\u0435))<\/p>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u0438\u0437 deb \u043f\u0430\u043a\u0435\u0442\u0430. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<pre><code># wget -qO - https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | apt-key add -<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Kibana:<\/p>\n<pre><code># echo \"deb https:\/\/artifacts.elastic.co\/packages\/7.x\/apt stable main\" | tee -a \/etc\/apt\/sources.list.d\/elastic-7.x.list<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 Kibana:<\/p>\n<pre><code># apt update &amp;&amp; apt install kibana<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u041a\u0438\u0431\u0430\u043d\u0430 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code># systemctl daemon-reload # systemctl enable kibana.service # systemctl start kibana.service<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430:<\/p>\n<pre><code># systemctl status kibana.service<\/code><\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, Kibana \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \u043f\u043e\u0440\u0442 5601. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430. \u041a\u0438\u0431\u0430\u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0434\u043e\u043b\u0433\u043e. \u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043c\u0438\u043d\u0443\u0442\u0443 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435.<\/p>\n<pre><code># netstat -tulnp | grep 5601 tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      1487\/node<\/code><\/pre>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Kibana<\/h3>\n<p>\u0424\u0430\u0439\u043b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u041a\u0438\u0431\u0430\u043d\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043f\u0443\u0442\u0438 &#8212;\u00a0<em>\/etc\/kibana\/<\/em><strong><em>kibana.yml<\/em><\/strong>. \u041d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c \u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043a\u0430\u043a \u0435\u0441\u0442\u044c. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Kibana \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e localhost \u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e. \u042d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e\u043c \u0436\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u00a0nginx \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 reverse proxy, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u041a\u0438\u0431\u0430\u043d\u0430. \u0422\u0430\u043a \u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432 production, \u043a\u043e\u0433\u0434\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u043b\u044e\u0434\u0438 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0441\u0442. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e nginx \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0438 \u0442.\u0434. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0443 \u0432\u0430\u0441 \u044d\u0442\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 nginx. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u041a\u0438\u0431\u0430\u043d\u0430 \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u00a0<strong>server.host<\/strong>, \u0443\u043a\u0430\u0437\u0430\u0432 ip \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>server.host: \"10.20.1.23\"<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0441\u043b\u0443\u0448\u0430\u043b\u0430 \u0432\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 0.0.0.0. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Kibana \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c:<\/p>\n<pre><code># systemctl restart kibana.service<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0439\u0442\u0438 \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 http:\/\/10.20.1.23:5601.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435:<\/p>\n<pre><code>server.publicBaseUrl is missing and should be configured when running in a production environment. Some features may not behave correctly.<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043d\u0435 \u0431\u044b\u043b\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 Kibana \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440:<\/p>\n<pre><code>server.publicBaseUrl: \"http:\/\/10.20.1.23:5601\/\"<\/code><\/pre>\n<p>\u0418\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0435\u0433\u043e.\u00a0<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Logstash<\/h3>\n<p>Logstash \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u043a\u0430\u043a Elasticsearch \u0438 Kibana, \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u041d\u0435 \u0431\u0443\u0434\u0443 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c. \u041f\u0440\u043e\u0441\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Logstash:<\/p>\n<pre><code># apt install logstash<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c logstash \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443:<\/p>\n<pre><code># systemctl enable logstash.service<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u043d\u0430\u0434\u043e \u0435\u0433\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 logstash \u043b\u0435\u0436\u0438\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0<em>\/etc\/logstash\/logstash.yml<\/em>. \u042f \u0435\u0433\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u044e, \u0430 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0443\u0434\u0443 \u043f\u043e \u0441\u043c\u044b\u0441\u043b\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\u00a0<em>\/etc\/logstash\/conf.d<\/em>. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>input.conf<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441 beats \u0430\u0433\u0435\u043d\u0442\u043e\u0432.<\/p>\n<pre><code>input {   beats {     port => 5044   } }<\/code><\/pre>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u044e, \u0447\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043d\u0430 5044 \u043f\u043e\u0440\u0442. \u042d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ssl \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043b\u043e\u0433\u043e\u0432 \u043f\u043e \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u043c, \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b ssl. \u042f \u0431\u0443\u0434\u0443 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ssl. \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u043a\u0430\u0436\u0435\u043c, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u0422\u0443\u0442 \u0442\u043e\u0436\u0435 \u0432\u0441\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. \u0420\u0438\u0441\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>output.conf<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Elasticsearch.<\/p>\n<pre><code>output {         elasticsearch {             hosts    => \"localhost:9200\"             index    => \"nginx-%{+YYYY.MM.dd}\"         }     #stdout { codec => rubydebug } }<\/code><\/pre>\n<p>\u0427\u0442\u043e \u043c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438? \u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 elasticsearch \u043f\u043e\u0434 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c \u0441 \u043c\u0430\u0441\u043a\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0430\u0442\u044b. \u0420\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043f\u043e \u0434\u043d\u044f\u043c \u0438 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0434\u043e\u0431\u043d\u0430 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041f\u043e\u0442\u043e\u043c \u043b\u0435\u0433\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u044d\u0442\u0438\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c. \u042f \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443. \u041e\u043d\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u0435\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u0442\u043e \u0432\u0441\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 logstash \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043b\u043e\u0433. \u0412 centos \u044d\u0442\u043e\u00a0<em>\/var\/log\/messages<\/em>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u0438\u043d\u0430\u0447\u0435 \u043b\u043e\u0433 \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0435\u0442\u0441\u044f \u0434\u0443\u0431\u043b\u044f\u043c\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0443\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0443\u043b\u0438\u0447\u043d\u0430\u044f \u043c\u0430\u0433\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043d\u0438\u0436\u0435. \u0420\u0438\u0441\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u00a0<em>filter.conf<\/em>.<\/p>\n<pre><code>filter {  if [type] == \"nginx_access\" {     grok {         match => { \"message\" => \"%{IPORHOST:remote_ip} - %{DATA:user} \\[%{HTTPDATE:access_time}\\] \\\"%{WORD:http_method} %{DATA:url} HTTP\/%{NUMBER:http_version}\\\" %{NUMBER:response_code} %{NUMBER:body_sent_bytes} \\\"%{DATA:referrer}\\\" \\\"%{DATA:agent}\\\"\" }     }   }   date {         match => [ \"timestamp\" , \"dd\/MMM\/YYYY:HH:mm:ss Z\" ]   }   geoip {          source => \"remote_ip\"          target => \"geoip\"          add_tag => [ \"nginx-geoip\" ]   } }<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0444\u0438\u043b\u044c\u0442\u0440, \u043f\u0430\u0440\u0441\u0438\u0442 \u043b\u043e\u0433\u0438 nginx \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<strong>grok<\/strong>, \u0435\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0442\u0438\u043f \u043b\u043e\u0433\u043e\u0432, \u0438<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-396340","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/396340","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=396340"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/396340\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=396340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=396340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=396340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}