{"id":35055,"date":"2024-11-01T13:52:01","date_gmt":"2024-11-01T06:52:01","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/11\/01\/monitoring-docker-containers-benefits-best-practices-and-must-have-tools\/"},"modified":"2024-11-01T13:52:01","modified_gmt":"2024-11-01T06:52:01","slug":"monitoring-docker-containers-benefits-best-practices-and-must-have-tools","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/11\/01\/monitoring-docker-containers-benefits-best-practices-and-must-have-tools\/","title":{"rendered":"Gi\u00e1m s\u00e1t Docker Containers: L\u1ee3i \u00edch, Best Practices v\u00e0 c\u00f4ng c\u1ee5 c\u1ea7n c\u00f3"},"content":{"rendered":"<p>T\u00e1m n\u0103m tr\u01b0\u1edbc, container l\u00e0 m\u1ed9t c\u00f4ng ngh\u1ec7 \u0111\u00e3 \u0111\u01b0\u1ee3c bi\u1ebft \u0111\u1ebfn, nh\u01b0ng \u00edt \u0111\u01b0\u1ee3c c\u00f4ng ch\u00fang ch\u1ea5p nh\u1eadn. Sau \u0111\u00f3, Solomon Hykes \u0111\u00e3 t\u1ea1o ra Docker, m\u1ed9t c\u00f4ng ngh\u1ec7 container, gi\u00fap container d\u1ec5 s\u1eed d\u1ee5ng h\u01a1n nhi\u1ec1u. Ng\u00e0y nay, container th\u1ed1ng tr\u1ecb th\u1ebf gi\u1edbi CNTT. Gartner d\u1ef1 \u0111o\u00e1n 70%&nbsp;<a href=\"https:\/\/www.gartner.com\/document\/3955920?ref=solrAll&amp;refval=277254196\" target=\"_blank\" rel=\"noreferrer noopener\">c\u00e1c t\u1ed5 ch\u1ee9c s\u1ebd ch\u1ea1y c\u00e1c \u1ee9ng d\u1ee5ng container<\/a>&nbsp;v\u00e0o n\u0103m 2023.<\/p>\n<p>T\u1ea1i sao? C\u00e1c t\u1ed5 ch\u1ee9c nh\u1eadn ra l\u1ee3i \u00edch c\u1ee7a vi\u1ec7c c\u1ea5u h\u00ecnh d\u1ec5 d\u00e0ng h\u01a1n, tri\u1ec3n khai nhanh h\u01a1n v\u00e0 c\u00f3 th\u1ec3 ch\u1ea1y nhi\u1ec1u kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c h\u01a1n tr\u00ean c\u00f9ng m\u1ed9t ph\u1ea7n c\u1ee9ng v\u1edbi c\u00e1c \u1ee9ng d\u1ee5ng \u0111\u01b0\u1ee3c ch\u1ee9a trong container.<\/p>\n<p>\u0110\u1ec3 s\u1eed d\u1ee5ng container t\u1ed1t nh\u1ea5t c\u00f3 th\u1ec3, vi\u1ec7c gi\u00e1m s\u00e1t container Docker l\u00e0 \u0111i\u1ec1u b\u1eaft bu\u1ed9c. N\u1ebfu kh\u00f4ng c\u00f3 gi\u00e1m s\u00e1t container, b\u1ea1n s\u1ebd \u0111i trong b\u00f3ng t\u1ed1i. B\u1ea1n th\u1ef1c s\u1ef1 kh\u00f4ng th\u1ec3 bi\u1ebft container c\u1ee7a m\u00ecnh ho\u1ea1t \u0111\u1ed9ng t\u1ed1t nh\u01b0 th\u1ebf n\u00e0o, ch\u00fang \u0111ang l\u00e0m g\u00ec ho\u1eb7c ch\u00fang \u0111ang th\u1ef1c hi\u1ec7n c\u00f4ng vi\u1ec7c c\u1ee7a m\u00ecnh t\u1ed1t nh\u01b0 th\u1ebf n\u00e0o.<\/p>\n<p>Ngo\u00e0i ra, n\u1ebfu kh\u00f4ng c\u00f3 gi\u00e1m s\u00e1t container Docker, b\u1ea1n kh\u00f4ng th\u1ec3 bi\u1ebft c\u00e1c d\u1ecbch v\u1ee5 vi m\u00f4 v\u00e0 \u1ee9ng d\u1ee5ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean container ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o. Gi\u00e1m s\u00e1t container cho ph\u00e9p b\u1ea1n bi\u1ebft nh\u1eefng g\u00ec \u0111ang di\u1ec5n ra v\u1edbi ch\u00ednh c\u00e1c container v\u00e0 v\u1edbi c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh l\u1edbn h\u01a1n h\u01b0\u1edbng \u0111\u1ebfn ng\u01b0\u1eddi d\u00f9ng c\u1ee7a b\u1ea1n.<\/p>\n<h2 id=\"docker-container-monitoring-the-basics\">Gi\u00e1m s\u00e1t Docker Container: Nh\u1eefng \u0111i\u1ec1u c\u01a1 b\u1ea3n<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#docker-container-monitoring-the-basics\"><\/a><\/h2>\n<p>M\u1ed9t l\u00fd do ch\u00ednh khi\u1ebfn container tr\u1edf n\u00ean ph\u1ed5 bi\u1ebfn l\u00e0 v\u00ec ch\u00fang ph\u00f9 h\u1ee3p v\u1edbi&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/introduction-ci-cd\/\">T\u00edch h\u1ee3p li\u00ean t\u1ee5c\/Tri\u1ec3n khai li\u00ean t\u1ee5c (CI\/CD)<\/a>&nbsp;. \u0110\u00e2y l\u00e0&nbsp;<a href=\"https:\/\/www.zdnet.com\/article\/what-is-devops-an-executive-guide-to-agile-development-and-it-operations\/\" target=\"_blank\" rel=\"noreferrer noopener\">ph\u01b0\u01a1ng ph\u00e1p DevOps<\/a>&nbsp;\u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 cho ph\u00e9p c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean t\u00edch h\u1ee3p m\u00e3 c\u1ee7a h\u1ecd v\u00e0o kho l\u01b0u tr\u1eef \u0111\u01b0\u1ee3c chia s\u1ebb s\u1edbm v\u00e0 th\u01b0\u1eddng xuy\u00ean. Khi \u0111\u00e3 \u1edf \u0111\u00f3, c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh \u0111\u01b0\u1ee3c ch\u1ee9a trong container s\u1ebd \u0111\u01b0\u1ee3c tri\u1ec3n khai nhanh ch\u00f3ng v\u00e0 hi\u1ec7u qu\u1ea3.<\/p>\n<p>Docker c\u0169ng cho ph\u00e9p c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n \u0111\u00f3ng g\u00f3i, v\u1eadn chuy\u1ec3n v\u00e0 ch\u1ea1y b\u1ea5t k\u1ef3 \u1ee9ng d\u1ee5ng n\u00e0o d\u01b0\u1edbi d\u1ea1ng m\u1ed9t container nh\u1eb9, di \u0111\u1ed9ng, t\u1ef1 cung t\u1ef1 c\u1ea5p, c\u00f3 th\u1ec3 ch\u1ea1y h\u1ea7u nh\u01b0 \u1edf b\u1ea5t k\u1ef3 \u0111\u00e2u. Container cung c\u1ea5p cho b\u1ea1n kh\u1ea3 n\u0103ng di \u0111\u1ed9ng \u1ee9ng d\u1ee5ng ngay l\u1eadp t\u1ee9c.<\/p>\n<p>Container th\u1ef1c hi\u1ec7n \u0111i\u1ec1u n\u00e0y b\u1eb1ng c\u00e1ch cho ph\u00e9p c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f4 l\u1eadp m\u00e3 v\u00e0o m\u1ed9t container duy nh\u1ea5t, gi\u00fap vi\u1ec7c s\u1eeda \u0111\u1ed5i v\u00e0 c\u1eadp nh\u1eadt ch\u01b0\u01a1ng tr\u00ecnh hi\u1ec7u qu\u1ea3 h\u01a1n. N\u00f3 cho ph\u00e9p c\u00e1c doanh nghi\u1ec7p chia nh\u1ecf c\u00e1c d\u1ef1 \u00e1n ph\u00e1t tri\u1ec3n l\u1edbn th\u00e0nh nhi\u1ec1u nh\u00f3m Agile nh\u1ecf h\u01a1n b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c \u0111\u01b0\u1eddng \u1ed1ng CI\/CD \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng ph\u00e2n ph\u1ed1i m\u00e3 m\u1edbi v\u00e0 \u0111\u00e3 c\u1eadp nh\u1eadt th\u00f4ng qua container.<\/p>\n<p>Cu\u1ed1i c\u00f9ng, v\u00e0 c\u00f3 l\u1ebd l\u00e0 \u0111i\u1ec3m quan tr\u1ecdng nh\u1ea5t \u0111\u1ed1i v\u1edbi c\u00e1c doanh nghi\u1ec7p, container cho ph\u00e9p c\u00e1c c\u00f4ng ty t\u1ed1i \u0111a h\u00f3a ph\u1ea7n c\u1ee9ng v\u00e0 t\u00e0i nguy\u00ean \u0111\u00e1m m\u00e2y. Nh\u01b0 James Bottomley, c\u1ef1u gi\u00e1m \u0111\u1ed1c c\u00f4ng ngh\u1ec7 \u1ea3o h\u00f3a m\u00e1y ch\u1ee7 c\u1ee7a Parallels v\u00e0 l\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n h\u1ea1t nh\u00e2n Linux h\u00e0ng \u0111\u1ea7u, \u0111\u00e3 gi\u1ea3i th\u00edch, \u201cC\u00e1c tr\u00ecnh qu\u1ea3n l\u00fd \u1ea3o h\u00f3a m\u00e1y \u1ea3o, ch\u1eb3ng h\u1ea1n nh\u01b0 Hyper-V, KVM v\u00e0 Xen, \u0111\u1ec1u d\u1ef1a tr\u00ean vi\u1ec7c m\u00f4 ph\u1ecfng ph\u1ea7n c\u1ee9ng \u1ea3o. \u0110i\u1ec1u \u0111\u00f3 c\u00f3 ngh\u0129a l\u00e0 ch\u00fang r\u1ea5t t\u1ed1n k\u00e9m v\u1ec1 m\u1eb7t y\u00eau c\u1ea7u h\u1ec7 th\u1ed1ng.&#8221;<\/p>\n<p>Tuy nhi\u00ean, container s\u1eed d\u1ee5ng h\u1ec7 \u0111i\u1ec1u h\u00e0nh chia s\u1ebb n\u00ean ch\u00fang m\u1ecfng h\u01a1n nhi\u1ec1u so v\u1edbi hypervisor v\u1ec1 m\u1eb7t t\u00e0i nguy\u00ean h\u1ec7 th\u1ed1ng. Thay v\u00ec \u1ea3o h\u00f3a ph\u1ea7n c\u1ee9ng, container n\u1eb1m tr\u00ean m\u1ed9t phi\u00ean b\u1ea3n Linux duy nh\u1ea5t. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n c\u00f3 th\u1ec3 &#8220;b\u1ecf l\u1ea1i 99,9 ph\u1ea7n tr\u0103m r\u00e1c VM v\u00f4 d\u1ee5ng, \u0111\u1ec3 l\u1ea1i cho b\u1ea1n m\u1ed9t vi\u00ean nang nh\u1ecf g\u1ecdn, g\u1ecdn g\u00e0ng ch\u1ee9a \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n&#8221;, nh\u01b0 Bottomley \u0111\u00e3 n\u00f3i. N\u00f3i c\u00e1ch kh\u00e1c, v\u1edbi m\u1ed9t h\u1ec7 th\u1ed1ng container \u0111\u01b0\u1ee3c \u0111i\u1ec1u ch\u1ec9nh t\u1ed1t, b\u1ea1n c\u00f3 th\u1ec3 c\u00f3 t\u1edbi b\u1ed1n \u0111\u1ebfn s\u00e1u container ch\u1ea1y tr\u00ean m\u1ed9t h\u1ec7 th\u1ed1ng m\u00e0 tr\u01b0\u1edbc \u0111\u00e2y ch\u1ec9 c\u00f3 th\u1ec3 ch\u1ea1y m\u1ed9t phi\u00ean b\u1ea3n duy nh\u1ea5t.<\/p>\n<p>Ng\u00e0y nay, c\u00f3 nhi\u1ec1u lo\u1ea1i n\u1ec1n t\u1ea3ng container. Trong khi Docker l\u00e0 n\u1ec1n t\u1ea3ng n\u1ed5i ti\u1ebfng nh\u1ea5t, c\u00f2n c\u00f3&nbsp;<a href=\"https:\/\/linuxcontainers.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">LXC<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/github.com\/opencontainers\/runc\" target=\"_blank\" rel=\"noreferrer noopener\">runC<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/containerd.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">containerd<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/podman.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">podman<\/a>&nbsp;. T\u1ea5t c\u1ea3 ch\u00fang \u0111\u1ec1u th\u1ef1c hi\u1ec7n c\u00e1c ch\u1ee9c n\u0103ng t\u01b0\u01a1ng t\u1ef1 v\u00e0 ph\u1ea7n l\u1edbn c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd b\u1eb1ng c\u00f9ng m\u1ed9t c\u00f4ng c\u1ee5.<\/p>\n<h2 id=\"what-is-docker\">Docker l\u00e0 g\u00ec?<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#what-is-docker\"><\/a><\/h2>\n<p>V\u1eady, Docker c\u1ee5 th\u1ec3 l\u00e0 g\u00ec? Docker \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean LXC. Gi\u1ed1ng nh\u01b0 b\u1ea5t k\u1ef3 container n\u00e0o kh\u00e1c, \u0111\u1ed1i v\u1edbi b\u1ea5t k\u1ef3 ch\u01b0\u01a1ng tr\u00ecnh n\u00e0o ch\u1ea1y tr\u00ean Docker, n\u00f3 c\u00f3 h\u1ec7 th\u1ed1ng t\u1ec7p, b\u1ed9 nh\u1edb, CPU v\u00e0 RAM ri\u00eang. S\u1ef1 kh\u00e1c bi\u1ec7t ch\u00ednh gi\u1eefa container v\u00e0 VM l\u00e0 trong khi hypervisor tr\u1eebu t\u01b0\u1ee3ng h\u00f3a to\u00e0n b\u1ed9 thi\u1ebft b\u1ecb, container ch\u1ec9 tr\u1eebu t\u01b0\u1ee3ng h\u00f3a h\u1ea1t nh\u00e2n h\u1ec7 \u0111i\u1ec1u h\u00e0nh. T\u1ea5t c\u1ea3 c\u00e1c l\u1ee3i \u00edch c\u1ee7a Docker ch\u1ec9 \u0111\u1ebfn t\u1eeb c\u01a1 ch\u1ebf \u0111\u01a1n gi\u1ea3n \u0111\u00f3.<\/p>\n<p>T\u1ea1i sao n\u00f3 l\u1ea1i th\u00e0nh c\u00f4ng khi nh\u1eefng ng\u01b0\u1eddi ti\u1ec1n nhi\u1ec7m c\u1ee7a n\u00f3 nh\u01b0&nbsp;<a href=\"https:\/\/docs.freebsd.org\/en\/books\/handbook\/jails\/\" target=\"_blank\" rel=\"noreferrer noopener\">FreeBSD Jails<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/docs.oracle.com\/cd\/E19044-01\/sol.containers\/817-1592\/zones.intro-5\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle Solaris Zones<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/openvz.org\/Main_Page\" target=\"_blank\" rel=\"noreferrer noopener\">OpenVZ<\/a>&nbsp;cho ph\u00e9p c\u00e1c container ho\u1ea1t \u0111\u1ed9ng t\u1ed1t v\u00e0 an to\u00e0n, nh\u01b0ng l\u1ea1i \u00edt th\u00e0nh c\u00f4ng tr\u00ean th\u1ecb tr\u01b0\u1eddng? \u1ede m\u1ed9t m\u1ee9c \u0111\u1ed9 n\u00e0o \u0111\u00f3, c\u00e1c container \u0111\u00e3 th\u00e0nh c\u00f4ng nh\u01b0ng v\u00f4 h\u00ecnh. V\u00ed d\u1ee5, Google \u0111\u00e3 s\u1eed d\u1ee5ng ch\u01b0\u01a1ng tr\u00ecnh container m\u00e3 ngu\u1ed3n m\u1edf c\u1ee7a ri\u00eang m\u00ecnh&nbsp;<a href=\"https:\/\/github.com\/google\/lmctfy\" target=\"_blank\" rel=\"noreferrer noopener\">l\u00e0 lmctfy (Let Me Contain That For You)<\/a>&nbsp;trong h\u01a1n m\u1ed9t th\u1eadp k\u1ef7. B\u1ea5t c\u1ee9 khi n\u00e0o b\u1ea1n s\u1eed d\u1ee5ng ch\u1ee9c n\u0103ng c\u1ee7a Google, v\u00ed d\u1ee5 nh\u01b0 T\u00ecm ki\u1ebfm, Gmail, Google Docs, th\u00ec n\u00f3 \u0111ang ch\u1ea1y trong m\u1ed9t container v\u00f4 h\u00ecnh.<\/p>\n<p>Docker mang l\u1ea1i l\u1ee3i \u00edch l\u00e0 l\u00e0m cho container an to\u00e0n h\u01a1n v\u00e0 hi\u1ec7u qu\u1ea3 h\u01a1n khi tri\u1ec3n khai v\u00e0 s\u1eed d\u1ee5ng so v\u1edbi c\u00e1c ph\u01b0\u01a1ng ph\u00e1p tr\u01b0\u1edbc \u0111\u00e2y. Ngo\u00e0i ra, v\u00ec quan h\u1ec7 \u0111\u1ed1i t\u00e1c c\u1ee7a Docker v\u1edbi c\u00e1c th\u1ebf l\u1ef1c container kh\u00e1c, bao g\u1ed3m Canonical, Google, Red Hat v\u00e0 Parallels, tr\u00ean&nbsp;<a href=\"https:\/\/www.zdnet.com\/article\/docker-libcontainer-unifies-linux-container-powers\/\" target=\"_blank\" rel=\"noreferrer noopener\">th\u00e0nh ph\u1ea7n m\u00e3 ngu\u1ed3n m\u1edf ch\u00ednh libcontainer<\/a>&nbsp;, mang l\u1ea1i s\u1ef1 chu\u1ea9n h\u00f3a r\u1ea5t c\u1ea7n thi\u1ebft cho container.<\/p>\n<p><a href=\"https:\/\/www.docker.com\/docker-news-and-press\/industry-leaders-unite-create-project-open-container-standards\" target=\"_blank\" rel=\"noreferrer noopener\">Docker t\u1eb7ng<\/a>&nbsp;\u0111\u1ecbnh d\u1ea1ng container libcontainers v\u00e0 th\u1eddi gian ch\u1ea1y c\u1ee7a n\u00f3, c\u0169ng nh\u01b0 c\u00e1c th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt li\u00ean quan, cho&nbsp;<a href=\"http:\/\/www.opencontainers.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">D\u1ef1 \u00e1n Open Container<\/a>&nbsp;c\u1ee7a Qu\u1ef9 Linux . C\u1ee5 th\u1ec3, \u0111i\u1ec1u n\u00e0y bao g\u1ed3m&nbsp;<a href=\"https:\/\/www.opencontainers.org\/faq%23n12\" target=\"_blank\" rel=\"noreferrer noopener\">to\u00e0n b\u1ed9 n\u1ed9i dung c\u1ee7a d\u1ef1 \u00e1n libcontainer<\/a>&nbsp;, bao g\u1ed3m nsinit, v\u00e0 t\u1ea5t c\u1ea3 c\u00e1c s\u1eeda \u0111\u1ed5i c\u1ea7n thi\u1ebft \u0111\u1ec3 ch\u1ea1y \u0111\u1ed9c l\u1eadp v\u1edbi Docker.<\/p>\n<p>Docker&nbsp;<a href=\"https:\/\/www.zdnet.com\/article\/a-big-step-forward-in-container-standardization\/\" target=\"_blank\" rel=\"noreferrer noopener\">ti\u1ebfp t\u1ee5c l\u00e0m vi\u1ec7c<\/a>&nbsp;tr\u00ean c\u00e1c n\u1ed7 l\u1ef1c chu\u1ea9n h\u00f3a container kh\u00e1c. V\u00ed d\u1ee5,&nbsp;<a href=\"https:\/\/blog.docker.com\/2017\/08\/what-is-containerd-runtime\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker \u0111\u00e3 t\u1eb7ng containerd<\/a>&nbsp;, th\u1eddi gian ch\u1ea1y container ngu\u1ed3n m\u1edf c\u1ee7a m\u00ecnh, cho&nbsp;<a href=\"https:\/\/www.cncf.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Native Computing Foundation (CNCF)<\/a>&nbsp;. Chu\u1ea9n h\u00f3a \u0111\u00f3ng vai tr\u00f2 r\u1ea5t l\u1edbn trong vi\u1ec7c gi\u00fap Docker th\u00e0nh c\u00f4ng.<\/p>\n<p>Kh\u00f4ng gi\u1ed1ng nh\u01b0 c\u00e1c c\u00f4ng ngh\u1ec7 container kh\u00e1c, Docker c\u0169ng h\u1ed7 tr\u1ee3 m\u1ea1ng \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh b\u1eb1ng ph\u1ea7n m\u1ec1m (SDN). \u0110i\u1ec1u n\u00e0y cho ph\u00e9p c\u00e1c nh\u00f3m DevOps x\u00e1c \u0111\u1ecbnh m\u1ea1ng cho container m\u00e0 kh\u00f4ng c\u1ea7n lo l\u1eafng v\u1ec1 vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i ph\u1ea7n c\u1ee9ng. Thay v\u00e0o \u0111\u00f3, h\u1ecd thi\u1ebft l\u1eadp c\u00e1c c\u1ea5u tr\u00fac m\u1ea1ng ph\u1ee9c t\u1ea1p v\u00e0 x\u00e1c \u0111\u1ecbnh m\u1ea1ng th\u00f4ng qua c\u00e1c t\u1ec7p c\u1ea5u h\u00ecnh.<\/p>\n<p>\u0110\u1ed3ng th\u1eddi, SDN v\u00e0&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/deploying-microservices-with-docker\/\">Docker gi\u00fap khai th\u00e1c c\u00e1c d\u1ecbch v\u1ee5 si\u00eau nh\u1ecf<\/a>&nbsp;. C\u00f9ng nhau, ch\u00fang gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng hi\u1ec7u qu\u1ea3 h\u01a1n t\u1eeb c\u00e1c d\u1ecbch v\u1ee5 k\u1ebft h\u1ee3p l\u1ecfng l\u1ebbo ho\u1ea1t \u0111\u1ed9ng c\u00f9ng nhau th\u00f4ng qua c\u00e1c giao th\u1ee9c n\u1ed5i ti\u1ebfng nh\u01b0 HTTP v\u00e0 TCP.<\/p>\n<p>Cu\u1ed1i c\u00f9ng, th\u00e0nh c\u00f4ng c\u1ee7a Docker c\u00f3 \u0111\u01b0\u1ee3c l\u00e0 nh\u1edd v\u00e0o vi\u1ec7c \u0111\u00e2y l\u00e0 c\u00f4ng ngh\u1ec7 m\u1edf ph\u00f9 h\u1ee3p v\u00e0o \u0111\u00fang th\u1eddi \u0111i\u1ec3m gi\u00fap ng\u01b0\u1eddi d\u00f9ng t\u1eadn d\u1ee5ng cu\u1ed9c c\u00e1ch m\u1ea1ng \u0111i\u1ec7n to\u00e1n \u0111\u00e1m m\u00e2y.<\/p>\n<h2 id=\"what-is-container-monitoring\">Gi\u00e1m s\u00e1t Container l\u00e0 g\u00ec?<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#what-is-container-monitoring\"><\/a><\/h2>\n<p>M\u1ed9t k\u1ecbch b\u1ea3n ph\u1ed5 bi\u1ebfn \u0111\u1ed1i v\u1edbi c\u00e1c doanh nghi\u1ec7p l\u00e0 h\u1ecd s\u1eed d\u1ee5ng Docker v\u00e0 c\u00f3 h\u00e0ng tr\u0103m \u0111\u1ebfn h\u00e0ng tr\u0103m ngh\u00ecn container ch\u1ea1y c\u00e1c \u1ee9ng d\u1ee5ng quan tr\u1ecdng \u0111\u1ed1i v\u1edbi c\u00f4ng ty c\u1ee7a b\u1ea1n. \u0110\u1ec3 s\u1eafp x\u1ebfp ch\u00fang, r\u1ea5t c\u00f3 th\u1ec3 h\u1ecd \u0111ang s\u1eed d\u1ee5ng&nbsp;<a href=\"https:\/\/kubernetes.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kubernetes<\/a>&nbsp;. Nh\u01b0 CTO c\u1ee7a CNCF Chris Aniszczyk cho bi\u1ebft, c\u00f3 m\u1ed9t kho\u1ea3ng c\u00e1ch ng\u00e0y c\u00e0ng l\u1edbn trong vi\u1ec7c hi\u1ec3u r\u1eb1ng&nbsp;<a href=\"https:\/\/www.cncf.io\/announcements\/2022\/02\/10\/cncf-sees-record-kubernetes-and-container-adoption-in-2021-cloud-native-survey\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kubernetes v\u00e0 container v\u1ec1 c\u01a1 b\u1ea3n l\u00e0 m\u1ed9t g\u00f3i th\u1ecfa thu\u1eadn<\/a>&nbsp;. C\u00f3 nh\u1eefng ch\u01b0\u01a1ng tr\u00ecnh s\u1eafp x\u1ebfp container kh\u00e1c, nh\u01b0ng Kubernetes l\u00e0 c\u00f4ng ty d\u1eabn \u0111\u1ea7u th\u1ecb tr\u01b0\u1eddng \u00e1p \u0111\u1ea3o. Trong s\u1ed1 \u0111\u00f3,&nbsp;<a href=\"https:\/\/www.datadoghq.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Datadog<\/a>&nbsp;b\u00e1o c\u00e1o r\u1eb1ng g\u1ea7n 90% ng\u01b0\u1eddi d\u00f9ng Kubernetes t\u1eadn d\u1ee5ng c\u00e1c d\u1ecbch v\u1ee5 \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd tr\u00ean n\u1ec1n t\u1ea3ng \u0111\u00e1m m\u00e2y, t\u0103ng t\u1eeb g\u1ea7n 70% v\u00e0o n\u0103m 2020.<\/p>\n<p>\u0110i\u1ec1u \u0111\u00f3 th\u1eadt tuy\u1ec7t v\u1eddi. Nh\u01b0ng Kubernetes ki\u1ec3m so\u00e1t, tri\u1ec3n khai v\u00e0 m\u1edf r\u1ed9ng c\u00e1c container. N\u00f3 kh\u00f4ng gi\u00e1m s\u00e1t ch\u00fang.<\/p>\n<p>Gi\u00e1m s\u00e1t r\u1ea5t ph\u1ee9c t\u1ea1p. C\u00e1c container l\u00e0 t\u1ea1m th\u1eddi. Ch\u00fang quay l\u00ean v\u00e0 xu\u1ed1ng trong v\u00e0i ph\u00fat. M\u1ed9t&nbsp;<a href=\"https:\/\/www.datadoghq.com\/container-report\/%23five\" target=\"_blank\" rel=\"noreferrer noopener\">container Kubernetes trung b\u00ecnh ch\u1ec9 t\u1ed3n t\u1ea1i trong m\u1ed9t ng\u00e0y<\/a>&nbsp;. C\u00e1c c\u00f4ng c\u1ee5 b\u1ea1n s\u1eed d\u1ee5ng \u0111\u1ec3 gi\u00e1m s\u00e1t c\u00e1c \u1ee9ng d\u1ee5ng truy\u1ec1n th\u1ed1ng ch\u1ea1y tr\u00ean m\u00e1y ch\u1ee7 \u1ea3o ho\u1eb7c m\u00e1y ch\u1ee7 bare metal kh\u00f4ng \u0111\u1ee7 kh\u1ea3 n\u0103ng th\u1ef1c hi\u1ec7n nhi\u1ec7m v\u1ee5. V\u00e0o th\u1eddi \u0111i\u1ec3m ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t c\u1ee7a b\u1ea1n y\u00eau c\u1ea7u b\u00e1o c\u00e1o, container c\u00f3 th\u1ec3 \u0111\u00e3 bi\u1ebfn m\u1ea5t kh\u1ecfi t\u1ea7m nh\u00ecn, mang theo m\u1ecdi nh\u1eadt k\u00fd b\u00ean trong.<\/p>\n<h2 id=\"the-benefits-of-container-monitoring\">L\u1ee3i \u00edch c\u1ee7a vi\u1ec7c gi\u00e1m s\u00e1t container<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#the-benefits-of-container-monitoring\"><\/a><\/h2>\n<p>M\u1eb7c d\u00f9 ph\u1ee9c t\u1ea1p, nh\u01b0ng vi\u1ec7c gi\u00e1m s\u00e1t container l\u00e0 r\u1ea5t quan tr\u1ecdng. Nh\u01b0 qu\u1ea3n tr\u1ecb vi\u00ean h\u1ec7 th\u1ed1ng Gary Williams \u0111\u00e3 n\u00f3i, &#8221;&nbsp;<a href=\"https:\/\/www.starwindsoftware.com\/blog\/you-cant-have-too-much-monitoring\" target=\"_blank\" rel=\"noreferrer noopener\">B\u1ea1n kh\u00f4ng th\u1ec3 gi\u00e1m s\u00e1t qu\u00e1 nhi\u1ec1u<\/a>&nbsp;&#8220;. Gary n\u00f3i \u0111\u00fang.<\/p>\n<p>L\u1ee3i \u00edch c\u1ee7a vi\u1ec7c gi\u00e1m s\u00e1t container bao g\u1ed3m:<\/p>\n<ul>\n<li>X\u00e1c \u0111\u1ecbnh v\u1ea5n \u0111\u1ec1 m\u1ed9t c\u00e1ch ch\u1ee7 \u0111\u1ed9ng \u0111\u1ec3 tr\u00e1nh t\u00ecnh tr\u1ea1ng ng\u1eebng ho\u1ea1t \u0111\u1ed9ng c\u1ee7a h\u1ec7 th\u1ed1ng.<\/li>\n<li>Theo d\u00f5i d\u1eef li\u1ec7u chu\u1ed7i th\u1eddi gian \u0111\u1ec3 gi\u00fap \u1ee9ng d\u1ee5ng ch\u1ea1y t\u1ed1t h\u01a1n.<\/li>\n<li>T\u1ed1i \u01b0u h\u00f3a ph\u00e2n b\u1ed5 ngu\u1ed3n l\u1ef1c.<\/li>\n<li>Ph\u00e1t hi\u1ec7n v\u1ea5n \u0111\u1ec1 s\u1edbm nh\u1ea5t c\u00f3 th\u1ec3 \u0111\u1ec3 gi\u1ea3i quy\u1ebft nhanh ch\u00f3ng.<\/li>\n<\/ul>\n<p>Gi\u00e1m s\u00e1t container c\u0169ng r\u1ea5t quan tr\u1ecdng v\u00ec c\u00e1c \u1ee9ng d\u1ee5ng d\u1ef1a tr\u00ean container li\u00ean t\u1ee5c b\u1ecb t\u1ea5n c\u00f4ng b\u1edfi ransomware v\u00e0 c\u00e1c cu\u1ed9c t\u1ea5n c\u00f4ng ti\u1ec1n \u0111i\u1ec7n t\u1eed. T\u00f3m l\u1ea1i, c\u1ea3 v\u1ec1 m\u1eb7t b\u1ea3o m\u1eadt v\u00e0 hi\u1ec7u su\u1ea5t, vi\u1ec7c gi\u00e1m s\u00e1t container c\u1ee7a b\u1ea1n l\u00e0 \u0111i\u1ec1u b\u1eaft bu\u1ed9c. \u0110\u00e2y l\u00e0 nh\u1eefng l\u00fd do t\u01b0\u01a1ng t\u1ef1 m\u00e0 b\u1ea1n gi\u00e1m s\u00e1t t\u1ea5t c\u1ea3 c\u00e1c h\u1ec7 th\u1ed1ng c\u1ee7a m\u00ecnh v\u00e0 container c\u0169ng kh\u00f4ng ngo\u1ea1i l\u1ec7.<\/p>\n<p>C\u00e1c ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t ph\u1ea3i \u0111\u1ed1i m\u1eb7t v\u1edbi nh\u1eefng th\u00e1ch th\u1ee9c kh\u00e1c khi thu th\u1eadp d\u1eef li\u1ec7u kh\u1ea3 n\u0103ng quan s\u00e1t t\u1eeb c\u00e1c container. C\u00f3 m\u1ed9t s\u1ed1 ph\u01b0\u01a1ng ph\u00e1p thu th\u1eadp d\u1eef li\u1ec7u. Ch\u00fang bao g\u1ed3m:<\/p>\n<ul>\n<li>Tri\u1ec3n khai t\u00e1c nh\u00e2n gi\u00e1m s\u00e1t chuy\u00ean d\u1ee5ng l\u00e0m \u1ee9ng d\u1ee5ng l\u01b0u tr\u1eef ho\u1eb7c v\u00f9ng ch\u1ee9a.<\/li>\n<li>Tri\u1ec3n khai b\u1ed9 \u0111\u1ecbnh tuy\u1ebfn nh\u1eadt k\u00fd \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng thu th\u1eadp nh\u1eadt k\u00fd do c\u00e1c container t\u1ea1o ra.<\/li>\n<li>S\u1eed d\u1ee5ng&nbsp;<a href=\"https:\/\/docs.docker.com\/config\/containers\/logging\/configure\/\" target=\"_blank\" rel=\"noreferrer noopener\">tr\u00ecnh \u0111i\u1ec1u khi\u1ec3n ghi nh\u1eadt k\u00fd Docker<\/a>&nbsp;\u0111\u1ec3 l\u01b0u tr\u1eef nh\u1eadt k\u00fd container v\u00e0o m\u00e1y ch\u1ee7.<\/li>\n<li>Thu th\u1eadp s\u1ed1 li\u1ec7u th\u00f4ng qua&nbsp;<a href=\"https:\/\/docs.docker.com\/config\/containers\/runmetrics\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker stats<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/kubernetes.io\/docs\/tasks\/debug-application-cluster\/resource-metrics-pipeline\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u0111\u01b0\u1eddng d\u1eabn s\u1ed1 li\u1ec7u Kubernetes<\/a>&nbsp;ho\u1eb7c API t\u01b0\u01a1ng t\u1ef1.<\/li>\n<\/ul>\n<p>Gi\u00e1m s\u00e1t container bao g\u1ed3m c\u00e1c s\u1ed1 li\u1ec7u c\u01a1 b\u1ea3n nh\u01b0 s\u1eed d\u1ee5ng b\u1ed9 nh\u1edb, s\u1eed d\u1ee5ng CPU, gi\u1edbi h\u1ea1n CPU v\u00e0 gi\u1edbi h\u1ea1n b\u1ed9 nh\u1edb. Ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t c\u1ee7a b\u1ea1n c\u0169ng n\u00ean cung c\u1ea5p nh\u1eadt k\u00fd ph\u00e1t tr\u1ef1c tuy\u1ebfn theo th\u1eddi gian th\u1ef1c, theo d\u00f5i v\u00e0 kh\u1ea3 n\u0103ng quan s\u00e1t.<\/p>\n<p>\u1ede c\u1ea5p \u0111\u1ed9 cao h\u01a1n, b\u00ean c\u1ea1nh vi\u1ec7c thu th\u1eadp v\u00e0 t\u1eadp trung d\u1eef li\u1ec7u gi\u00e1m s\u00e1t t\u1eeb c\u00e1c container v\u00e0 m\u00e1y ch\u1ee7 c\u1ee7a ch\u00fang, b\u1ea1n c\u1ea7n thu th\u1eadp v\u00e0 ph\u00e2n t\u00edch to\u00e0n b\u1ed9 d\u1eef li\u1ec7u c\u1ee7a \u1ee9ng d\u1ee5ng, thay v\u00ec t\u1eebng container ri\u00eang l\u1ebb.<\/p>\n<p>Nh\u01b0 Minh Dao c\u1ee7a&nbsp;<a href=\"https:\/\/www.logdna.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">LogDNA<\/a>&nbsp;\u0111\u00e3 n\u00f3i, &#8220;h\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng r\u1eb1ng b\u1ea1n c\u00f3 m\u1ed9t \u1ee9ng d\u1ee5ng web ba t\u1ea7ng, v\u1edbi m\u1ed7i t\u1ea7ng ch\u1ea1y nh\u01b0 m\u1ed9t container ri\u00eang bi\u1ec7t. B\u00e2y gi\u1edd h\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng r\u1eb1ng t\u1ea7ng ph\u1ee5 tr\u1ee3 c\u1ee7a b\u1ea1n \u0111\u1ed9t nhi\u00ean b\u1eaft \u0111\u1ea7u t\u1ea1o ra l\u1ed7i v\u00e0 c\u00e1c container b\u1ecb s\u1eadp do \u0111\u00f3. Vi\u1ec7c k\u00e9o nh\u1eadt k\u00fd v\u00e0 s\u1ed1 li\u1ec7u t\u1eeb c\u00e1c container ri\u00eang l\u1ebb s\u1ebd gi\u00fap ph\u00e2n t\u00edch nguy\u00ean nh\u00e2n g\u1ed1c r\u1ec5, nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 s\u1ebd kh\u00f4ng gi\u00fap b\u1ea1n th\u1ea5y l\u1ed7i trong b\u1ed1i c\u1ea3nh c\u1ee7a to\u00e0n b\u1ed9 \u1ee9ng d\u1ee5ng. V\u1ea5n&nbsp;<a href=\"https:\/\/thenewstack.io\/how-container-lifespan-affects-observability\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u0111\u1ec1 c\u00f3 th\u1ec3 l\u00e0 c\u1ee5 th\u1ec3 \u0111\u1ed1i v\u1edbi container ho\u1eb7c c\u00f3 th\u1ec3 ch\u1ec9 ra m\u1ed9t v\u1ea5n \u0111\u1ec1 r\u1ed9ng h\u01a1n, tr\u00ean to\u00e0n \u1ee9ng d\u1ee5ng.<\/a>&nbsp;&#8220;<\/p>\n<p>K\u1ebft h\u1ee3p t\u1ea5t c\u1ea3 l\u1ea1i v\u1edbi nhau th\u00ec kh\u00f4ng c\u00f2n nghi ng\u1edd g\u00ec n\u1eefa. B\u1ea1n ph\u1ea3i theo d\u00f5i c\u00e1c th\u00f9ng ch\u1ee9a c\u1ee7a m\u00ecnh.<\/p>\n<h2 id=\"the-five-best-container-monitoring-tools\">N\u0103m c\u00f4ng c\u1ee5 gi\u00e1m s\u00e1t container t\u1ed1t nh\u1ea5t<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#the-five-best-container-monitoring-tools\"><\/a><\/h2>\n<p>Nhi\u1ec1u ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t container t\u1ed1t nh\u1ea5t l\u00e0 c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh m\u00e3 ngu\u1ed3n m\u1edf. Linode cung c\u1ea5p nh\u1eefng \u0111i\u1ec1u c\u01a1 b\u1ea3n \u0111\u1ec3 b\u1eaft \u0111\u1ea7u v\u1edbi ng\u0103n x\u1ebfp Elasticsearch, Logstash v\u00e0 Kibana (ELK) b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-monitor-containers-with-the-elastic-stack\/\">Filebeat v\u00e0 Metricbeat v\u1edbi Kibana<\/a>&nbsp;v\u00e0 ph\u00e2n t\u00edch chu\u1ed7i th\u1eddi gian v\u1edbi&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/install-graphite-and-grafana\/\">Graphite v\u00e0 Grafana Dashboard<\/a>&nbsp;. V\u1edbi m\u1ed9t ch\u00fat n\u1ed7 l\u1ef1c, b\u1ea1n c\u00f3 th\u1ec3 x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t container c\u1ee7a ri\u00eang m\u00ecnh.<\/p>\n<p>C\u00e1c ch\u01b0\u01a1ng tr\u00ecnh trong danh s\u00e1ch d\u01b0\u1edbi \u0111\u00e2y \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp theo th\u1ee9 t\u1ef1 b\u1ea3ng ch\u1eef c\u00e1i, kh\u00f4ng theo th\u1ee9 t\u1ef1 t\u1eeb t\u1ed1t nh\u1ea5t \u0111\u1ebfn t\u1ec7 nh\u1ea5t. \u0110\u00f3 l\u00e0 v\u00ec b\u1ea1n kh\u00f4ng th\u1ec3 x\u1ebfp h\u1ea1ng ch\u00fang m\u1ed9t c\u00e1ch c\u00f4ng b\u1eb1ng. T\u1ea5t c\u1ea3 ch\u00fang \u0111\u1ec1u c\u00f3 \u0111i\u1ec3m m\u1ea1nh v\u00e0 \u0111i\u1ec3m y\u1ebfu ri\u00eang v\u00e0 th\u01b0\u1eddng \u0111o l\u01b0\u1eddng c\u00e1c s\u1ed1 li\u1ec7u kh\u00e1c nhau. V\u00ec v\u1eady, kh\u1ea3 n\u0103ng l\u00e0 n\u1ebfu b\u1ea1n nghi\u00eam t\u00fac mu\u1ed1n theo d\u00f5i ch\u1eb7t ch\u1ebd c\u00e1c container c\u1ee7a m\u00ecnh, b\u1ea1n c\u1ea7n s\u1eed d\u1ee5ng m\u1ed9t s\u1ed1 ch\u01b0\u01a1ng tr\u00ecnh n\u00e0y.<\/p>\n<h3 id=\"container-advisor-cadvisor\">C\u1ed1 v\u1ea5n Container (cAdvisor)<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#container-advisor-cadvisor\"><\/a><\/h3>\n<p><a href=\"https:\/\/github.com\/google\/cadvisor\" target=\"_blank\" rel=\"noreferrer noopener\">Container Advisor (cAdvisor)<\/a>&nbsp;c\u1ee7a Google&nbsp;l\u00e0 m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t m\u00e3 ngu\u1ed3n m\u1edf. N\u00f3 ch\u1ea1y nh\u01b0 m\u1ed9t daemon thu th\u1eadp, t\u1ed5ng h\u1ee3p v\u00e0 xu\u1ea5t d\u1eef li\u1ec7u v\u1ec1 hi\u1ec7u su\u1ea5t v\u00e0 m\u1ee9c s\u1eed d\u1ee5ng t\u00e0i nguy\u00ean c\u1ee7a c\u00e1c container m\u1ee5c ti\u00eau. N\u00f3 theo d\u00f5i c\u00e1c tham s\u1ed1 c\u00f4 l\u1eadp t\u00e0i nguy\u00ean c\u1ee7a t\u1eebng container, m\u1ee9c s\u1eed d\u1ee5ng t\u00e0i nguy\u00ean trong l\u1ecbch s\u1eed, bi\u1ec3u \u0111\u1ed3 t\u1ea7n su\u1ea5t s\u1eed d\u1ee5ng t\u00e0i nguy\u00ean trong l\u1ecbch s\u1eed ho\u00e0n ch\u1ec9nh v\u00e0 s\u1ed1 li\u1ec7u th\u1ed1ng k\u00ea m\u1ea1ng. D\u1eef li\u1ec7u n\u00e0y \u0111\u01b0\u1ee3c xu\u1ea5t theo container v\u00e0 tr\u00ean to\u00e0n m\u00e1y.<\/p>\n<p>Ch\u01b0\u01a1ng tr\u00ecnh \u0111i k\u00e8m v\u1edbi h\u1ed7 tr\u1ee3 container Docker g\u1ed1c v\u00e0 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 h\u1ed7 tr\u1ee3 h\u1ea7u h\u1ebft m\u1ecdi lo\u1ea1i container kh\u00e1c ngay khi xu\u1ea5t x\u01b0\u1edfng. N\u00f3 c\u0169ng hi\u1ec3n th\u1ecb s\u1ed1 li\u1ec7u c\u1ee7a Prometheus. N\u00f3i c\u00e1ch kh\u00e1c, cAdvisor thu th\u1eadp d\u1eef li\u1ec7u, trong khi Prometheus thu th\u1eadp d\u1eef li\u1ec7u. S\u1ef1 tr\u1eebu t\u01b0\u1ee3ng h\u00f3a container c\u1ee7a CAdvisor d\u1ef1a tr\u00ean lmctfy n\u00ean c\u00e1c container v\u1ed1n c\u00f3 \u0111\u01b0\u1ee3c l\u1ed3ng nhau theo th\u1ee9 b\u1eadc.<\/p>\n<p>B\u1ea1n c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t cAdvisor builds d\u01b0\u1edbi d\u1ea1ng h\u00ecnh \u1ea3nh tr\u00ean m\u00e1y ch\u1ee7 Docker c\u1ee7a m\u00ecnh. Ch\u01b0\u01a1ng tr\u00ecnh c\u0169ng cung c\u1ea5p c\u1ea3 giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng web (UI) v\u00e0 Giao di\u1ec7n l\u1eadp tr\u00ecnh \u1ee9ng d\u1ee5ng REST (API). V\u1edbi \u0111i\u1ec1u n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 theo d\u00f5i tr\u1ef1c ti\u1ebfp c\u00e1c container Docker c\u1ee7a m\u00ecnh v\u00e0 t\u00edch h\u1ee3p s\u1ed1 li\u1ec7u v\u00e0o \u1ee9ng d\u1ee5ng b\u00ean ngo\u00e0i th\u00f4ng qua c\u00e1c \u0111i\u1ec3m cu\u1ed1i d\u1ecbch v\u1ee5 web.<\/p>\n<h2 id=\"datadog\">D\u1eef li\u1ec7u<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#datadog\"><\/a><\/h2>\n<p><a href=\"https:\/\/www.datadoghq.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Datadog<\/a>&nbsp;\u0111\u01b0\u1ee3c Docker khuy\u1ebfn ngh\u1ecb v\u00ec l\u00fd do ch\u00ednh \u0111\u00e1ng. N\u00f3 cung c\u1ea5p nhi\u1ec1u c\u00f4ng c\u1ee5 gi\u00e1m s\u00e1t theo d\u00f5i c\u00e1c s\u1ed1 li\u1ec7u li\u00ean quan \u0111\u1ebfn container, c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng v\u00e0 \u1ee9ng d\u1ee5ng.<\/p>\n<p>Giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng v\u00e0 b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n c\u1ee7a n\u00f3 c\u0169ng r\u1ea5t ti\u1ec7n d\u1ee5ng. V\u1edbi d\u1eef li\u1ec7u th\u1eddi gian th\u1ef1c, b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp nhi\u1ec1u h\u00ecnh \u1ea3nh tr\u1ef1c quan kh\u00e1c nhau, bao g\u1ed3m chu\u1ed7i th\u1eddi gian, gi\u00e1 tr\u1ecb truy v\u1ea5n, danh s\u00e1ch h\u00e0ng \u0111\u1ea7u, b\u1ea3ng, b\u1ea3n \u0111\u1ed3 nhi\u1ec7t, b\u1ea3n \u0111\u1ed3 c\u00e2y, bi\u1ec3u \u0111\u1ed3 h\u00ecnh tr\u00f2n, b\u1ea3n \u0111\u1ed3 m\u00e1y ch\u1ee7, lu\u1ed3ng nh\u1eadt k\u00fd, danh s\u00e1ch, gi\u00e1 tr\u1ecb c\u1ea3nh b\u00e1o, b\u1ea3n \u0111\u1ed3 d\u1ecbch v\u1ee5, v.v. N\u00f3 t\u1ef1 \u0111\u1ed9ng li\u00ean k\u1ebft d\u1eef li\u1ec7u v\u00e0 tr\u1ef1c quan h\u00f3a h\u00e0nh vi b\u1ea5t th\u01b0\u1eddng.<\/p>\n<p>B\u1ea3n ch\u1ea5t c\u1ee7a Datadog l\u00e0 \u0111\u1ed9c quy\u1ec1n, nh\u01b0ng ch\u01b0\u01a1ng tr\u00ecnh Datadog v\u00e0 t\u1ea5t c\u1ea3 c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh kh\u00e1c ch\u1ea1y tr\u00ean m\u00e1y t\u00ednh v\u00e0 \u0111\u00e1m m\u00e2y c\u1ee7a b\u1ea1n \u0111\u1ec1u l\u00e0 m\u00e3 ngu\u1ed3n m\u1edf.<\/p>\n<p>Gi\u00e1m s\u00e1t c\u00f3 s\u1eb5n th\u00f4ng qua c\u00e1c y\u00eau c\u1ea7u Trace, cung c\u1ea5p h\u00ecnh \u1ea3nh \u0111\u1ed3 h\u1ecda v\u00e0 c\u1ea3nh b\u00e1o. Ch\u01b0\u01a1ng tr\u00ecnh thu th\u1eadp d\u1eef li\u1ec7u li\u00ean quan \u0111\u1ebfn c\u00e1c d\u1ecbch v\u1ee5, \u1ee9ng d\u1ee5ng v\u00e0 n\u1ec1n t\u1ea3ng th\u00f4ng qua d\u1eef li\u1ec7u nh\u1eadt k\u00fd chi ti\u1ebft.<\/p>\n<p>Ch\u01b0\u01a1ng tr\u00ecnh l\u00e0 m\u1ed9t h\u1ec7 sinh th\u00e1i gi\u00e1m s\u00e1t. Ngo\u00e0i c\u00e1c container c\u1ee7a b\u1ea1n, n\u00f3 gi\u00e1m s\u00e1t h\u1ea7u nh\u01b0 m\u1ecdi th\u1ee9. N\u00f3 th\u1ef1c hi\u1ec7n \u0111i\u1ec1u n\u00e0y m\u1ed9t ph\u1ea7n b\u1eb1ng c\u00e1ch h\u1ed7 tr\u1ee3 h\u1ea7u h\u1ebft c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh v\u00e0 giao th\u1ee9c \u0111o t\u1eeb xa nh\u01b0&nbsp;<a href=\"https:\/\/github.com\/statsd\/statsd\" target=\"_blank\" rel=\"noreferrer noopener\">StatsD<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/openmetrics.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenMetrics<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/opentelemetry.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenTelemetry<\/a>&nbsp;.<\/p>\n<p>M\u1eb7c d\u00f9 ch\u1ee7 y\u1ebfu \u0111\u01b0\u1ee3c b\u00e1n d\u01b0\u1edbi d\u1ea1ng ph\u1ea7n m\u1ec1m d\u01b0\u1edbi d\u1ea1ng d\u1ecbch v\u1ee5 (SaaS), nh\u01b0ng n\u00f3 c\u0169ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c tri\u1ec3n khai t\u1ea1i ch\u1ed7.<\/p>\n<h2 id=\"elasticsearch-and-kibana\">Elasticsearch v\u00e0 Kibana<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#elasticsearch-and-kibana\"><\/a><\/h2>\n<p><a href=\"https:\/\/www.elastic.co\/\" target=\"_blank\" rel=\"noreferrer noopener\">Elasticsearch<\/a>&nbsp;l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 t\u00ecm ki\u1ebfm m\u00e3 ngu\u1ed3n m\u1edf d\u1ef1a tr\u00ean Java c\u00f3 ngu\u1ed3n g\u1ed1c t\u1eeb th\u01b0 vi\u1ec7n&nbsp;<a href=\"https:\/\/lucene.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache Lucene<\/a>&nbsp;. N\u00f3 cung c\u1ea5p m\u1ed9t c\u00f4ng c\u1ee5 t\u00ecm ki\u1ebfm to\u00e0n v\u0103n b\u1ea3n, c\u00f3 kh\u1ea3 n\u0103ng \u0111a thu\u00ea bao, ph\u00e2n t\u00e1n v\u1edbi giao di\u1ec7n web HTTP v\u00e0 c\u00e1c t\u00e0i li\u1ec7u JSON kh\u00f4ng c\u00f3 l\u01b0\u1ee3c \u0111\u1ed3. \u0110\u00e2y l\u00e0 tr\u00e1i tim c\u1ee7a ng\u0103n x\u1ebfp ELK.<\/p>\n<p>Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u1ed1i t\u00e1c c\u1ee7a n\u00f3,&nbsp;<a href=\"https:\/\/www.elastic.co\/kibana\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kibana<\/a>&nbsp;, l\u00e0 m\u1ed9t giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng m\u1edf, mi\u1ec5n ph\u00ed \u0111\u1ec3 tr\u1ef1c quan h\u00f3a d\u1eef li\u1ec7u Elasticsearch c\u1ee7a b\u1ea1n v\u00e0 \u0111i\u1ec1u h\u01b0\u1edbng ELK Stack. B\u1ea1n c\u00f3 th\u1ec3 theo d\u00f5i t\u1ea3i truy v\u1ea5n \u0111\u1ec3 xem c\u00e1c y\u00eau c\u1ea7u ch\u1ea3y qua c\u00e1c \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n nh\u01b0 th\u1ebf n\u00e0o v\u1edbi n\u00f3. Kibana \u0111i k\u00e8m v\u1edbi c\u00e1c b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng c\u1ed5 \u0111i\u1ec3n th\u00f4ng th\u01b0\u1eddng: bi\u1ec3u \u0111\u1ed3 histogram, bi\u1ec3u \u0111\u1ed3 \u0111\u01b0\u1eddng, bi\u1ec3u \u0111\u1ed3 h\u00ecnh tr\u00f2n, bi\u1ec3u \u0111\u1ed3 sunburst, v.v. V\u00e0 t\u1ea5t nhi\u00ean, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm ki\u1ebfm tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c t\u00e0i li\u1ec7u c\u1ee7a m\u00ecnh.<\/p>\n<p>\u0110\u1ed1i v\u1edbi m\u1ee5c \u0111\u00edch gi\u00e1m s\u00e1t container, b\u1ea1n s\u1eed d\u1ee5ng&nbsp;<a href=\"https:\/\/www.elastic.co\/beats\/filebeat\" target=\"_blank\" rel=\"noreferrer noopener\">Filebeat<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/www.elastic.co\/beats\/metricbeat\" target=\"_blank\" rel=\"noreferrer noopener\">Metricbeat<\/a>&nbsp;\u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng thu th\u1eadp d\u1eef li\u1ec7u container. Filebeat t\u1ef1 \u0111\u1ed9ng t\u00ecm container v\u00e0 l\u01b0u tr\u1eef nh\u1eadt k\u00fd c\u1ee7a ch\u00fang trong Elasticsearch. B\u1ea1n tri\u1ec3n khai Metricbeat t\u1ef1 \u0111\u1ed9ng trong container c\u1ee7a m\u00ecnh. Khi \u0111\u00e3 \u1edf \u0111\u00f3, n\u00f3 s\u1ebd thu th\u1eadp s\u1ed1 li\u1ec7u th\u1ed1ng k\u00ea v\u1ec1 m\u1ee9c s\u1eed d\u1ee5ng CPU, b\u1ed9 nh\u1edb, h\u1ec7 th\u1ed1ng t\u1ec7p, IO \u0111\u0129a v\u00e0 IO m\u1ea1ng \u1edf c\u1ea5p h\u1ec7 th\u1ed1ng. C\u00e1c m\u00f4-\u0111un c\u1ee7a n\u00f3, \u0111\u01b0\u1ee3c vi\u1ebft b\u1eb1ng Go, c\u0169ng c\u00f3 th\u1ec3 theo d\u00f5i c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh trong container nh\u01b0 Apache, NGINX,&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/mongodb-introduction\/\">MongoDB<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/an-overview-of-mysql\/\">MySQL<\/a>&nbsp;,&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/an-introduction-to-postgresql\/\">PostgreSQL<\/a>&nbsp;v\u00e0 Prometheus. Sau \u0111\u00f3, t\u1ea5t c\u1ea3 d\u1eef li\u1ec7u n\u00e0y c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c truy c\u1eadp b\u1eb1ng Kibana.<\/p>\n<p>R\u1ea5t linh ho\u1ea1t. B\u1ea1n c\u1ea7n d\u00e0nh nhi\u1ec1u th\u1eddi gian \u0111\u1ec3 h\u1ecdc c\u00e1ch c\u1ea5u h\u00ecnh v\u00e0 s\u1eed d\u1ee5ng n\u00f3, nh\u01b0ng n\u00f3 r\u1ea5t \u0111\u00e1ng gi\u00e1.<\/p>\n<h2 id=\"prometheus-and-grafana\">Prometheus v\u00e0 Grafana<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#prometheus-and-grafana\"><\/a><\/h2>\n<p>Gi\u1ed1ng nh\u01b0 Elasticsearch v\u00e0 Kibana,&nbsp;<a href=\"https:\/\/prometheus.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Prometheus<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/grafana.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Grafana<\/a>&nbsp;l\u00e0 c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh m\u00e3 ngu\u1ed3n m\u1edf m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t c\u1ee7a ri\u00eang m\u00ecnh. N\u00f3 ph\u1ee9c t\u1ea1p, nh\u01b0ng c\u00f4ng s\u1ee9c b\u1ecf ra l\u00e0 x\u1ee9ng \u0111\u00e1ng.<\/p>\n<p>Prometheus l\u01b0u tr\u1eef d\u1eef li\u1ec7u d\u01b0\u1edbi d\u1ea1ng chu\u1ed7i th\u1eddi gian. Trong chu\u1ed7i th\u1eddi gian, d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u gi\u1eef d\u01b0\u1edbi d\u1ea1ng lu\u1ed3ng gi\u00e1 tr\u1ecb c\u00f3 d\u1ea5u th\u1eddi gian cho c\u00f9ng m\u1ed9t s\u1ed1 li\u1ec7u v\u00e0 c\u00f9ng m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c chi\u1ec1u c\u00f3 nh\u00e3n.<\/p>\n<p>Prometheus, m\u1ed9t d\u1ef1 \u00e1n CNCF, thu th\u1eadp s\u1ed1 li\u1ec7u tr\u1ef1c ti\u1ebfp t\u1eeb c\u00e1c container ho\u1eb7c b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u1ed5ng \u0111\u1ea9y. C\u00e1c m\u1eabu thu th\u1eadp \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef c\u1ee5c b\u1ed9 v\u00e0 c\u00e1c quy t\u1eafc \u0111\u01b0\u1ee3c \u00e1p d\u1ee5ng cho d\u1eef li\u1ec7u c\u1ee7a n\u00f3 \u0111\u1ec3 t\u1ed5ng h\u1ee3p v\u00e0 t\u1ea1o chu\u1ed7i th\u1eddi gian m\u1edbi ho\u1eb7c t\u1ea1o c\u1ea3nh b\u00e1o do ng\u01b0\u1eddi d\u00f9ng x\u00e1c \u0111\u1ecbnh.<\/p>\n<p>Tr\u1ecdng t\u00e2m ch\u00ednh c\u1ee7a Prometheus l\u00e0 \u0111\u1ed9 tin c\u1eady h\u01a1n l\u00e0 \u0111\u1ed9 ch\u00ednh x\u00e1c. Ch\u01b0\u01a1ng tr\u00ecnh th\u1ef1c hi\u1ec7n \u0111i\u1ec1u n\u00e0y b\u1eb1ng c\u00e1ch t\u1ea1o ra m\u1ed7i m\u00e1y ch\u1ee7 Prometheus \u0111\u1ed9c l\u1eadp v\u1edbi b\u1ed9 l\u01b0u tr\u1eef c\u01a1 s\u1edf d\u1eef li\u1ec7u chu\u1ed7i th\u1eddi gian c\u1ee5c b\u1ed9 \u0111\u1ec3 tr\u00e1nh ph\u1ee5 thu\u1ed9c v\u00e0o b\u1ea5t k\u1ef3 d\u1ecbch v\u1ee5 t\u1eeb xa n\u00e0o. Thi\u1ebft k\u1ebf n\u00e0y khi\u1ebfn Prometheus tr\u1edf th\u00e0nh m\u1ed9t c\u00f4ng c\u1ee5 l\u00fd t\u01b0\u1edfng \u0111\u1ec3 nhanh ch\u00f3ng x\u00e1c \u0111\u1ecbnh c\u00e1c v\u1ea5n \u0111\u1ec1 v\u00e0 nh\u1eadn ph\u1ea3n h\u1ed3i theo th\u1eddi gian th\u1ef1c. Do \u0111\u00f3, n\u00f3 th\u01b0\u1eddng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong c\u00e1c h\u1ec7 th\u1ed1ng c\u00f3 t\u00ednh \u0111\u1ed9ng cao nh\u01b0 c\u00e1c d\u1ecbch v\u1ee5 vi m\u00f4 d\u1ef1a tr\u00ean container ch\u1ea1y tr\u00ean \u0111\u00e1m m\u00e2y.<\/p>\n<p>Prometheus c\u00f3 b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n web ri\u00eang ho\u1eb7c b\u1ea1n c\u00f3 th\u1ec3 tr\u00edch xu\u1ea5t d\u1eef li\u1ec7u t\u1eeb \u0111\u00f3 b\u1eb1ng API c\u1ee7a n\u00f3. Grafana \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng l\u00e0m giao di\u1ec7n m\u1eb7c \u0111\u1ecbnh.<\/p>\n<h2 id=\"sysdig\">H\u1ec7 th\u1ed1ng<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#sysdig\"><\/a><\/h2>\n<p><a href=\"https:\/\/sysdig.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Sysdig<\/a>&nbsp;l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng gi\u00e1m s\u00e1t \u0111\u00e1m m\u00e2y th\u01b0\u01a1ng m\u1ea1i ho\u1ea1t \u0111\u1ed9ng song song v\u1edbi Prometheus. \u0110i\u1ec1u n\u00e0y cho ph\u00e9p b\u1ea1n truy c\u1eadp d\u1eef li\u1ec7u chu\u1ed7i th\u1eddi gian m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t Prometheus c\u1ee7a ri\u00eang b\u1ea1n.<\/p>\n<p>Sysdig theo d\u00f5i d\u1eef li\u1ec7u Docker tr\u1ef1c ti\u1ebfp t\u1eeb si\u00eau d\u1eef li\u1ec7u container \u0111\u1ec3 cho ph\u00e9p b\u1ea3o m\u1eadt v\u00e0 gi\u00e1m s\u00e1t. Docker khuy\u1ebfn ngh\u1ecb Sysdig l\u00e0 gi\u1ea3i ph\u00e1p gi\u00e1m s\u00e1t cho c\u00e1c \u1ee9ng d\u1ee5ng container.<\/p>\n<p>Sysdig c\u0169ng t\u00edch h\u1ee3p c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t Linux v\u00e0o m\u1ed9t giao di\u1ec7n duy nh\u1ea5t, nh\u1ea5t qu\u00e1n. Ch\u01b0\u01a1ng tr\u00ecnh th\u1ef1c hi\u1ec7n \u0111i\u1ec1u n\u00e0y \u1edf c\u1ea5p \u0111\u1ed9 h\u1ec7 \u0111i\u1ec1u h\u00e0nh b\u1eb1ng c\u00e1ch t\u00edch h\u1ee3p v\u1edbi h\u1ea1t nh\u00e2n Linux. N\u00f3 ghi l\u1ea1i c\u00e1c cu\u1ed9c g\u1ecdi h\u1ec7 th\u1ed1ng v\u00e0 c\u00e1c s\u1ef1 ki\u1ec7n h\u1ec7 \u0111i\u1ec1u h\u00e0nh kh\u00e1c.<\/p>\n<p>S\u1ef1 k\u1ebft h\u1ee3p \u0111\u1ed9c \u0111\u00e1o gi\u1eefa Prometheus v\u00e0 kh\u1ea3 n\u0103ng ph\u00e2n t\u00edch h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ea5p th\u1ea5p khi\u1ebfn n\u00f3 tr\u1edf th\u00e0nh m\u1ed9t c\u00f4ng c\u1ee5 gi\u00e1m s\u00e1t m\u1ea1nh m\u1ebd.<\/p>\n<h2 id=\"conclusion\">Ph\u1ea7n k\u1ebft lu\u1eadn<a href=\"https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/#conclusion\"><\/a><\/h2>\n<p>Gi\u00e1m s\u00e1t container l\u00e0 \u0111i\u1ec1u b\u1eaft bu\u1ed9c, kh\u00f4ng ph\u1ea3i l\u00e0 m\u1ed9t \u0111i\u1ec1u t\u1ed1t \u0111\u1eb9p. N\u1ebfu kh\u00f4ng gi\u00e1m s\u00e1t, vi\u1ec7c v\u1eadn h\u00e0nh container gi\u1ed1ng nh\u01b0 l\u00e1i xe tr\u00ean \u0111\u01b0\u1eddng cao t\u1ed1c quanh co, t\u1ed1i t\u0103m m\u00e0 kh\u00f4ng c\u00f3 \u0111\u00e8n pha.<\/p>\n<p>Ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t b\u1ea1n ch\u1ecdn ph\u1ee5 thu\u1ed9c v\u00e0o tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng, ng\u00e2n s\u00e1ch v\u00e0 c\u00e1c ngu\u1ed3n l\u1ef1c CNTT c\u00f3 s\u1eb5n trong t\u1ed5 ch\u1ee9c c\u1ee7a b\u1ea1n. B\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o h\u1ec7 th\u1ed1ng gi\u00e1m s\u00e1t container c\u1ee7a ri\u00eang m\u00ecnh b\u1eb1ng nhi\u1ec1u ch\u01b0\u01a1ng tr\u00ecnh ngu\u1ed3n m\u1edf c\u00f3 s\u1eb5n ho\u1eb7c s\u1eed d\u1ee5ng g\u00f3i th\u01b0\u01a1ng m\u1ea1i. B\u1ea5t k\u1ec3 b\u1ea1n quy\u1ebft \u0111\u1ecbnh s\u1eed d\u1ee5ng ch\u01b0\u01a1ng tr\u00ecnh gi\u00e1m s\u00e1t n\u00e0o, th\u00ec \u0111\u00f3 l\u00e0 th\u00e0nh ph\u1ea7n thi\u1ebft y\u1ebfu cho s\u1ee9c kh\u1ecfe v\u00e0 t\u00ednh \u1ed5n \u0111\u1ecbnh c\u1ee7a c\u00e1c \u1ee9ng d\u1ee5ng web container c\u1ee7a b\u1ea1n.<\/p>\n<p>Ngu\u1ed3n: https:\/\/www.linode.com\/docs\/guides\/monitoring-docker-containers\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e1m n\u0103m tr\u01b0\u1edbc, container l\u00e0 m\u1ed9t c\u00f4ng ngh\u1ec7 \u0111\u00e3 \u0111\u01b0\u1ee3c bi\u1ebft \u0111\u1ebfn, nh\u01b0ng \u00edt \u0111\u01b0\u1ee3c c\u00f4ng ch\u00fang ch\u1ea5p nh\u1eadn. Sau \u0111\u00f3, Solomon Hykes \u0111\u00e3 t\u1ea1o ra Docker, m\u1ed9t c\u00f4ng ngh\u1ec7 container, gi\u00fap container d\u1ec5 s\u1eed d\u1ee5ng h\u01a1n nhi\u1ec1u. Ng\u00e0y nay, container th\u1ed1ng tr\u1ecb th\u1ebf gi\u1edbi CNTT. Gartner d\u1ef1 \u0111o\u00e1n 70%&nbsp;c\u00e1c t\u1ed5 ch\u1ee9c s\u1ebd ch\u1ea1y c\u00e1c<\/p>\n","protected":false},"author":1,"featured_media":36299,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[108],"tags":[],"class_list":["post-35055","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\/35055","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=35055"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35055\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/36299"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=35055"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=35055"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=35055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}