You've gotta see this tool. It's nuts. I can finally monitor all my stuff,
all of it websites, DNS servers like Agar game servers, raspberry pies.
My kids don't make controllers. Everything in my home lab,
everything in my cloud, I can see if it's up and running or if it goes down,
I finally feel like I know what's going on and I don't even have to look at it.
It'll just tell me Slack, discord, whatever this is uptime kua.
A monitoring tool you cannot believe is free. And honestly,
I would've killed four back in the day. Two reasons. You're going to love this.
One, it's free. Two, it's beautiful. Come on, look at all this. And I lied.
Three reasons. Three, it's really easy to set up.
You're gonna host it yourself and by the time you're done, you'll be like, wait,
that was it. Not kidding. Five minutes. Get your stinking coffee ready.
Let's do this. Now first you gotta decide where are you going to put uptime?
Kuma, you got two choices. One the cloud. And number two, inside your home lab.
Your home network.
Now inside is cool because you can easily monitor all your home lab stuff
without even thinking about it. You don't have to poke holes in that firewall.
And you'll need somewhere to host Uptime, Kua, some kind of Linux based server,
like a Raspberry Pie, a spare laptop or an enterprise grade server.
But once you got a place to put it,
installing is stupid easy cuz we're gonna use Docker. And Docker is amazing.
It would be like that coffee break that's, that's how long it'll take Arrow,
Chuck. Now the cloud is cool too. You put it up there,
you don't really need anything.
You can set it up right now as you're watching this video and just kind of play
with it, just like see if it's cool.
And if you use one of my favorite cloud providers and the sponsor of this video
LE Node, it'll cost you almost nothing like 0.08 cents an hour.
Or if you're new to Le Node,
it'll be free because they give you $100 credit for 60 days. I,
that's just do it.
So put it in the cloud and you can monitor everything on the interwebs.
You just might have a bit of a problem monitoring your home lab stuff. Now me,
I do both. I've got uptime,
coma sitting right next to me in my home lab monitoring all the things.
But I also have one in the cloud redundancy also, I,
I monitor my home network to see if it stays up. Whatever you choose,
it doesn't matter. I'm gonna show you both and it's, it's pretty stink and easy.
I'll start with the cloud because it takes like three seconds and you can't go
wrong with LE node. I got a link below. Head over to le node.com/network. Chuck,
again, if you're new, you'll get a $100 credit for 60 days.
And once you're signed in, click on create the node.
Now why this will be so fast is because they have a marketplace.
Go and click on that and it's gonna be like, where is it? abcV, oh,
uptime Kuma right there. Just select it, scroll down a bit, put in some info.
Email address, limited pseudo user info, password.
You can skip over the DNS stuff if you don't want to use it,
I'm not gonna use it right now. Select your region,
I'll be in Dallas close to me. And then pick the size of your LE node,
your server. I'm gonna do shared CPU nano one gigabyte,
which is five bucks a month or 0.01 cents an hour. So seriously,
if you wanna try this out, just spin this up, play it for an hour,
then delete it and you're charged that much like that's it. Then label it.
And dude, that's it.
Click on create and take a little coffee break cuz you just set up a monitoring
service that's gonna take a few minutes to get baked and ready.
So while it's baking,
let me show you how to do the on-prem setup in the home lab. So for on-prem,
I'm gonna get connected to my on-prem server.
We're gonna launch CMD on Windows Terminal.
On Mac and Linux, SSH and Sumi server. And I'm in.
Now this install will depend on two things, Docker and Docker compose.
Let's make sure we have those installed right now.
Pseudo apt install docker.io dash y. I'm already good.
Yours might take a minute. Just take a little coffee break. Next.
Docker compose. Pseudo a PT. Install Docker dash compos dash y.
Now that was the hard part. Now watch Ducker compose. Just do its thing.
You ready? The first thing we'll do is make a new directory, MK dir.
I'll call it Makua. And then we'll CD into that CD Makua.
And then we'll create one file.
I'm gonna use Nano cause Nano is the best fight me. Come on. Just kidding.
But really I lost my trade of thought. Nano.
We'll call this docker dash compose dot y ml.
And here we're just gonna copy and paste. I got some code below.
I'm gonna grab mine. I believe this is the official stuff from Lewis Lamb,
the creator of Uptime Kuma. That dude's amazing. Thank you Lewis.
I love your tool. Now real quick,
here's all we're doing with the Docker composed file.
First we're pulling the official container image from Lewis Lamb for uptime
Kuma. Then we're naming it Uptime Kuma. And then right here,
this is very important.
We're mapping a volume to make sure that our uptime coma data is persistent even
if we tear down that container and build it back up.
And then finally we expose some ports.
So now that we know what we're doing and we have a little sip of coffee, right,
let's go ahead and hit control X, Y enter to save and check the out.
This is all we have to do. Type in docker,
compose up dash D. That's it. You ready? .
Now that was faster for me cuz I already had the image downloaded.
It'll probably download the image for you.
It'll be fairly quick And it's running If we do a little docker Ps,
there he is, he's right there.
So now all we have to do is navigate to the IP address of our container on Port
3001. Let's try it out. And here we are ready to get set up. Now on LE node,
it's even easier if you look back at your LE node,
all you need to do is go to the network settings under your lin node settings
stuff and scroll down just a bit until you see the reverse DNS information right
here. That's basically a free DNS name you get if you copy that bad boy
and paste that into a new tab. Uptime kua, you're ready to go.
Now for the remainder of this lab, I will continue on my home lab setup.
However, it'll be the exact same as the cloud. So just follow along,
get your username and stuff set up. You know how to do this stuff.
Password in and click on create my passwords don't match. Okay, there we go.
Now here it is Uptime kua.
And what you're gonna love about this is how simple it is. Like what do you say,
we monitor something right now. Let's do it right now we have nothing.
So we'll click on add a new monitor. And if you're new to enterprise monitoring,
which is just crazy to say that we have enterprise monitoring and our home lab.
Come on guys, if you're new to it, we have different types. If we look at 'em,
there's a lot. And what you'll use depends on what you need it for right now.
What do you say? We monitor network chuck.com. So we'll choose http,
dual friendly name, put in the url.
We can change how often we want to check sixty's too long for me.
Let's do like 30 or something better.
You can tell it to retry a few more times before it considers it down.
Zero's fine for me. I want it to be up all the time. Tell me when it's not up.
And you got a few more values. Values. Let's jump on down to advanced.
And this is pretty cool. If you're monitoring your website,
it's good to know if your certificate's going to expire. This will tell you.
Click that sucker. Also,
if you're monitoring a website inside your home lab that has a self-signed cert,
you can tell it to ignore SSL certificates, but I don't need that.
And then no matter what monitor you choose,
you'll always have the upside download as an option. Which essentially means,
hey, is your service down? Then it's up. Often you probably won't need it,
but there are use cases. Now everything else you really don't need to change.
But I do wanna point out how powerful this tool is.
You can tell it what status codes it'll accept as up.
Now these are all HTTP status codes and by default it's gonna say, Hey,
if we get anything in the 200 range,
we're okay because 200 okay is the best message in the world.
That's what happens when you go to a website and it's up and running,
you try to pull up a homepage like network chuck.com.
And if network chuck.com is there and alive and active and working,
it'll send back all your good stuff. The homepage along with the 200.
Okay message. Anything else that we might have a problem.
And in case you're curious,
anything in the 400 range as far as response codes go indicates there's an issue
with the client, which is you, the problem's, you, your computer,
the way it's trying to receive information. Anything in the 500 range,
it's a problem with the site, it's a server issue,
which if you're hosting your own website, the problem's still you .
But yeah, that's what it tells you.
Actually that's a nugget you wanna store in your pocket for pretty much anything
in it, not just uptime kuma. Remember these things. Now again,
most of the time 200 to okay is what you want to get. But again,
just to kind of touch on the power of this thing, if you scroll up a bit more,
you can control the http options. You can say I want the get post put patch,
delete crud, all the stuff. You can do that, which is just amazing.
But by default this will probably do what you needed to do.
But if you're more advanced you can go crazy. That's all we need.
I'm gonna click on save. And immediately it starts monitoring your stuff.
Right now it already said, Hey, you're up, Chuck up Chuck.
I hate when people say that. Don't comment it below, please don't do that.
Now do you see how wonderful this is? Not only is it telling us that we're up,
it's giving us response times a beautiful graph of response times.
How quickly is your website responding? Is it healthy?
There's my expirations information. Oh dude, I love this so much, dude,
why is my response time so bad for my website?
So you have your first monitor set up. What do you say?
We set up another one real quick cause I wanna show you something. Now,
website monitoring is cool and the fact that you can do an http monitor is
awesome. But did you notice we have another option in the monitor? Type.
Check this out. We have http with keyword. What? What does that mean?
It means something. Awesome. Let's try, what do you say we monitor network.
chuck.coffee. Actually let's take a coffee break for the url.
We'll put in network chuck.coffee. And here's where the keyword comes in.
Let's go out there real quick.
Let's find a word or a phrase that comes up when the page loads.
Like right here it says start brewing.
Let's take that case sensitive and put it right here.
What it will actually do is attempt to load the webpage and it will search for
that keyword to make sure you're actually loading the actual page.
And if it loads the keyword, you're up. If it doesn't, you're down.
That's powerful. So I'll change that to 30 seconds. Click on save and cool,
we're up. Now, if I were to change it to something that's not on the site,
if I were to edit, if I were to change it to Ron Swanson and click save,
it's gonna say it's down. And notice it's telling me it's all degraded.
It's scary and red. If I go to my dashboard,
which is right up here at the top right,
it'll show me what's up and what's down. And notice it even does tell me that,
hey, it's 200. Okay, but we couldn't find that keyword. So that's, ugh,
that's so cool. Now what do you say? We speed around a few more monitors.
Things you'll definitely want for your home lab or your business or whatever
you're doing. Let's click on add new monitor. Choose our type.
Now I want to make sure ad guard is up. So I'm gonna do dns.
I'll put in the host name. I want it to resolve, just say network chuck.com.
I'll put in my A guard server as the resolver 4 53. That's what I'm using.
And just change some heartbeat intervals. And that's it. Click on save. Wait,
why is this thing refused make look what happened? Um, oh,
why did I go to port 51? Did I change that?
I guess I must have you done my scroll thing. All right. Okay, we're up.
That scare me for a second. Live troubleshooting. And look how cool this is.
If you jump into that monitor for agar here,
it will show me the results it's receiving. That's super cool. Now ping monitor,
it's pretty straightforward. It's going to send an ICMP message. Hey,
are you awake? And it responds, yes I am. If it is,
you can pretty much monitor anything with that one.
But this one right here is pretty powerful. The TCP port,
you can specify a specific TCP port to monitor. So for example,
I've got a Plex server in my network, I wanna see if it's up.
That's my host name. And PL by default, beyond port 32,400,
check the every 30 seconds save and bam. I know if Plex is up now,
if I were to go in there and just stop the service, we'll see what happens.
Stopping it now it is stopped and boom, it's down. It tells me,
and I love that. Now let's get it back up. Boom. Okay, we're back up. Whew.
So I think you got the monitoring part right? It'll monitor your stuff,
it'll tell you when stuff is down or up. It's beautiful.
But is it actually telling you,
cuz you're not gonna sit here and look at your dashboard all day,
although you could, it's awesome. It's mesmerizing.
But you wanted to tell you when you're out and about a quick discord or Slack
message, telegram. It'll do all those things. What do you say?
We set up Slack right now. So up here at the top, right,
we'll go to your name kind of thing up there and click on settings.
Well actually while I'm here you can change all kinds of stuff like appearance,
dark mode. You always wanna be in dark mode. You just do.
You can set up a reverse proxy, not gonna cover that here, but maybe later.
And then a nice added feature that he didn't have to do but he did.
Under security, you can set up two factor what? I love that. But anyways,
what we care about right now is notifications.
Click on notifications and let's set up one click on set up notification.
Let me show you all the options you have. It's stupid. Look at this. What?
Pretty much everything. Now again, what I care about right now is not email.
You can do email though. That's pretty cool. Uh, slack, I'll name it.
And then here we'll need a web hook url,
which is the URL that Uptime Kuma will use to send a message to saying, Hey,
your pluck servers down, we'll send it to that url.
Slack will take it from there. A web hook is actually pretty similar to an api.
It's just sitting there open, ready to go waiting to receive a message from you.
Now for Slack to do this, you'll need to set up an application.
I'm not gonna cover the details of that, but they have a linked right down here.
Click on that. Set up an app real quick. I'll start from scratch.
I'm gonna add an incoming web hook, turn it on,
add a new web hook to the workspace. I'll choose the general channel for now.
And then right here is that web hook url. URL generator for me. I'll make it,
make it a bit bigger to see right here. I'm gonna copy that,
paste that into my web hook url. Also, I gotta make sure I install that app. Oh,
I already did. Okay, we're good. I'll put a username. Just call it uptime Kuma.
You can do an icon emoji. I'll do the fire one. Everything's on fire.
Is emojipedia down. They need some uptime coma.
I don't need channel name because the web hook is already setting that up for
me. And that's pretty much it.
I'm gonna test it real quick since successfully make I Slack. Yep,
slack alert testing right there.
And what's cool is I can apply this to all existing monitors and make it default
enabled. Click on safe, good to go. So now if I were to stop plex again, ah,
there it goes. Plex is down and there's my Slack message. Bam, there it is.
That's cool, right? Like that's so powerful. How easy was that to do?
I can't tell you how lucky we are right now in this day and age to have this
setting up monitoring has never been easier and it was so hard back in the day.
Not at the risk of making this video way too long. .
There is one more thing I wanna show you cuz this thing's action Pat. Dude,
come on. My video editor hates, hates me making my videos too long. Eat it Nick.
I don't care. Up here we have a thing called status pages.
Oh I love this app is so cool. They click on that.
I can create a status page that I can make available to anybody so people can
monitor and tell me if my things are up.
I can set it up as a dashboard on my TV or an iPad or something.
So I click on ad new status page. I can name it, give it a url,
slug and it up chuck, click on next.
And then you just kind of make it look pretty. You can add monitors,
I'll add my network check website and you can add all your stuff and click on
save. And there it is a really beautiful, I mean it's kind of beautiful.
We gotta make a dark mode. Ugh, there we go. Now it's beautiful status page.
You can go up here and say, we have an incident. Yo stuff is down. We know.
So people can see stuff is down and they know that. You know, powerful stuff.
Again, a tool I cannot believe is free and a tool.
I can't believe you're not already using. Are you using it?
Like you should have gone through this and set it up with me.
Have you not done that yet? Do it right now.
Thank you for spending time with me to set up some uptime. Kua is your stuff up?
I don't know. Coffee. Bye. See you later.