Uptime Kuma Open Source Uptime Monitor for HomeLab Server monitoring

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
guys I have a fantastic solution for you guys today that I'm going to feature as far as monitoring it is fast it is easy to set up it can monitor uptime service availability applications Keynes and some data services that you may want to monitor this solution is a free and open source monitoring solution and as you guys know I've been on a roll on free and open source Monitoring Solutions as of late trying out many different solutions in the home lab in 2023 so you guys are going to want to stick around for this one this is a awesome solution it is cool it is free it is open source and we're going to see how to quickly deploy it in the Homeland [Music] thank you [Music] many Monitoring Solutions try to do everything and the kitchen sink when it comes to monitoring and there are several fantastic Monitoring Solutions out there and I have featured several of those on previous videos however the beauty of the monitoring solution I'm going to show you guys today is in its Simplicity in its beauty and in the features that it does present in terms of monitoring the solution is called uptime Kuma uptime Kuma is a free and open source solution that you can clone down from a GitHub repository as well as just simply pull the docker container if you want to deploy the solution in your own Docker environment it provides the basics of monitoring in the way that you want to consume it easy to read dashboards that let you know if your services are either up or down and it monitors most of the basic services that you would want to run in either a lab environment or production you have access to http mod monitors TCP Port monitors ping DNS records push alerts steam Game servers Docker containers as the description mentions it is fancy it's reactive and it's a fast UI as we're going to see we're going to step through just how simple and easy it is to deploy uptime Kuma and like many of my favorite applications that run in the home lab environment uptime Kuma is a Docker container that you can quickly and easily spin up as an application in your home lab and you can literally be monitoring in a few seconds after you spin up the container with just a bit of configuration as we are going to see so let's dive into how we deploy uptime Kuma the process to install uptime Kuma is extremely easy due to the docker installation method as posted by the developer so we can simply copy the docker run command and then navigate to our SSH session or console session and whichever you have to your Linux host I have an SSH session to an Ubuntu 2204 virtual machine that is serving as my Docker container hose so I'm just going to paste the docker run command as we can see we're simply running Docker in Daemon mode we're restarting always the port for uptime Kuma is 3001 so not likely that you will have a conflict with that Port however make adjustments as needed with that we are also mounting a persistent volume that by default is simply uptime Kuma mounted to the app data folder inside the container we're naming it uptime Kuma and we are pulling the latest image for the uptime kuma application so I'm simply going to execute the docker run command it does not find the container locally so it is simply pulling the latest container from the repository at this point we simply wait for the container to download and deploy and as you can see that was literally 20 or 25 seconds of holding the container and spinning up the new container so we're browsing out to Port 3001 on our Docker container host and now we have the expected splash screen for uptime Kuma the first process that we need to complete is simply creating a username for our solution as well as a password that we're going to use for that initial account so I am just simply creating a user called admin we're populating the password and we're simply clicking the create button and after creating your initial account we get the default dashboard for uptime Kuma now that we have uptime Kuma deployed we can log into the interface and start configuring not only monitoring but we can also start looking at alerts and we can begin setting up the alert notifications as we want those on which monitors we want to alert on in uptime Kuma uptime Kuma is what I would consider to be a modern take on notifications as we are going to see with the notification Services there are some 90 notification services that you can take advantage advantage of with uptime Kuma so let's log in set up our first monitors and look at alerting one of the first things that you notice about uptime Kuma is the simple and easy to use interface that is presented right from the start once you deploy the solution I know many Monitoring Solutions right after you deploy them if you're not familiar with how they work you have to almost read a knowledge base article to create your first Monitor and that's not the case with uptime Kuma as you can see you've got a simple and easy button in the upper left hand corner of the interface that simply says add new monitor so let's click on the add new monitor button and we are again presented with a very intuitive interface and dialog box of sorts that allows us to create this first simple and easy monitor that we can use in the environment so if you look at the monitor type at the very top you can click the drop down box and you get a feel for or the types of monitoring that uptime Kuma is able to do with uptime Kuma you're not going to find built-in monitors for VMware vsphere proxmox hyper-v Cloud monitoring and those types of things with uptime Kuma so it's not as powerful as xavix or check MK or prtg which I showcase to you guys in my previous video however I don't feel like that is the strength of uptime Kuma so all of our tools we realize their strengths their weaknesses their use cases uptime Kuma is very well suited for web applications uptime monitoring for pings or DNS or other services where you simply want to know is that service available is that host up and running where I can ping it or in the case of the data services that that you see at the bottom of the dialog box such as Microsoft SQL Server you can actually have a query that executes every so often if you have a table that you want to pull a few rows from that table it's really well suited for those types of use cases so again you're not going to find hey let me add my vsphere infrastructure and it's going to pull data store information virtual machine latency you're not going to find that type of monitoring however again with the services that you see listed it's an awesome solution and I think it's a great way to bolster other solutions that you may be using in the lab because I I just really like the way uptime Kuma presents the information and allows you to create these simple and easy dashboards I'm going to click just the Ping monitor type and we're simply going to enter in one of my esxi hosts in my environment also you have notification options so you can set your heartbeat interval how often it's going to be checked you can retry a certain number of times if you want to not necessarily send a notification the very first time that it's down however you want to maybe try it three times and if it's down after those three times then you start sending notifications you can also resend notifications with this setting as well also has the concept of tags as well in there for additional metadata so let's save this and let's see what it looks like immediately after we add the monitor we can see that we've got a green bar that indicates that this host is up and running and we also are starting to get ping metrics which after we have more data to work with we're going to be able to change the granularity of the view as well how wide of a view we want to look at or how pinpointed we want to look in this graph so this is going to start populating and I have another environment that has been running for a while that I will show you guys in just a moment if we go back into our first monitor that we have created let's look at this setup notification button as easy as it is to set up the monitor itself it's just as easy to set up notifications and I really like that as well again other Solutions you have to really hunt and look to see okay where do I set up the notification service and then I have to navigate to another place in the solution to actually configure a rule to fire off that notification that's not the case with uptime Kuma everything is all self-contained which is really fantastic as you can see on the setup notification dialog box we've got notification type we've got again a drop down box that we will see the wealth of notifications this is over 90 plus notification services that are included in uptime Kuma I'm going to select the email SMP EP and I'm going to Simply name this alert I'll have local alerts and we're going to set up a hostname and the port we enter here no security from email we're going to to say Kuma and exploit.local and here I'm actually entering in the uh special email address that I am using to then push notifications for mail rise to pushover so I've got the pushover at melrise.xyz custom subject Kuma alert we're going to say that this notification is enabled by default and you can also test the notification so I'm going to click the test button and as you guys heard the Bell hopefully that means that I received the notification one of the cool things that I feel like uptime Kuma can really do that many other applications it seems like you have to jump through hoops to get this type of monitoring is uptime Kuma allows you to easily monitor Docker containers with just a bit of configuration in fact on our Docker container host as I'm going to show you guys all you need to do is just add a couple of configuration lines in your Docker config file to allow that remote monitoring and then in uptime Kuma it's a simple configuration that we note that we are monitoring a Docker container and this enables uptime Kuma to immediately notify us if we have a Docker container that exits for whatever reason or goes into a crash Loop so it's a great solution for monitoring modern applications that you may have running inside of containers in your lab environment or production environments to monitor a remote Docker host there are just a couple of changes to that host that we need to make to allow a remote system to be able to pull and speak to the docker Daemon remotely and one of those changes that we need to make in the Etsy Docker folder is we need to add a file called damon.json and if we look at this we can see what the contents of the file actually are so basically we're just simply specifying that we can remotely access this host over Port 2375 so we're going to exit and save out of that and then also we want to navigate to the folder Etsy systemd system docker.service.d if that folder does not exist you just simply create it inside that folder we need to create an override.com file in that file we are adding the parameter for a config file and pointing our Docker service to that at damon.json file to receive that information for the Remote Management piece when we restart our Docker Daemon then it will allow these remote connections to the docker Damon from our uptime Kuma host now that we have the docker Damon configured for remote access we can now add our Docker container host and set up a monitor to a specific container using uptime Kuma so I'm going to add new monitor we're going to select Docker container I want to create a friendly name for the docker container we're going to monitor a Prometheus container name and on the setup Docker host button we're going to click that I'm going to set up a connection to container 03 we're going to now use the TCP slash HTTP connection and we're going to change this to the IP address of that container host I'm going to test the connection and as we can see we've connected successfully and it's pulling the correct number of containers from that specific container host so I'm going to click the save button and now we can set up monitoring for that specific container as you can see we've got everything saved we've got our notification configured correctly and now we can simply click save as we can see our monitoring of our Prometheus container on container host O3 is up and running what I'm going to do is stop the Prometheus container the Prometheus container is now stopped now we can see with the next poll interval the uptime kuma monitor has correctly identified that this particular container is now down and we can see if we look at the dashboard messages we see that the container state is exited now if I go back and I start the Prometheus container we will note on the next monitor interval that we should see uptime Kuma note that the container is back up and running and now we see that it has correctly identified the container as backup and running and as you can see if we look at the dashboard we can see after the container state is exited we now have a notice that the container is back up and running that is awesome one of the other really cool things that we can do with uptime Kuma is we can create dashboards of particular services that we want to present in a specific dashboard so maybe you have certain infrastructure that is backing a particular application and you want to group those monitoring resources together you can easily do that in uptime Kuma and create a special URL for monitoring just those services and even present those services to end users if you want to present a dashboard showing all of those relevant services and that they they are up and running and Performing as expected I am now hopped over to an uptime Kuma instance where I have added many more monitors to the solution just to give us a few more items to play around with if you notice all the way at the top there is a status Pages button that we can click so if we click status Pages we will see the ability to add a new status page I've already added one just in testing but let's go through this if I click the new status page you will know that we can name the page we can create a slug for the page and then we can add services to this status page and one of the first things I'm going to do is swap to the Dark theme to get that eye bleeding white gone so as you can notice we can add a new group or we can just simply add monitors here so I'm going to click a couple of monitors that I want to add so now we've added the monitors that we want to include in this particular status page and as you can note you can style this in a custom way add custom CSS but we're just simply going to save and we are taken immediately to this custom home lab 2 dashboard including the services specifically that we want to present to this particular status page one of the really cool things as well if you are creating this for end users is you can actually create an instant so if there were a particular downtime event you can note that in the incident so we're just going to post the incident and if we save it we will notice as we go back to the status page the current status is displayed and then we also have the incident information displayed at the top what do you think about uptime Kuma I think it really brings the cool flare back to monitoring and allows us to have modern monitoring dashboards that we can use in the lab environment to group certain Services together or just get a great overview of all of the services that you may have running in your server Rack or your lab in general so hats off to Lou Islam or Louis lamb I'm not sure how he pronounces that with the GitHub ID but Lou thank you for this tremendously awesome project that you have contributed to the community and that gives us an awesome solution to monitor our services well as always guys I'm Brandon Lee if you like this video please do smash that like button subscribe to the channel if you've not done that already well take care guys stay safe out there please do keep home labbing and I will see you guys soon [Music] thank you [Applause] [Music]
Info
Channel: VirtualizationHowto
Views: 30,692
Rating: undefined out of 5
Keywords:
Id: py68mv_vyi8
Channel Id: undefined
Length: 18min 41sec (1121 seconds)
Published: Tue Feb 07 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.