{"id":15222,"date":"2024-04-06T11:59:11","date_gmt":"2024-04-06T08:29:11","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=15222"},"modified":"2024-04-06T11:59:11","modified_gmt":"2024-04-06T08:29:11","slug":"deploy-elk-stack-with-docker","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/deploy-elk-stack-with-docker\/","title":{"rendered":"Deploy your ELK Stack using Docker Compose"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">\u0645\u0642\u062f\u0645\u0647<\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0646\u062d\u0648\u0647 \u0646\u0635\u0628 ELK STack \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0628\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 (\u0646\u0633\u062e\u0647 22.04) \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a. ELK Stack \u0627\u0632 Elasticsearch\u060c Kibana \u0648 Logstash \u062a\u0634\u06a9\u06cc\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<ul>\n<li>Elasticsearch \u06cc\u06a9 \u0645\u0648\u062a\u0648\u0631 \u062c\u0633\u062a\u062c\u0648 \u0648 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0627\u0633\u062a.<\/li>\n<li>Kibana \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0631\u0627\u06cc \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0633\u062a.<\/li>\n<li>Logstash \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h5 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7\">\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/h5>\n<ul>\n<li>\u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0646\u0633\u062e\u0647 22.04 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f:\u062f\u0633\u062a\u0631\u0633\u06cc SSH \u0628\u0647 \u0622\u0646 \u0633\u0631\u0648\u0631 \u0648 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0631\u06cc\u0634\u0647 \u06cc\u0627 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0627 \u0645\u062c\u0648\u0632 sudo<\/li>\n<li>\u062f\u0627\u0646\u0634 \u0627\u0648\u0644\u06cc\u0647 Docker\u060c Docker Compose\u060c ElasticSearch \u0648 YAML<\/li>\n<\/ul>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-1-docker-compose-%d8%b1%d8%a7-%d9%86%d8%b5%d8%a8-%da%a9%d9%86%db%8c%d8%af\">\u0645\u0631\u062d\u0644\u0647 1 &#8211; Docker Compose \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/h2>\n<p>\u0627\u06af\u0631 \u0642\u0628\u0644\u0627\u064b Docker Compose \u0631\u0627 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0635\u0631\u0641 \u0646\u0638\u0631 \u06a9\u0646\u06cc\u062f. \u0627\u0628\u062a\u062f\u0627 SSH \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0648\u0627\u0631\u062f \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>ssh holu@&lt;your_host&gt;\r\n<\/code><\/pre>\n<\/div>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0628\u0633\u062a\u0647 \u0647\u0627\u06cc apt \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0631\u062f\u0647 \u0648 cURL \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo apt-get update &amp;&amp; sudo apt-get install curl -y\r\n<\/code><\/pre>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0646\u0635\u0628 curl\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0646\u0635\u0628 \u0633\u0631\u06cc\u0639 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 Docker \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Docker \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 Docker Compose \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>curl https:\/\/get.docker.com | sh\r\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0627\u0632 get.docker.com \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0631\u062f\u0647 \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 sh &#8220;pipe&#8221; \u0645\u06cc \u06a9\u0646\u062f (\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0647 sh \u062a\u063a\u0630\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 Docker \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f). \u0622\u062e\u0631\u06cc\u0646 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u062e\u0648\u062f\u0645\u0627\u0646 \u0631\u0627 \u0628\u0647 \u06af\u0631\u0648\u0647 Docker \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 docker \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 sudo \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo usermod -aG docker holu\r\n<\/code><\/pre>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0639\u0645\u0627\u0644 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062d\u062a\u0645\u0627 \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0648\u0627\u0631\u062f \u0634\u0648\u06cc\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-2-docker-compose-yaml-%d8%b1%d8%a7-%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%da%a9%d9%86%db%8c%d8%af\">\u0645\u0631\u062d\u0644\u0647 2 &#8211; docker-compose.yaml \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/h2>\n<p>\u0641\u0627\u06cc\u0644 <code>docker-compose.yaml<\/code> \u0628\u0631\u0627\u06cc \u0627\u0639\u0644\u0627\u0646 \u062a\u0645\u0627\u0645 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0627\u06cc \u067e\u0634\u062a\u0647 ELK \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0627 \u06cc\u06a9 \u062f\u0633\u062a\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u06cc\u06a9 \u067e\u0648\u0634\u0647 \u062c\u062f\u06cc\u062f \u062f\u0631 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 <code>docker-compose.yaml<\/code> \u062f\u0631 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>mkdir elk-stack &amp;&amp; cd elk-stack &amp;&amp; touch docker-compose.yaml\r\n<\/code><\/pre>\n<\/div>\n<p>\u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0632 Docker Compose \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0633\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 Docker \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"521\"  class=\"aligncenter wp-image-15223 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-300x195.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-768x500.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-200x130.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-380x247.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06110350\/docker-550x358.png 550w\" ><br \/>\n\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u06cc\u0646 \u0633\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u060c \u0645\u062d\u062a\u0648\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 <code>docker-compose.yaml<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>version: \"3\"\r\nservices:\r\nsetup:\r\nimage: docker.elastic.co\/elasticsearch\/elasticsearch:8.12.1\r\nenvironment:\r\n- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}\r\n- KIBANA_PASSWORD=${KIBANA_PASSWORD}\r\ncontainer_name: setup\r\ncommand:\r\n- bash\r\n- -c\r\n- |\r\necho \"Waiting for Elasticsearch availability\";\r\nuntil curl -s http:\/\/elasticsearch:9200 | grep -q \"missing authentication credentials\"; do sleep 30; done;\r\necho \"Setting kibana_system password\";\r\nuntil curl -s -X POST -u \"elastic:${ELASTIC_PASSWORD}\" -H \"Content-Type: application\/json\" http:\/\/elasticsearch:9200\/_security\/user\/kibana_system\/_password -d \"{\\\"password\\\":\\\"${KIBANA_PASSWORD}\\\"}\" | grep -q \"^{}\"; do sleep 10; done;\r\necho \"All done!\";\r\nelasticsearch:\r\nimage: docker.elastic.co\/elasticsearch\/elasticsearch:8.12.1\r\n# give the container a name\r\n# this will also set the container's hostname as elasticsearch\r\ncontainer_name: elasticsearch\r\nenvironment:\r\n- discovery.type=single-node\r\n- cluster.name=elasticsearch\r\n- bootstrap.memory_lock=true\r\n# limits elasticsearch to 1 GB of RAM\r\n- ES_JAVA_OPTS=-Xms1g -Xmx1g\r\n# The password for the 'elastic' user\r\n- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}\r\n- xpack.security.http.ssl.enabled=false\r\nkibana:\r\nimage: docker.elastic.co\/kibana\/kibana:8.12.1\r\ncontainer_name: kibana\r\nports:\r\n- 5601:5601\r\nenvironment:\r\n# remember the container_name for elasticsearch?\r\n# we use it here to access that container\r\n- ELASTICSEARCH_HOSTS=http:\/\/elasticsearch:9200\r\n- ELASTICSEARCH_USERNAME=kibana_system\r\n- ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}\r\n# Change this to true if you want to sent\r\n# telemetry data to kibana developers\r\n- TELEMETRY_ENABLED=false<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u06cc\u06a9 \u0639\u0646\u0635\u0631\u060c \u0641\u0627\u06cc\u0644 .env \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a \u062f\u0627\u062f\u0647 \u0627\u06cc\u0645. \u0641\u0627\u06cc\u0644 .env \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0627\u0633\u0631\u0627\u0631 \u0645\u0627\u0646\u0646\u062f \u06af\u0630\u0631\u0648\u0627\u0698\u0647\u200c\u0647\u0627 \u0648 \u0646\u0634\u0627\u0646\u0647\u200c\u0647\u0627\u06cc API \u0628\u0631\u0627\u06cc \u062d\u0630\u0641 \u0622\u0646\u0647\u0627 \u0627\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06cc\u0627 \u06a9\u062f \u0634\u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. Docker Compose \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0641\u0627\u06cc\u0644 .env \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f ${MY_VARIABLE} \u0631\u0627 \u0628\u0627 \u0645\u062a\u063a\u06cc\u0631 env. \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>env \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u062e\u0637\u0648\u0637 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>ELASTIC_PASSWORD=&lt;your-elastic-password&gt;\r\nKIBANA_PASSWORD=&lt;your-kibana-password&gt;<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f docker compose \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker compose up -d\r\n<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>[+] Running 3\/4\r\n\u2807 Network elk-stack_default Created\r\n:heavy_check_mark: Container kibana Started\r\n:heavy_check_mark: Container setup Started\r\n:heavy_check_mark: Container elasticsearch Started<\/code><\/pre>\n<\/div>\n<p>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 <code>docker ps<\/code> \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc \u0631\u0648\u062f \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>holu@&lt;your_host&gt;:~\/elk-stack$ docker ps\r\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\r\n&lt;id&gt; docker.elastic.co\/kibana\/kibana:8.12.1 \"&lt;command&gt;\" About a minute ago Up About a minute 0.0.0.0:5601-&gt;5601\/tcp, :::5601-&gt;5601\/tcp kibana\r\n&lt;id&gt; docker.elastic.co\/elasticsearch\/elasticsearch:8.12.1 \"&lt;command&gt;\" About a minute ago Up About a minute 9200\/tcp, 9300\/tcp elasticsearch\r\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Kibana \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0648\u0628 \u0628\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 <code>&lt;your_server&gt;:5601<\/code> \u062f\u0631 \u0646\u0648\u0627\u0631 URL \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc <code>elastic<\/code> \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u0641\u0627\u06cc\u0644 <code>.env<\/code> \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0648\u0627\u0631\u062f \u0634\u0648\u06cc\u062f.<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"522\"  class=\"aligncenter wp-image-15224 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-300x196.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-768x501.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-200x131.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-380x248.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06111009\/1-4-550x359.png 550w\" ><br \/>\n\u0627\u06af\u0631 \u0647\u0646\u06af\u0627\u0645 \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0627\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f\u060c \u0628\u0631 \u0631\u0648\u06cc &#8220;Explore On My Own&#8221; \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"522\"  class=\"aligncenter wp-image-15225 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-300x196.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-768x501.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-200x131.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-380x248.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06111117\/2-4-550x359.png 550w\" ><br \/>\n\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u06a9\u06cc\u0628\u0627\u0646\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a:<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-3-logstash\"><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"522\"  class=\"aligncenter wp-image-15226 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-300x196.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-768x501.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-200x131.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-380x248.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06111221\/3-4-550x359.png 550w\" ><br \/>\n\u0645\u0631\u062d\u0644\u0647 3 &#8211; Logstash<\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0632\u0645\u0627\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0622\u062e\u0631\u06cc\u0646 \u0642\u0637\u0639\u0647 \u067e\u0627\u0632\u0644\u060c Logstash \u0627\u0633\u062a. Logstash \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u06af\u0632\u0627\u0631\u0634\u200c\u0647\u0627 \u0631\u0627 \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647(\u0647\u0627\u06cc) \u0634\u0645\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u06a9\u0646\u062f \u0648 \u06af\u0632\u0627\u0631\u0634\u200c\u0647\u0627\u06cc \u062a\u062d\u0644\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0647 elasticsearch \u0645\u06cc\u200c\u0631\u0633\u0627\u0646\u062f.<\/p>\n<p><code>docker-compose.yaml<\/code> \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f \u0648 \u0638\u0631\u0641 \u0686\u0647\u0627\u0631\u0645 \u0631\u0627 \u062f\u0631 \u0628\u062e\u0634 &#8220;\u062e\u062f\u0645\u0627\u062a&#8221; \u062f\u0631 \u0632\u06cc\u0631 &#8220;kibana&#8221; \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>logstash:\r\nimage: docker.elastic.co\/logstash\/logstash:8.12.1\r\ncontainer_name: logstash\r\ncommand:\r\n- \/bin\/bash\r\n- -c\r\n- |\r\ncp \/usr\/share\/logstash\/pipeline\/logstash.yml \/usr\/share\/logstash\/config\/logstash.yml\r\necho \"Waiting for Elasticsearch availability\";\r\nuntil curl -s http:\/\/elasticsearch:9200 | grep -q \"missing authentication credentials\"; do sleep 1; done;\r\necho \"Starting logstash\";\r\n\/usr\/share\/logstash\/bin\/logstash -f \/usr\/share\/logstash\/pipeline\/logstash.conf\r\nenvironment:\r\n- xpack.monitoring.enabled=false\r\n- ELASTIC_USER=elastic\r\n- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}\r\n- ELASTIC_HOSTS=http:\/\/elasticsearch:9200\r\nvolumes:\r\n- .\/logstash.conf:\/usr\/share\/logstash\/pipeline\/logstash.conf<\/code><\/pre>\n<\/div>\n<p>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc Logstash \u06a9\u0645\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631 \u0627\u0633\u062a. \u0634\u0645\u0627 \u0628\u0647 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0636\u0627\u0641\u06cc \u0628\u0647 \u0646\u0627\u0645 logstash.conf \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f. Logstash \u0631\u0648\u06cc \u0686\u06cc\u0632\u06cc \u0628\u0647 \u0646\u0627\u0645 \u062e\u0637 \u0644\u0648\u0644\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc \u062f\u0647\u062f Logstash \u0686\u0647 \u06a9\u0627\u0631\u06cc \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f (\u0644\u0627\u06af \u0647\u0627 \u0627\u0632 \u06a9\u062c\u0627 \u0645\u06cc \u0622\u06cc\u0646\u062f\u060c \u0686\u06af\u0648\u0646\u0647 \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u0631\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u06a9\u0646\u06cc\u0645\u060c \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u06a9\u062c\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u0645). \u062e\u0637 \u0644\u0648\u0644\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 logstash.conf \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9\u06cc \u0627\u0632 \u0627\u0633\u0627\u0633\u06cc \u062a\u0631\u06cc\u0646 \u062e\u0637\u0648\u0637\u06cc \u0645\u0648\u0627\u0631\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>input {\r\nfile {\r\npath =&gt; \"\/var\/log\/dpkg.log\"\r\nstart_position =&gt; \"beginning\"\r\n}\r\n}\r\nfilter { }\r\noutput {\r\nelasticsearch {\r\nhosts =&gt; \"${ELASTIC_HOSTS}\"\r\nuser =&gt; \"elastic\"\r\npassword =&gt; \"${ELASTIC_PASSWORD}\"\r\nindex =&gt; \"logstash-%{+YYYY.MM.dd}\"\r\n}\r\nstdout { }\r\n}<\/code><\/pre>\n<\/div>\n<p>\u06a9\u0627\u0645\u0644\u0627\u064b \u062e\u0648\u062f \u062a\u0648\u0636\u06cc\u062d\u06cc \u0627\u0633\u062a. \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0648\u0631\u0648\u062f\u06cc \u0645\u06cc \u06af\u06cc\u0631\u062f (\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \/var\/log\/dpkg.log) \u0648 \u0628\u0647 Elasticsearch \u0648 stdout \u062e\u0631\u0648\u062c\u06cc \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 logstash.conf \u062e\u0648\u062f \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc elk-stack \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u062d\u0627\u0648\u06cc \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>elk-stack\/\r\n\u251c\u2500\u2500 .env\r\n\u251c\u2500\u2500 docker-compose.yaml\r\n\u2514\u2500\u2500 logstash.conf<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f Logstash \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker compose up -d\r\n<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>[+] Running 4\/4\r\n:heavy_check_mark: Container logstash Started\r\n:heavy_check_mark: Container setup Started\r\n:heavy_check_mark: Container elasticsearch Running\r\n:heavy_check_mark: Container kibana Running<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 Kibana \u0628\u0647 Logstash \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0646\u0645\u0627\u06cc \u062f\u0627\u062f\u0647 logstash \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0647 \u0635\u0641\u062d\u0647 \u06a9\u0634\u0641 \u00abAnalytics\u00bb \u0628\u0631\u0648\u06cc\u062f. \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0686\u06cc\u0632\u06cc \u0634\u0628\u06cc\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"522\"  class=\"aligncenter wp-image-15227 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-300x196.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-768x501.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-200x131.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-380x248.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06114247\/4-3-550x359.png 550w\" ><br \/>\n\u0628\u0627 \u06a9\u0644\u06cc\u06a9 \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 &#8220;Create Data View&#8221; \u0646\u0645\u0627\u06cc \u062f\u0627\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"522\"  class=\"aligncenter wp-image-15228 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-300x196.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-768x501.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-200x131.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-380x248.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06114408\/5-3-550x359.png 550w\" ><br \/>\n\u067e\u0633 \u0627\u0632 \u0630\u062e\u06cc\u0631\u0647 \u0646\u0645\u0627\u06cc \u062f\u0627\u062f\u0647\u060c \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0627\u0632 Logstash \u0645\u06cc \u0622\u06cc\u0646\u062f \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-4-%d9%be%d8%b4%d8%aa%d9%87-%d8%b1%d8%a7-%d8%a7%d8%b2-%d8%a8%db%8c%d9%86-%d8%a8%d8%a8%d8%b1%db%8c%d8%af\"><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"800\"  height=\"522\"  class=\"aligncenter wp-image-15229 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 800px) 100vw, 800px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-300x196.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-768x501.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-110x72.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-200x131.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-380x248.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-255x166.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/06114607\/6-3-550x359.png 550w\" ><br \/>\n\u0645\u0631\u062d\u0644\u0647 4 &#8211; \u067e\u0634\u062a\u0647 \u0631\u0627 \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0628\u0631\u06cc\u062f<\/h2>\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0631\u0627\u06cc \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0646 \u067e\u0634\u062a\u0647 \u0648 \u062d\u0630\u0641 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker compose down\r\n<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>[+] Running 5\/5\r\n:heavy_check_mark: Container logstash Removed\r\n:heavy_check_mark: Container elasticsearch Removed\r\n:heavy_check_mark: Container kibana Removed\r\n:heavy_check_mark: Container setup Removed\r\n:heavy_check_mark: Network elk-stack_default Removed<\/code><\/pre>\n<\/div>\n<h2 id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\">\u0646\u062a\u06cc\u062c\u0647<\/h2>\n<p>\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u067e\u0634\u062a\u0647 ELK \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0627 Docker Compose \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0635\u0627\u062f\u0631\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u06af\u0632\u0627\u0631\u0634 \u0645\u0627\u0646\u0646\u062f Filebeat \u06cc\u0627 \u0628\u0631\u0631\u0633\u06cc \u0627\u0633\u0646\u0627\u062f \u0631\u0633\u0645\u06cc \u0627\u0633\u062a.<\/p>\n","protected":false},"excerpt":{"rendered":"Introduction In this tutorial, we will show you how to install ELK STack using Docker Compose on a server running Ubuntu\u2026","protected":false},"author":1,"featured_media":15231,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193],"tags":[346,368],"class_list":{"0":"post-15222","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"tag-docker","9":"tag-ubuntu"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/deploy-elk-stack-with-docker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0646\u062d\u0648\u0647 \u0646\u0635\u0628 ELK STack \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0628\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/deploy-elk-stack-with-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-06T08:29:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/04\/06115742\/Docker-Stack.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f\",\"datePublished\":\"2024-04-06T08:29:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/\"},\"wordCount\":107,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/04\\\/06115742\\\/Docker-Stack.jpg\",\"keywords\":[\"Docker\",\"Ubuntu\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/\",\"name\":\"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/04\\\/06115742\\\/Docker-Stack.jpg\",\"datePublished\":\"2024-04-06T08:29:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/04\\\/06115742\\\/Docker-Stack.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/04\\\/06115742\\\/Docker-Stack.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/deploy-elk-stack-with-docker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploy Your ELK Stack Using Docker Compose - ITPiran Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/deploy-elk-stack-with-docker\/","og_locale":"en_US","og_type":"article","og_title":"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0646\u062d\u0648\u0647 \u0646\u0635\u0628 ELK STack \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0628\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0628\u0627 \u0627\u0648\u0628\u0648\u0646\u062a\u0648&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/en\/tutorials\/deploy-elk-stack-with-docker\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-04-06T08:29:11+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/04\/06115742\/Docker-Stack.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f","datePublished":"2024-04-06T08:29:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/"},"wordCount":107,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/04\/06115742\/Docker-Stack.jpg","keywords":["Docker","Ubuntu"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/","name":"Deploy Your ELK Stack Using Docker Compose - ITPiran Blog","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/04\/06115742\/Docker-Stack.jpg","datePublished":"2024-04-06T08:29:11+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/04\/06115742\/Docker-Stack.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/04\/06115742\/Docker-Stack.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/deploy-elk-stack-with-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"ELK Stack \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"ITPiran Blog","description":"Iranian Sustainable Trade News and Articles","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"Sustainable Iranian Business Blog","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"admin","url":"https:\/\/www.itpiran.net\/blog\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts\/15222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/comments?post=15222"}],"version-history":[{"count":1,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts\/15222\/revisions"}],"predecessor-version":[{"id":15230,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/posts\/15222\/revisions\/15230"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/media\/15231"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/media?parent=15222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/categories?post=15222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/en\/wp-json\/wp\/v2\/tags?post=15222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}