{"id":127898,"date":"2025-11-08T02:10:14","date_gmt":"2025-11-08T02:10:14","guid":{"rendered":"https:\/\/www.newsbeep.com\/ie\/127898\/"},"modified":"2025-11-08T02:10:14","modified_gmt":"2025-11-08T02:10:14","slug":"monitor-docker-containers-across-servers-with-beszel","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/ie\/127898\/","title":{"rendered":"Monitor Docker Containers Across Servers With Beszel"},"content":{"rendered":"<p>How many machines do you have on your network that run <a href=\"https:\/\/thenewstack.io\/docker-basics-how-to-use-dockerfiles\/\" class=\"local-link\" rel=\"nofollow noopener\" target=\"_blank\">Docker<\/a> <a href=\"https:\/\/thenewstack.io\/introduction-to-containers\/\" class=\"local-link\" rel=\"nofollow noopener\" target=\"_blank\">containers<\/a>? One? Two? 20?<\/p>\n<p>Now, how are those machines and containers performing? How quickly can you log into those machines and run the necessary commands to suss out that information? Even better, do you know the commands required to do this?<\/p>\n<p>What if I told you you could deploy a container on one machine and then deploy agents on every server you need to monitor? And what if I told you this could all be done via Docker, and it\u2019s really easy? The end result is a single dashboard that gives you quick access to resource usage for those machines used for your container deployments.<\/p>\n<p>That container is called <a href=\"https:\/\/beszel.dev\/\" class=\"ext-link\" rel=\"external  nofollow noopener\" onclick=\"this.target=&#039;_blank&#039;;\" target=\"_blank\">Beszel<\/a>, and it\u2019s capable of displaying Docker statistics, historical data and alert functions.<\/p>\n<p>The feature set of Beszel includes:<\/p>\n<p>A user-friendly web interface<br \/>\nSimple configuration<br \/>\nAutomatic backup support<br \/>\nMultiuser<br \/>\nOAuth authentication<br \/>\nAPI access<\/p>\n<p>It\u2019s easy enough to deploy and use that you\u2019ll consider it a no-brainer.<\/p>\n<p>Let me show you how to deploy Beszel and connect an agent so you can keep track of your Docker server\u2019s system resources.<\/p>\n<p>What You\u2019ll Need<\/p>\n<p>The only things you\u2019ll need are more than one machine that supports Docker. I\u2019m going to demonstrate this on <a href=\"https:\/\/thenewstack.io\/10-reasons-to-choose-ubuntu-server-over-the-competition\/\" class=\"local-link\" rel=\"nofollow noopener\" target=\"_blank\">Ubuntu<\/a> 24.04, so if you\u2019re using a different OS, you\u2019ll need to alter the Docker installation process.<\/p>\n<p>Installing Docker<\/p>\n<p>If you\u2019re looking into monitoring the resources of your servers that run Docker containers, you probably already have Docker installed. On the off chance you don\u2019t, here\u2019s how (otherwise, skip to the next section).<\/p>\n<p>1. Add the official Docker GPG key with the commands:<\/p>\n<p>2. Add the required Docker repository with the commands:<\/p>\n<p>3. Install the required software with the following command:<\/p>\n<p>4. Add your user to the Docker group:<\/p>\n<p>To run the Docker command as a standard user, you\u2019ll need to add that user to the Docker group. This is done so you can run the Docker command without sudo privileges. Add your user to the Docker group with:<\/p>\n<p>Log out and log back in so the changes take effect.<\/p>\n<p>Deploying Beszel<\/p>\n<p>We can now deploy the Beszel hub. To that, we\u2019ll use the docker run command like so:<\/p>\n<p>Give this a minute or two to spin up. After that time has passed, open a web browser and point it to:<\/p>\n<p>Where SERVER is the IP address of the hosting server.<\/p>\n<p>You should be presented with an account creation page. Once you\u2019ve done that, log in and you\u2019ll see the Beszel main window (Figure 1).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-22805577\" class=\"size-full wp-image-22805577\" src=\"https:\/\/www.newsbeep.com\/ie\/wp-content\/uploads\/2025\/11\/da830332-beszel1.jpg\" alt=\"\" width=\"1495\" height=\"382\"\/><\/p>\n<p id=\"caption-attachment-22805577\" class=\"wp-caption-text\">Figure 1. The Beszel hub is now ready to accept connections from agents.<\/p>\n<p>Deploying the Agents<\/p>\n<p>In the upper right-hand corner, click Add System. A pop-up will appear (Figure 2), asking you to fill out the information for the server you want to monitor. Add a name and the host IP address.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-22805975\" class=\"size-full wp-image-22805975\" src=\"https:\/\/www.newsbeep.com\/ie\/wp-content\/uploads\/2025\/11\/d245d003-screenshot-2025-11-07-at-4.14.50\u202fpm.png\" alt=\"\" width=\"988\" height=\"1010\"\/><\/p>\n<p id=\"caption-attachment-22805975\" class=\"wp-caption-text\">Figure 2. Fill out the information to add a new system.<\/p>\n<p>Next, click \u201cCopy Docker compose,\u201d which will copy the necessary contents for agent deployments.<\/p>\n<p>Log into the first machine you want to monitor and create a new docker-compose.yaml file with the command:<\/p>\n<p>Paste the copied content into the new file. That content should look like this:<\/p>\n<p>Save and close the file.<\/p>\n<p>Deploy the agent with the command:<\/p>\n<p>The agent will deploy, and within minutes, you can refresh the web page for the hub, and the new server will be listed.<\/p>\n<p>You can then deploy the agent on every machine you need to monitor.<\/p>\n<p>Once the agents appear, you can view their resource usage and also click the container button at the top (looks like a small 3D rectangle) to view the resource usage of every container deployed on that machine (Figure 3). The listing will also show the health status of each container.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-22805578\" class=\"size-full wp-image-22805578\" src=\"https:\/\/www.newsbeep.com\/ie\/wp-content\/uploads\/2025\/11\/75e50884-beszel2.jpg\" alt=\"\" width=\"1470\" height=\"1218\"\/><\/p>\n<p id=\"caption-attachment-22805578\" class=\"wp-caption-text\">Figure 3. All your containers are belong to us!<\/p>\n<p>Now that is handy.<\/p>\n<p>If you need to keep tabs on the resource usage of your containers, as well as the health status, Beszel is one of the best options I\u2019ve found that is free and easy to use. Give Beszel a try and see if it doesn\u2019t make monitoring those containers considerably easier.<\/p>\n<p>\t<a class=\"row youtube-subscribe-block\" href=\"https:\/\/youtube.com\/thenewstack?sub_confirmation=1\" target=\"_blank\" rel=\"nofollow noopener\"><\/p>\n<p>\n\t\t\t\tYOUTUBE.COM\/THENEWSTACK\n\t\t\t<\/p>\n<p>\n\t\t\t\tTech moves fast, don&#8217;t miss an episode. Subscribe to our YouTube<br \/>\n\t\t\t\tchannel to stream all our podcasts, interviews, demos, and more.\n\t\t\t<\/p>\n<p>\t\t\t\tSUBSCRIBE<\/p>\n<p>\t<\/a><\/p>\n<p>    Group<br \/>\n    Created with Sketch.<\/p>\n<p>\t\t<a href=\"https:\/\/thenewstack.io\/author\/jack-wallen\/\" class=\"author-more-link\" rel=\"nofollow noopener\" target=\"_blank\"><\/p>\n<p>\t\t\t\t\t<img decoding=\"async\" class=\"post-author-avatar\" src=\"https:\/\/www.newsbeep.com\/ie\/wp-content\/uploads\/2025\/09\/1759072689_118_d7cbfb14-cropped-6e7d5ccd-jack_wallen.jpg\"\/><\/p>\n<p>\n\t\t\t\t\t\t\tJack Wallen is what happens when a Gen Xer mind-melds with present-day snark. Jack is a seeker of truth and a writer of words with a quantum mechanical pencil and a disjointed beat of sound and soul. Although he resides&#8230;\t\t\t\t\t\t<\/p>\n<p>\t\t\t\t\t\tRead more from Jack Wallen\t\t\t\t\t\t<\/p>\n<p>\t\t<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"How many machines do you have on your network that run Docker containers? One? Two? 20? Now, how&hellip;\n","protected":false},"author":2,"featured_media":127899,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[61,60,80,34789],"class_list":["post-127898","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology","tag-ie","tag-ireland","tag-technology","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/posts\/127898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/comments?post=127898"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/posts\/127898\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/media\/127899"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/media?parent=127898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/categories?post=127898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/tags?post=127898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}