{"id":35036,"date":"2024-10-14T16:28:41","date_gmt":"2024-10-14T09:28:41","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/10\/14\/container-instrumentation-with-the-elastic-stack\/"},"modified":"2024-10-14T16:28:41","modified_gmt":"2024-10-14T09:28:41","slug":"container-instrumentation-with-the-elastic-stack","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/10\/14\/container-instrumentation-with-the-elastic-stack\/","title":{"rendered":"Container Instrumentation v\u1edbi Elastic Stack"},"content":{"rendered":"<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/container-instrumentation-with-the-elastic-stack_hu2b3634d963ade6f3fd6d190df0284a98_194993_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Thi\u1ebft b\u1ecb \u0111o l\u01b0\u1eddng container v\u1edbi Elastic Stack\" title=\"Thi\u1ebft b\u1ecb \u0111o l\u01b0\u1eddng container v\u1edbi Elastic Stack\"\/><\/figure>\n<p>Elastic&nbsp;<a href=\"https:\/\/www.elastic.co\/products\" target=\"_blank\" rel=\"noreferrer noopener\">Stack<\/a>&nbsp;c\u00f3 th\u1ec3 gi\u00e1m s\u00e1t nhi\u1ec1u lo\u1ea1i d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c t\u1ea1o ra b\u1edfi c\u00e1c container&nbsp;<a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker<\/a>&nbsp;. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n s\u1ebd thi\u1ebft l\u1eadp Linode \u0111\u1ec3 ph\u00e2n t\u00edch v\u00e0 tr\u1ef1c quan h\u00f3a nh\u1eadt k\u00fd v\u00e0 s\u1ed1 li\u1ec7u container b\u1eb1ng c\u00e1c c\u00f4ng c\u1ee5 nh\u01b0 Kibana, Beats v\u00e0 Elasticsearch. Sau khi ho\u00e0n t\u1ea5t, b\u1ea1n s\u1ebd c\u00f3 th\u1ec3 \u0111\u1ecbnh c\u1ea5u h\u00ecnh h\u1ec7 th\u1ed1ng c\u1ee7a m\u00ecnh \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng thu th\u1eadp d\u1eef li\u1ec7u cho c\u00e1c container b\u1ed5 sung.<\/p>\n<h2 id=\"before-you-begin\">Tr\u01b0\u1edbc khi b\u1ea1n b\u1eaft \u0111\u1ea7u<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#before-you-begin\"><\/a><\/h2>\n<ol>\n<li>N\u1ebfu b\u1ea1n ch\u01b0a th\u1ef1c hi\u1ec7n, h\u00e3y t\u1ea1o m\u1ed9t t\u00e0i kho\u1ea3n Linode v\u00e0 Compute Instance. Xem h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/platform\/get-started\/\">B\u1eaft \u0111\u1ea7u v\u1edbi Linode<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/create\/\">T\u1ea1o Compute Instance<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i .<\/li>\n<li>L\u00e0m theo h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/set-up-and-secure\/\">Thi\u1ebft l\u1eadp v\u00e0 B\u1ea3o m\u1eadt Phi\u00ean b\u1ea3n Compute<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i \u0111\u1ec3 c\u1eadp nh\u1eadt h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n. B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 mu\u1ed1n \u0111\u1eb7t m\u00fai gi\u1edd, c\u1ea5u h\u00ecnh t\u00ean m\u00e1y ch\u1ee7, t\u1ea1o t\u00e0i kho\u1ea3n ng\u01b0\u1eddi d\u00f9ng gi\u1edbi h\u1ea1n v\u00e0 t\u0103ng c\u01b0\u1eddng quy\u1ec1n truy c\u1eadp SSH.<\/li>\n<li>Th\u1ef1c hi\u1ec7n theo&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/configure-firewall-with-ufw\/\">H\u01b0\u1edbng d\u1eabn UFW<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i \u0111\u1ec3 c\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh t\u01b0\u1eddng l\u1eeda (UFW) tr\u00ean h\u1ec7 th\u1ed1ng ch\u1ea1y Ubuntu ho\u1eb7c Debian c\u1ee7a b\u1ea1n ho\u1eb7c&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/introduction-to-firewalld-on-centos\/\">H\u01b0\u1edbng d\u1eabn FirewallD<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i cho h\u1ec7 th\u1ed1ng ch\u1ea1y rpm ho\u1eb7c CentOS. Sau khi c\u1ea5u h\u00ecnh t\u01b0\u1eddng l\u1eeda, h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng c\u00e1c c\u1ed5ng c\u1ea7n thi\u1ebft \u0111\u01b0\u1ee3c m\u1edf \u0111\u1ec3 ti\u1ebfn h\u00e0nh k\u1ebft n\u1ed1i qua SSH cho ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a h\u01b0\u1edbng d\u1eabn n\u00e0y:<code>sudo ufw allow ssh<\/code><\/li>\n<li>C\u00e0i \u0111\u1eb7t Docker tr\u00ean Linode c\u1ee7a b\u1ea1n b\u1eb1ng c\u00e1ch l\u00e0m theo&nbsp;<a href=\"https:\/\/docs.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">h\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t t\u1eeb d\u1ef1 \u00e1n Docker<\/a>&nbsp;.<\/li>\n<\/ol>\n<p class=\"has-background\" style=\"background-color:#74f78c33\">Ghi ch\u00fa: C\u00e1c d\u1ecbch v\u1ee5 trong h\u01b0\u1edbng d\u1eabn n\u00e0y ch\u1ec9 li\u00ean k\u1ebft v\u1edbi localhost, ngh\u0129a l\u00e0 ch\u00fang kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c b\u00ean ngo\u00e0i Linode t\u1eeb c\u00e1c m\u00e1y ch\u1ee7 t\u1eeb xa. \u0110i\u1ec1u n\u00e0y \u0111\u1ea3m b\u1ea3o r\u1eb1ng REST API c\u1ee7a Elasticsearch v\u1eabn ri\u00eang t\u01b0 v\u1edbi localhost v\u00e0 kh\u00f4ng th\u1ec3 truy c\u1eadp t\u1eeb xa t\u1eeb internet. N\u1ebfu b\u1ea1n th\u1ef1c hi\u1ec7n c\u00e1c b\u01b0\u1edbc ngo\u00e0i h\u01b0\u1edbng d\u1eabn n\u00e0y \u0111\u1ec3 c\u1ea5u h\u00ecnh Elasticsearch v\u00e0 c\u00e1c th\u00e0nh ph\u1ea7n li\u00ean quan, h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng t\u01b0\u1eddng l\u1eeda c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp v\u00e0 ch\u1eb7n \u0111\u00fang l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp \u0111\u1ebfn c\u00e1c n\u00fat Elasticsearch v\u00e0 Kibana t\u1eeb internet (c\u1ed5ng 9200 v\u00e0 9300 cho Elasticsearch v\u00e0 5601 cho Kibana) \u0111\u1ec3 gi\u1eef cho ch\u00fang \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt \u0111\u00fang c\u00e1ch.<\/p>\n<h2 id=\"install-elastic-stack-components\">C\u00e0i \u0111\u1eb7t Elastic Stack Components<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#install-elastic-stack-components\"><\/a><\/h2>\n<p>Tr\u01b0\u1edbc khi c\u1ea5u h\u00ecnh h\u1ec7 th\u1ed1ng \u0111\u1ec3 theo d\u00f5i c\u00e1c container \u0111ang ch\u1ea1y, tr\u01b0\u1edbc ti\u00ean h\u00e3y c\u00e0i \u0111\u1eb7t c\u00e1c th\u00e0nh ph\u1ea7n c\u1ea7n thi\u1ebft \u0111\u1ec3 thu th\u1eadp v\u00e0 g\u1eedi nh\u1eadt k\u00fd v\u00e0 s\u1ed1 li\u1ec7u \u0111\u1ebfn Elasticsearch.<\/p>\n<h3 id=\"debian-based-distributions\">C\u00e1c b\u1ea3n ph\u00e2n ph\u1ed1i d\u1ef1a tr\u00ean Debian<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#debian-based-distributions\"><\/a><\/h3>\n<p>C\u1ea5u h\u00ecnh kho l\u01b0u tr\u1eef Elastic&nbsp;<code>apt<\/code>v\u00e0 c\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i c\u1ea7n thi\u1ebft c\u00f9ng c\u00e1c g\u00f3i ph\u1ee5 thu\u1ed9c c\u1ee7a ch\u00fang.<\/p>\n<p>1.C\u00e0i \u0111\u1eb7t kh\u00f3a k\u00fd g\u00f3i Elastic APT ch\u00ednh th\u1ee9c:<\/p>\n<pre class=\"wp-block-code\"><code>wget -qO - https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | sudo apt-key add -<\/code><\/pre>\n<p>2.C\u00e0i \u0111\u1eb7t&nbsp;<code>apt-transport-https<\/code>g\u00f3i c\u1ea7n thi\u1ebft \u0111\u1ec3 truy xu\u1ea5t&nbsp;<code>deb<\/code>c\u00e1c g\u00f3i \u0111\u01b0\u1ee3c ph\u1ee5c v\u1ee5 qua HTTPS:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-get install apt-transport-https\n<\/code><\/pre>\n<p>3.Th\u00eam th\u00f4ng tin kho l\u01b0u tr\u1eef APT v\u00e0o danh s\u00e1ch ngu\u1ed3n c\u1ee7a m\u00e1y ch\u1ee7:<\/p>\n<pre class=\"wp-block-code\"><code>echo \"deb https:\/\/artifacts.elastic.co\/packages\/6.x\/apt stable main\" | sudo tee -a \/etc\/apt\/sources.list.d\/elastic-6.x.list\n<\/code><\/pre>\n<p>4.L\u00e0m m\u1edbi danh s\u00e1ch c\u00e1c g\u00f3i c\u00f3 s\u1eb5n:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-get update<\/code><\/pre>\n<p>5.Tr\u01b0\u1edbc khi c\u00e0i \u0111\u1eb7t Elasticsearch, Java runtime ph\u1ea3i c\u00f3 m\u1eb7t. Tr\u00ean c\u00e1c h\u1ec7 th\u1ed1ng nh\u01b0 Ubuntu 18.04 LTS, s\u1eed d\u1ee5ng&nbsp;<code>default-jre-headless<\/code>g\u00f3i c\u00e0i \u0111\u1eb7t Java runtime t\u01b0\u01a1ng th\u00edch:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-get install default-jre-headless\n<\/code><\/pre>\n<p>6.C\u00e0i \u0111\u1eb7t Elasticsearch, Kibana, Filebeat v\u00e0 Metricbeat:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-get install elasticsearch kibana filebeat metricbeat\n<\/code><\/pre>\n<h3 id=\"redhat-based-distributions\">Ph\u00e2n ph\u1ed1i d\u1ef1a tr\u00ean Redhat<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#redhat-based-distributions\"><\/a><\/h3>\n<p>C\u1ea5u h\u00ecnh&nbsp;<code>rpm<\/code>kho l\u01b0u tr\u1eef&nbsp;<code>yum<\/code>v\u00e0 c\u00e1c c\u00f4ng c\u1ee5 \u0111\u00f3ng g\u00f3i li\u00ean quan.<\/p>\n<p>1.Tin t\u01b0\u1edfng v\u00e0o kh\u00f3a k\u00fd Elastic:<\/p>\n<pre class=\"wp-block-code\"><code>sudo rpm --import https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch<\/code><\/pre>\n<p>2.T\u1ea1o c\u1ea5u h\u00ecnh kho l\u01b0u tr\u1eef yum \u0111\u1ec3 s\u1eed d\u1ee5ng kho l\u01b0u tr\u1eef Elastic yum:<\/p>\n<pre class=\"wp-block-code\"><code>&#91;elasticsearch-6.x]\nname=Elastic repository for 6.x packages\nbaseurl=https:\/\/artifacts.elastic.co\/packages\/6.x\/yum\ngpgcheck=1\ngpgkey=https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch\nenabled=1\nautorefresh=1\ntype=rpm-md\n    <\/code><\/pre>\n<p>3.C\u1eadp nh\u1eadt&nbsp;<code>yum<\/code>b\u1ed9 nh\u1edb \u0111\u1ec7m \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o m\u1ecdi g\u00f3i m\u1edbi \u0111\u1ec1u kh\u1ea3 d\u1ee5ng:<\/p>\n<pre class=\"wp-block-code\"><code>sudo yum update<\/code><\/pre>\n<p>4.Tr\u01b0\u1edbc khi c\u00e0i \u0111\u1eb7t Elasticsearch, Java runtime ph\u1ea3i c\u00f3 m\u1eb7t. V\u00ed d\u1ee5, tr\u00ean CentOS, c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t Java runtime t\u01b0\u01a1ng th\u00edch b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng g\u00f3i OpenJDK kh\u00f4ng c\u00f3 giao di\u1ec7n:<\/p>\n<pre class=\"wp-block-code\"><code>sudo yum install java-11-openjdk-headless\n<\/code><\/pre>\n<p>5.C\u00e0i \u0111\u1eb7t Elasticsearch, Kibana, Filebeat v\u00e0 Metricbeat:<\/p>\n<pre class=\"wp-block-code\"><code>sudo yum install elasticsearch kibana filebeat metricbeat\n<\/code><\/pre>\n<h2 id=\"configure-the-elastic-stack\">C\u1ea5u h\u00ecnh Elastic Stack<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#configure-the-elastic-stack\"><\/a><\/h2>\n<p>\u0110\u1ec3 kh\u00e1m ph\u00e1 v\u00e0 n\u1eafm b\u1eaft \u0111\u00fang s\u1ed1 li\u1ec7u container, m\u1ed7i th\u00e0nh ph\u1ea7n c\u1ee7a ng\u0103n x\u1ebfp Elastic ph\u1ea3i \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh.<\/p>\n<h3 id=\"elasticsearch\">T\u00ecm ki\u1ebfm \u0111\u00e0n h\u1ed3i<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#elasticsearch\"><\/a><\/h3>\n<p>Trong t\u1ec7p,&nbsp;<code>\/etc\/elasticsearch\/jvm.options<\/code>hai gi\u00e1 tr\u1ecb b\u1eaft \u0111\u1ea7u b\u1eb1ng&nbsp;<code>-Xm<\/code>ph\u1ea3i kh\u00f4ng c\u00f3 ch\u00fa th\u00edch. C\u00e1c thi\u1ebft l\u1eadp n\u00e0y h\u01b0\u1edbng d\u1eabn JVM ph\u00e2n b\u1ed5 m\u1ed9t l\u01b0\u1ee3ng b\u1ed9 nh\u1edb c\u1ee5 th\u1ec3. Gi\u00e1 tr\u1ecb khuy\u1ebfn ngh\u1ecb cho c\u00e1c thi\u1ebft l\u1eadp n\u00e0y l\u00e0 50% RAM h\u1ec7 th\u1ed1ng kh\u1ea3 d\u1ee5ng. V\u00ed d\u1ee5, tr\u00ean h\u1ec7 th\u1ed1ng c\u00f3 1G RAM, c\u00e1c thi\u1ebft l\u1eadp n\u00e0y ph\u1ea3i l\u00e0:<\/p>\n<pre class=\"wp-block-code\"><code>-Xms512m\n-Xmx512m<\/code><\/pre>\n<p>1.Tr\u01b0\u1edbc khi kh\u1edfi \u0111\u1ed9ng Elasticsearch, h\u00e3y c\u00e0i \u0111\u1eb7t m\u1ed9t s\u1ed1 plugin c\u1ea7n thi\u1ebft \u0111\u1ec3 x\u1eed l\u00fd d\u1eef li\u1ec7u geoip v\u00e0 user-agent.<\/p>\n<pre class=\"wp-block-code\"><code>sudo \/usr\/share\/elasticsearch\/bin\/elasticsearch-plugin install ingest-user-agent\nsudo \/usr\/share\/elasticsearch\/bin\/elasticsearch-plugin install ingest-geoip<\/code><\/pre>\n<p>2.Sau khi thi\u1ebft l\u1eadp xong c\u00e1c th\u00f4ng tin n\u00e0y, h\u00e3y b\u1eaft \u0111\u1ea7u&nbsp;<code>elasticsearch<\/code>d\u1ecbch v\u1ee5.<\/p>\n<pre class=\"wp-block-code\"><code>sudo systemctl start elasticsearch\n<\/code><\/pre>\n<p>3.\u0110\u1ee3i m\u1ed9t kho\u1ea3ng th\u1eddi gian ng\u1eafn \u0111\u1ec3 Elasticsearch kh\u1edfi \u0111\u1ed9ng, sau \u0111\u00f3 ki\u1ec3m tra xem Elasticsearch c\u00f3 ph\u1ea3n h\u1ed3i qua REST API kh\u00f4ng:<\/p>\n<pre class=\"wp-block-code\"><code>curl http:\/\/localhost:9200\n<\/code><\/pre>\n<p>B\u1ea1n s\u1ebd th\u1ea5y k\u1ebft qu\u1ea3 t\u01b0\u01a1ng t\u1ef1 nh\u01b0 sau:<\/p>\n<pre class=\"wp-block-code\"><code>{\n  \"name\" : \"iQEk_-M\",\n  \"cluster_name\" : \"elasticsearch\",\n  \"cluster_uuid\" : \"tQeLgbKrTNOp2AoqdmTItw\",\n  \"version\" : {\n        \"number\" : \"6.5.4\",\n        \"build_flavor\" : \"default\",\n        \"build_type\" : \"deb\",\n        \"build_hash\" : \"d2ef93d\",\n        \"build_date\" : \"2018-12-17T21:17:40.758843Z\",\n        \"build_snapshot\" : false,\n        \"lucene_version\" : \"7.5.0\",\n        \"minimum_wire_compatibility_version\" : \"5.6.0\",\n        \"minimum_index_compatibility_version\" : \"5.0.0\"\n  },\n  \"tagline\" : \"You Know, for Search\"\n}<\/code><\/pre>\n<p>Elasticsearch \u0111\u00e3 s\u1eb5n s\u00e0ng \u0111\u1ec3 l\u1eadp ch\u1ec9 m\u1ee5c t\u00e0i li\u1ec7u.<\/p>\n<h3 id=\"kibana\">Kibana<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#kibana\"><\/a><\/h3>\n<p>H\u1ea7u h\u1ebft c\u00e1c thi\u1ebft l\u1eadp m\u1eb7c \u0111\u1ecbnh c\u1ee7a Kibana \u0111\u1ec1u ph\u00f9 h\u1ee3p v\u1edbi m\u1ee5c \u0111\u00edch c\u1ee7a h\u01b0\u1edbng d\u1eabn n\u00e0y. Kh\u00f4ng c\u1ea7n thay \u0111\u1ed5i c\u1ea5u h\u00ecnh; h\u00e3y kh\u1edfi \u0111\u1ed9ng d\u1ecbch&nbsp;<code>kibana<\/code>v\u1ee5.<\/p>\n<pre class=\"wp-block-code\"><code>sudo systemctl start kibana<\/code><\/pre>\n<h3 id=\"filebeat\">T\u1eadp tin<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#filebeat\"><\/a><\/h3>\n<p>S\u1eed d\u1ee5ng&nbsp;<code>docker<\/code>\u0111\u1ea7u v\u00e0o \u0111\u1ec3 cho ph\u00e9p Filebeat ghi l\u1ea1i c\u00e1c container \u0111\u00e3 b\u1eaft \u0111\u1ea7u m\u1ed9t c\u00e1ch \u0111\u1ed9ng. \u0110i\u1ec1u n\u00e0y gi\u00fap gi\u1ea3m nhu c\u1ea7u ch\u1ec9 \u0111\u1ecbnh \u0111\u01b0\u1eddng d\u1eabn t\u1ec7p nh\u1eadt k\u00fd Docker v\u00e0 thay v\u00e0o \u0111\u00f3 cho ph\u00e9p Filebeat kh\u00e1m ph\u00e1 c\u00e1c container khi ch\u00fang b\u1eaft \u0111\u1ea7u.<\/p>\n<p>1.Th\u00eam n\u1ed9i dung sau v\u00e0o g\u1ea7n \u0111\u1ea7u t\u1ec7p c\u1ea5u h\u00ecnh Filebeat \u0111\u1ec3 h\u01b0\u1edbng d\u1eabn&nbsp;<code>filebeat<\/code>daemon ghi l\u1ea1i nh\u1eadt k\u00fd v\u00f9ng ch\u1ee9a Docker. Nh\u1eefng d\u00f2ng n\u00e0y ph\u1ea3i \u0111\u01b0\u1ee3c nh\u1eadp d\u01b0\u1edbi kh\u00f3a c\u1ea5u h\u00ecnh&nbsp;<code>filebeat.inputs<\/code>:<\/p>\n<pre class=\"wp-block-code\"><code>filebeat.inputs:\n- type: docker\n  containers.ids:\n  - '*'\n  processors:\n  - add_docker_metadata: ~<\/code><\/pre>\n<p>2.B\u1ecf ch\u00fa th\u00edch \u1edf d\u00f2ng sau v\u00e0 thay \u0111\u1ed5i gi\u00e1 tr\u1ecb c\u1ee7a n\u00f3 th\u00e0nh&nbsp;<code>true<\/code>, \u0111i\u1ec1u n\u00e0y s\u1ebd cho ph\u00e9p Filebeat t\u1ea1o b\u1ea3ng th\u00f4ng tin Kibana li\u00ean quan cho c\u00e1c nh\u1eadt k\u00fd v\u00f9ng ch\u1ee9a \u0111\u00e3 ch\u1ee5p:<\/p>\n<pre class=\"wp-block-code\"><code>setup.dashboards.enabled: true<\/code><\/pre>\n<p>3.Cu\u1ed1i c\u00f9ng, th\u00eam c\u1ea5u h\u00ecnh sau&nbsp;<code>autodiscover<\/code>v\u00e0o cu\u1ed1i t\u1ec7p&nbsp;<code>filebeat.yml<\/code>:<\/p>\n<pre class=\"wp-block-code\"><code>filebeat.autodiscover:\n  providers:\n    - type: docker\n      hints.enabled: true<\/code><\/pre>\n<p>4.K\u00edch ho\u1ea1t&nbsp;<code>nginx<\/code>m\u00f4-\u0111un s\u1ebd \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng sau trong h\u01b0\u1edbng d\u1eabn n\u00e0y:<\/p>\n<pre class=\"wp-block-code\"><code>sudo \/usr\/bin\/filebeat modules enable nginx\n<\/code><\/pre>\n<p>5.Ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a t\u1ec7p c\u1ea5u h\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn Filebeat g\u1eedi nh\u1eadt k\u00fd \u0111\u1ebfn phi\u00ean b\u1ea3n Elasticsearch \u0111ang ch\u1ea1y c\u1ee5c b\u1ed9, c\u00f3 th\u1ec3 gi\u1eef nguy\u00ean kh\u00f4ng thay \u0111\u1ed5i. Kh\u1edfi \u0111\u1ed9ng Filebeat:<\/p>\n<pre class=\"wp-block-code\"><code>sudo systemctl start filebeat<\/code><\/pre>\n<h3 id=\"metricbeat\">Metricbeat<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#metricbeat\"><\/a><\/h3>\n<p>Gi\u1ed1ng nh\u01b0 Filebeat, h\u00e3y c\u1ea5u h\u00ecnh Metricbeat t\u01b0\u01a1ng t\u1ef1 \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng ph\u00e1t hi\u1ec7n c\u00e1c container \u0111ang ch\u1ea1y \u0111\u1ec3 theo d\u00f5i.<\/p>\n<p>1.Metricbeat s\u1eed d\u1ee5ng m\u1ed9t m\u00f4-\u0111un \u0111\u1ec3 thu th\u1eadp s\u1ed1 li\u1ec7u container. Ph\u00e1t h\u00e0nh l\u1ec7nh sau \u0111\u1ec3 b\u1eadt c\u00e1c m\u00f4-\u0111un&nbsp;<code>docker<\/code>v\u00e0&nbsp;<code>nginx<\/code>:<\/p>\n<pre class=\"wp-block-code\"><code>sudo \/usr\/bin\/metricbeat modules enable docker\nsudo \/usr\/bin\/metricbeat modules enable nginx<\/code><\/pre>\n<p>2.B\u1ecf ch\u00fa th\u00edch \u1edf d\u00f2ng sau v\u00e0 thay \u0111\u1ed5i gi\u00e1 tr\u1ecb c\u1ee7a n\u00f3 th\u00e0nh&nbsp;<code>true<\/code>, \u0111i\u1ec1u n\u00e0y s\u1ebd cho ph\u00e9p Metricbeat t\u1ea1o b\u1ea3ng th\u00f4ng tin Kibana li\u00ean quan cho nh\u1eadt k\u00fd v\u00f9ng ch\u1ee9a \u0111\u00e3 ghi l\u1ea1i:<\/p>\n<pre class=\"wp-block-code\"><code>setup.dashboards.enabled: true<\/code><\/pre>\n<p>3.Ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a t\u1ec7p c\u1ea5u h\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn Metricbeat g\u1eedi nh\u1eadt k\u00fd \u0111\u1ebfn phi\u00ean b\u1ea3n Elasticsearch \u0111ang ch\u1ea1y c\u1ee5c b\u1ed9, c\u00f3 th\u1ec3 gi\u1eef nguy\u00ean. B\u00e2y gi\u1edd c\u00f3 th\u1ec3 kh\u1edfi \u0111\u1ed9ng Metricbeat:<\/p>\n<pre class=\"wp-block-code\"><code>sudo systemctl start metricbeat\n<\/code><\/pre>\n<h2 id=\"visualizing-container-logs-and-metrics\">Hi\u1ec3n th\u1ecb Nh\u1eadt k\u00fd v\u00e0 S\u1ed1 li\u1ec7u Container<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#visualizing-container-logs-and-metrics\"><\/a><\/h2>\n<p>V\u00ed d\u1ee5 sau \u0111\u00e2y minh h\u1ecda c\u00e1ch Filebeat v\u00e0 Metricbeat t\u1ef1 \u0111\u1ed9ng thu th\u1eadp d\u1eef li\u1ec7u container c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c trong Kibana.<\/p>\n<p>1.\u0110\u1ec3 b\u1eaft \u0111\u1ea7u, h\u00e3y ch\u1ea1y m\u1ed9t container Docker nginx \u0111\u01a1n gi\u1ea3n tr\u00ean Linode c\u1ee7a b\u1ea1n.<\/p>\n<pre class=\"wp-block-code\"><code>sudo docker run --name nginx -P -d --label co.elastic.logs\/module=nginx nginx\n<\/code><\/pre>\n<ul>\n<li>L\u1ec7nh n\u00e0y s\u1ebd ch\u1ea1y m\u00e1y ch\u1ee7 web \u1edf ch\u1ebf \u0111\u1ed9 n\u1ec1n v\u00e0 hi\u1ec3n th\u1ecb d\u1ecbch v\u1ee5 HTTP \u0111ang l\u1eafng nghe d\u01b0\u1edbi m\u1ed9t s\u1ed1 c\u1ed5ng ng\u1eabu nhi\u00ean.<\/li>\n<li>\u0110\u1ed1i s\u1ed1 n\u00e0y&nbsp;<code>--label<\/code>l\u00e0&nbsp;<a href=\"https:\/\/www.elastic.co\/guide\/en\/beats\/filebeat\/current\/configuration-autodiscover-hints.html\" target=\"_blank\" rel=\"noreferrer noopener\">g\u1ee3i \u00fd<\/a>&nbsp;\u0111\u1ec3 Filebeat t\u1ef1 \u0111\u1ed9ng ph\u00e2n t\u00edch \u0111\u1ecbnh d\u1ea1ng nh\u1eadt k\u00fd c\u1ee7a m\u1ed9t s\u1ed1 lo\u1ea1i v\u00f9ng ch\u1ee9a nh\u1ea5t \u0111\u1ecbnh, trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y l\u00e0 nginx.<\/li>\n<\/ul>\n<p>2.\u0110\u1ec3 m\u1edf k\u1ebft n\u1ed1i an to\u00e0n t\u1edbi Kibana, h\u00e3y m\u1edf \u0111\u01b0\u1eddng h\u1ea7m SSH t\u1edbi c\u1ed5ng 5601 tr\u00ean Linode c\u1ee7a b\u1ea1n.<\/p>\n<pre class=\"wp-block-code\"><code>ssh -L 5601:localhost:5601 &lt;user@ip-address&gt;\n<\/code><\/pre>\n<ul>\n<li>Thay th\u1ebf&nbsp;<code>&lt;user@ip-address&gt;<\/code>b\u1eb1ng t\u00ean ng\u01b0\u1eddi d\u00f9ng v\u00e0 \u0111\u1ecba ch\u1ec9 IP c\u1ee7a Linode c\u1ee7a b\u1ea1n.<\/li>\n<li>L\u1ec7nh n\u00e0y s\u1ebd chuy\u1ec3n ti\u1ebfp c\u1ed5ng 5601 c\u1ee5c b\u1ed9 t\u1edbi c\u1ed5ng 5601 tr\u00ean Linode c\u1ee7a b\u1ea1n.<\/li>\n<li>H\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng \u0111\u01b0\u1eddng h\u1ea7m SSH tr\u00ean nhi\u1ec1u n\u1ec1n t\u1ea3ng kh\u00e1c nhau c\u00f3 s\u1eb5n trong&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/create-an-ssh-tunnel-for-mysql-remote-access\/\">h\u01b0\u1edbng d\u1eabn T\u1ea1o \u0111\u01b0\u1eddng h\u1ea7m SSH cho MySQL<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i .<\/li>\n<\/ul>\n<p>3.Duy\u1ec7t \u0111\u1ebfn&nbsp;<code>http:\/\/localhost:5601<\/code>tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n, b\u1ea1n s\u1ebd th\u1ea5y trang \u0111\u00edch ban \u0111\u1ea7u c\u1ee7a Kibana.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-landing-page_huff5acda2318769e207c260f71a0a5335_74785_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Trang \u0111\u00edch Kibana 6\"><\/p>\n<p>4.Nh\u1ea5p v\u00e0o li\u00ean k\u1ebft&nbsp;<strong>Qu\u1ea3n l\u00fd<\/strong>&nbsp;\u1edf thanh b\u00ean tr\u00e1i ph\u00eda d\u01b0\u1edbi. Trang sau s\u1ebd \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb. Sau \u0111\u00f3, nh\u1ea5p v\u00e0o&nbsp;<strong>M\u1eabu ch\u1ec9 m\u1ee5c<\/strong>&nbsp;\u0111\u1ec3 v\u00e0o trang c\u1ea5u h\u00ecnh M\u1eabu ch\u1ec9 m\u1ee5c.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-management_hufd55eefeffae34adbbb0a610be74beae_62297_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Qu\u1ea3n l\u00fd Kibana 6\"><\/p>\n<p>5.Index Patterns quy\u1ebft \u0111\u1ecbnh c\u00e1ch Kibana hi\u1ec3u c\u00e1c ch\u1ec9 m\u1ee5c c\u00f3 trong Elasticsearch. \u0110\u1ec3 m\u1ed9t s\u1ed1 h\u00ecnh \u1ea3nh tr\u1ef1c quan hi\u1ec3n th\u1ecb \u0111\u00fang, tr\u01b0\u1edbc ti\u00ean ph\u1ea3i c\u1ea5u h\u00ecnh m\u1ed9t m\u1eabu ch\u1ec9 m\u1ee5c m\u1eb7c \u0111\u1ecbnh. Ch\u1ecdn&nbsp;<strong>filebeat-*<\/strong>&nbsp;\u1edf b\u00ean tr\u00e1i trang \u0111\u1ec3 c\u1ea5u h\u00ecnh m\u1eabu ch\u1ec9 m\u1ee5c filebeat-*.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-filebeat-index_huc6139ae0a61ecad9de27fd017aad5ab3_84108_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"M\u1eabu ch\u1ec9 s\u1ed1 Kibana 6\"><\/p>\n<p>6.Nh\u1ea5p v\u00e0o&nbsp;<strong>bi\u1ec3u t\u01b0\u1ee3ng ng\u00f4i sao<\/strong>&nbsp;\u1edf g\u00f3c tr\u00ean b\u00ean ph\u1ea3i c\u1ee7a trang \u0111\u1ec3 \u0111\u1eb7t m\u1eabu ch\u1ec9 m\u1ee5c n\u00e0y l\u00e0m m\u1eabu m\u1eb7c \u0111\u1ecbnh trong Kibana.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-filebeat-default_hu9c6ae259691dc2761bf14b2448c5ea59_80609_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"M\u1eabu ch\u1ec9 m\u1ee5c m\u1eb7c \u0111\u1ecbnh c\u1ee7a Kibana 6\">Kibana hi\u1ec7n \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh \u0111\u00fang v\u1edbi m\u1eabu ch\u1ec9 m\u1ee5c m\u1eb7c \u0111\u1ecbnh.<\/p>\n<p>7.Filebeat v\u00e0 Metricbeat \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng c\u1ea5u h\u00ecnh Elasticsearch v\u00e0 Kibana, do \u0111\u00f3, b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n v\u00e0 m\u1eabu ch\u1ec9 m\u1ee5c \u0111\u01b0\u1ee3c t\u1ea3i v\u00e0 s\u1eb5n s\u00e0ng \u0111\u1ec3 s\u1eed d\u1ee5ng. Nh\u1ea5p v\u00e0o&nbsp;<strong>B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n<\/strong>&nbsp;\u1edf thanh b\u00ean tr\u00e1i, s\u1ebd hi\u1ec3n th\u1ecb trang sau.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-dashboards_hub4798472c6487b5a49d8f4104923b4f3_89128_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n Kibana 6\"><\/p>\n<p>8.Trong thanh T\u00ecm ki\u1ebfm, nh\u1eadp \u201ccontainer\u201d \u0111\u1ec3 hi\u1ec3n th\u1ecb b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n \u0111\u01b0\u1ee3c \u0111i\u1ec1n s\u1eb5n cho c\u00e1c container h\u1ec7 th\u1ed1ng. Nh\u1ea5p v\u00e0o li\u00ean k\u1ebft&nbsp;<strong>T\u1ed5ng quan [Metricbeat Docker]<\/strong>&nbsp;.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-container-dashboards_hu9ceba43cbe853b2944d3838dad5a7987_53551_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n container Kibana 6\"><\/p>\n<p>9.B\u1ea3ng&nbsp;<strong>\u0111i\u1ec1u khi\u1ec3n T\u1ed5ng quan [Metricbeat Docker]<\/strong>&nbsp;s\u1ebd t\u1ea3i, hi\u1ec3n th\u1ecb m\u1ed9t s\u1ed1 kh\u00eda c\u1ea1nh c\u1ee7a s\u1ed1 li\u1ec7u container \u0111ang ch\u1ea1y hi\u1ec7n t\u1ea1i. B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n hi\u1ec3n th\u1ecb danh s\u00e1ch c\u00e1c container \u0111ang ch\u1ea1y, t\u1ed5ng s\u1ed1 container \u0111ang ch\u1ea1y, t\u1ea1m d\u1eebng v\u00e0 d\u1eebng, c\u0169ng nh\u01b0 s\u1ed1 li\u1ec7u v\u1ec1 m\u1ee9c ti\u00eau th\u1ee5 t\u00e0i nguy\u00ean container.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-docker-overview_hu737230eca306445380d22135614c8157_80833_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"T\u1ed5ng quan v\u1ec1 Kibana 6 Docker\">Khi cu\u1ed9n xu\u1ed1ng d\u01b0\u1edbi, b\u1ea1n c\u0169ng s\u1ebd th\u1ea5y bi\u1ec3u \u0111\u1ed3 cho bi\u1ebft m\u1ee9c s\u1eed d\u1ee5ng t\u00e0i nguy\u00ean container theo th\u1eddi gian, bao g\u1ed3m CPU, b\u1ed9 nh\u1edb v\u00e0 ho\u1ea1t \u0111\u1ed9ng m\u1ea1ng.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-docker-resources_hu0ecab186fa103542d68b77cf43595232_61415_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"T\u00e0i nguy\u00ean Docker Kibana 6\"><\/p>\n<p>10.Tr\u01b0\u1edbc khi chuy\u1ec3n sang c\u00e1c h\u00ecnh \u1ea3nh Kibana kh\u00e1c, h\u00e3y t\u1ea1o m\u1ed9t s\u1ed1 ho\u1ea1t \u0111\u1ed9ng nh\u1eadt k\u00fd t\u1eeb nginx b\u1eb1ng c\u00e1ch g\u1eedi y\u00eau c\u1ea7u HTTP \u0111\u1ebfn container l\u1eafng nghe. \u0110\u1ea7u ti\u00ean, h\u00e3y t\u00ecm c\u1ed5ng n\u00e0o m\u00e0 container \u0111ang l\u1eafng nghe y\u00eau c\u1ea7u b\u1eb1ng&nbsp;<code>docker<\/code>l\u1ec7nh:<\/p>\n<pre class=\"wp-block-code\"><code>docker ps\n<\/code><\/pre>\n<p>B\u1ea1n s\u1ebd th\u1ea5y k\u1ebft qu\u1ea3 t\u01b0\u01a1ng t\u1ef1 nh\u01b0 sau:<\/p>\n<pre class=\"wp-block-code\"><code>CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                   NAMES\n3f0c6d284f1f        nginx               \"nginx -g 'daemon of\u2026\"   23 minutes ago      Up 23 minutes       0.0.0.0:32769-&gt;80\/tcp<\/code><\/pre>\n<p>T\u1eeb \u0111\u1ea7u ra n\u00e0y, ch\u00fang ta bi\u1ebft r\u1eb1ng m\u00e1y ch\u1ee7 HTTP c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ti\u1ebfp c\u1eadn b\u1eb1ng c\u00e1ch g\u1eedi y\u00eau c\u1ea7u \u0111\u1ebfn c\u1ed5ng 32769, c\u1ed5ng n\u00e0y \u0111ang \u0111\u01b0\u1ee3c chuy\u1ec3n ti\u1ebfp \u0111\u1ebfn c\u1ed5ng 80 trong v\u00f9ng ch\u1ee9a. C\u1ed5ng tr\u00ean h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 kh\u00e1c.<\/p>\n<p>11.G\u1eedi nhi\u1ec1u y\u00eau c\u1ea7u \u0111\u1ebfn c\u1ed5ng n\u00e0y b\u1eb1ng&nbsp;<code>curl<\/code>l\u1ec7nh, thay th\u1ebf&nbsp;<code>&lt;port&gt;<\/code>b\u1eb1ng s\u1ed1 t\u00ecm \u0111\u01b0\u1ee3c \u1edf b\u01b0\u1edbc tr\u01b0\u1edbc:<\/p>\n<pre class=\"wp-block-code\"><code>for i in $(seq 1 10) ; do curl localhost:&lt;port&gt; ; done\n<\/code><\/pre>\n<p>12.B\u00e2y gi\u1edd m\u1ed9t s\u1ed1 b\u1ea3n ghi c\u00f3 trong Kibana cho container n\u00e0y. Nh\u1ea5p v\u00e0o&nbsp;<strong>Kh\u00e1m ph\u00e1<\/strong>&nbsp;\u1edf thanh b\u00ean tr\u00e1i trong Kibana. N\u00f3 s\u1ebd hi\u1ec3n th\u1ecb m\u00e0n h\u00ecnh sau.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-discover_hud6e5873992dde1db13c2279eedf3ef61_102664_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Kibana 6 Kh\u00e1m ph\u00e1\"><\/p>\n<p>Bi\u1ec3u \u0111\u1ed3 g\u1ea7n \u0111\u1ea7u trang cho bi\u1ebft t\u1ed5ng s\u1ed1 nh\u1eadt k\u00fd container theo th\u1eddi gian.<\/p>\n<p>B\u1ea3ng b\u00ean d\u01b0\u1edbi bi\u1ec3u \u0111\u1ed3 ch\u1ee9a n\u1ed9i dung c\u1ee7a t\u1eebng nh\u1eadt k\u00fd ri\u00eang l\u1ebb.<\/p>\n<p>Nh\u1ea5p v\u00e0o m\u0169i t\u00ean b\u00ean tr\u00e1i d\u1ea5u th\u1eddi gian c\u1ee7a m\u1ed7i nh\u1eadt k\u00fd s\u1ebd hi\u1ec3n th\u1ecb th\u00f4ng tin cho t\u1eebng nh\u1eadt k\u00fd \u0111\u00e3 ch\u1ee5p.<\/p>\n<p>13.H\u00e3y th\u1eed ph\u00e1t h\u00e0nh l\u1ea1i&nbsp;<code>for ...<\/code>l\u1ec7nh tr\u01b0\u1edbc \u0111\u00f3 \u0111\u1ec3 g\u1eedi th\u00eam m\u01b0\u1eddi&nbsp;<code>curl<\/code>y\u00eau c\u1ea7u \u0111\u1ebfn v\u00f9ng ch\u1ee9a v\u00e0 quan s\u00e1t bi\u1ec3u \u0111\u1ed3 nh\u1eadt k\u00fd thay \u0111\u1ed5i nh\u01b0 th\u1ebf n\u00e0o \u0111\u1ec3 ph\u1ea3n \u00e1nh c\u00e1c nh\u1eadt k\u00fd m\u1edbi.<\/p>\n<p>14.Nh\u1ea5p v\u00e0o&nbsp;<strong>Dashboard<\/strong>&nbsp;\u1edf thanh b\u00ean tr\u00e1i, sau \u0111\u00f3 nh\u1ea5p v\u00e0o l\u1ea7n th\u1ee9 hai \u0111\u1ec3 v\u00e0o m\u00e0n h\u00ecnh l\u1ef1a ch\u1ecdn dashboard. T\u00ecm ki\u1ebfm \u201cnginx\u201d trong thanh t\u00ecm ki\u1ebfm.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-nginx-dashboards_hu657dec71c4159be82af7a466cf552120_80518_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n Kibana 6 NGINX\"><\/p>\n<p>15.Nh\u1ea5p v\u00e0o li\u00ean k\u1ebft&nbsp;<strong>[Filebeat Nginx] Nh\u1eadt k\u00fd truy c\u1eadp v\u00e0 l\u1ed7i<\/strong>&nbsp;, trang n\u00e0y s\u1ebd hi\u1ec3n th\u1ecb b\u1ea3ng th\u00f4ng tin v\u1edbi nhi\u1ec1u h\u00ecnh \u1ea3nh tr\u1ef1c quan v\u1ec1 ho\u1ea1t \u0111\u1ed9ng c\u1ee7a nginx.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/kibana-nginx-metricbeat_hu71313b82de395de180dbfa2900282286_66639_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Kibana 6 NGINX Metricbeat\"><\/p>\n<h2 id=\"additional-modules\">C\u00e1c m\u00f4-\u0111un b\u1ed5 sung<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/#additional-modules\"><\/a><\/h2>\n<p>H\u01b0\u1edbng d\u1eabn n\u00e0y \u0111\u00e3 ch\u1ee9ng minh c\u00e1ch Filebeat v\u00e0 Metricbeat c\u00f3 th\u1ec3 t\u1ef1 \u0111\u1ed9ng ghi l\u1ea1i s\u1ed1 li\u1ec7u v\u00e0 nh\u1eadt k\u00fd c\u1ee7a container m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i c\u1ea5u h\u00ecnh r\u00f5 r\u00e0ng \u0111\u01b0\u1eddng d\u1eabn ho\u1eb7c c\u1ea5u h\u00ecnh t\u1ec7p nh\u1eadt k\u00fd. Ngo\u00e0i c\u00e1c v\u00ed d\u1ee5 nginx \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y \u1edf \u0111\u00e2y, c\u00e1c li\u00ean k\u1ebft b\u1ed5 sung \u0111\u01b0\u1ee3c cung c\u1ea5p b\u00ean d\u01b0\u1edbi li\u1ec7t k\u00ea c\u00e1c m\u00f4-\u0111un kh\u00e1c c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c t\u1ea3i v\u00e0o Filebeat v\u00e0 Metricbeat cho c\u00e1c d\u1ecbch v\u1ee5 kh\u00e1c.<\/p>\n<h2 id=\"more-information\">Th\u00f4ng tin th\u00eam<\/h2>\n<p>B\u1ea1n c\u00f3 th\u1ec3 mu\u1ed1n tham kh\u1ea3o c\u00e1c ngu\u1ed3n sau \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin v\u1ec1 ch\u1ee7 \u0111\u1ec1 n\u00e0y. M\u1eb7c d\u00f9 ch\u00fang t\u00f4i cung c\u1ea5p v\u1edbi hy v\u1ecdng r\u1eb1ng ch\u00fang s\u1ebd h\u1eefu \u00edch, nh\u01b0ng xin l\u01b0u \u00fd r\u1eb1ng ch\u00fang t\u00f4i kh\u00f4ng th\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh ch\u00ednh x\u00e1c ho\u1eb7c t\u00ednh k\u1ecbp th\u1eddi c\u1ee7a c\u00e1c t\u00e0i li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef b\u00ean ngo\u00e0i.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.elastic.co\/guide\/en\/beats\/filebeat\/current\/filebeat-modules.html\" target=\"_blank\" rel=\"noreferrer noopener\">C\u00e1c m\u00f4-\u0111un Filebeat<\/a><\/li>\n<li><a href=\"https:\/\/www.elastic.co\/guide\/en\/beats\/metricbeat\/current\/metricbeat-modules.html\" target=\"_blank\" rel=\"noreferrer noopener\">M\u00f4-\u0111un Metricbeat<\/a><\/li>\n<li><a href=\"https:\/\/www.elastic.co\/docker-kubernetes-container-monitoring\" target=\"_blank\" rel=\"noreferrer noopener\">Gi\u00e1m s\u00e1t Container \u0111\u00e0n h\u1ed3i<\/a><\/li>\n<li><a href=\"https:\/\/docs.docker.com\/reference\/\" target=\"_blank\" rel=\"noreferrer noopener\">T\u00e0i li\u1ec7u tham kh\u1ea3o d\u00f2ng l\u1ec7nh Docker<\/a><\/li>\n<\/ul>\n<p>Ngu\u1ed3n: https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elastic&nbsp;Stack&nbsp;c\u00f3 th\u1ec3 gi\u00e1m s\u00e1t nhi\u1ec1u lo\u1ea1i d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c t\u1ea1o ra b\u1edfi c\u00e1c container&nbsp;Docker&nbsp;. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n s\u1ebd thi\u1ebft l\u1eadp Linode \u0111\u1ec3 ph\u00e2n t\u00edch v\u00e0 tr\u1ef1c quan h\u00f3a nh\u1eadt k\u00fd v\u00e0 s\u1ed1 li\u1ec7u container b\u1eb1ng c\u00e1c c\u00f4ng c\u1ee5 nh\u01b0 Kibana, Beats v\u00e0 Elasticsearch. Sau khi ho\u00e0n t\u1ea5t, b\u1ea1n s\u1ebd c\u00f3 th\u1ec3 \u0111\u1ecbnh c\u1ea5u<\/p>\n","protected":false},"author":1,"featured_media":36265,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[108],"tags":[],"class_list":["post-35036","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-containers"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=35036"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35036\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/36265"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=35036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=35036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=35036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}