What you'll learn
- Interpret BIG-IP Network Map status icons, including unknown blue squares, manually disabled black triangles, and gray icons from dependent objects
- Identify the four places a health monitor can be applied: nodes, pools, pool members, and links
- Compare address check, service check, content check, and WMI monitors by how they test servers and how much network traffic they generate
- Configure a custom HTTP content monitor with a send string and a receive string that matches a keyword on the served webpage
- Apply a custom HTTPS content monitor to a pool and validate that members show available and the site responds
- Distinguish a node (IP address only) from a pool member (IP address and port) when checking monitor health status
Free 46-minute video lesson with a full transcript and knowledge checks. No account needed to watch.
Introduction
Within our environment it's very important that we know the health status of our member servers. If they are down or unresponsive this will affect our users experience and can cause errors and delays which we want to avoid. Let's take some time to learn about the health monitoring options available within the Big-IP. Then we'll set some up and see our health monitoring in action.
Health Monitors
Health monitors can track the health of our member servers and make decisions based on their health. Let's take a look at health icons used within the Big-IP and where we can apply these health monitors.
Knowledge Check
Match the health icon with it's health status.
This interactive assessment is available in the full learning experience.
Types of Health Monitors
Now it's time to discuss the various types of health monitors available within the Big-IP and what each of them does. We'll discuss how they work and when you might want to use one over another.
Knowledge Check
Match the health monitor with it's functionality.
This interactive assessment is available in the full learning experience.
Configuring a Basic Health Monitor
It's time to jump onto the Big-IP and configure a couple different health monitors. We're going to compare the ICMP and HTTP monitors to see how they work differently.
Knowledge Check
ICMP health monitors are great for checking to see if a service such as HTTPS is up and running.
Monitoring Content Health
Just monitoring whether a service is running or not isn't always the best option. Sometimes we need to ensure the content being served up by a service is accurate. For example, we may want to verify content to make sure a back-end database is connected to our application. So let's see how to set up content health monitoring.
Knowledge Check
When creating custom monitors it's common practice to edit the default system monitors.
Health of Members Versus Nodes
Members and nodes are two different types of objects within the Big-IP. This is very important to remember when configuring health monitors. Let's take a look at the difference between the two when it comes to health monitors.
Knowledge Check
Members automatically inherit health monitors configured on their parent pool.
Validation
- In this skill we setup a custom health monitor for our HTTPS pool. I would like for you to create a custom health monitor named "APP1-HTTPS" using the monitor type of HTTPS. You'll also want to get creative and use something other than "Congratulations!" in the Receive String portion of the custom monitor.
- If you need some assistance refer to the "Monitoring Content Health" nugget above.
- I've also created a solution video below in case you want to check your work.
Knowledge Check
How comfortable are you with setting up health monitors on the Big-IP?
This interactive assessment is available in the full learning experience.
View Transcript
Health Monitors
0:00All right, it's time to cover health monitors, that's what we're talking about today. So, the big question is, what are health monitors? Well, I'm sure you could take a wild guess and probably get it right because we're wanting to monitor the health of something. So, on our BIG-IP, well, we set up a virtual server that runs on there, and then what do we do? We assign a pool to that virtual server and that pool distributes connections over to our members of that pool.
0:35So, we've got all these members over here, and I have a question for you, how does the BIG-IP know whether or not that these members over here are up or down? Because if they're all down, when it forwards those connections to them, our users are gonna get some type of error, and that's something that we want to avoid. So, we need a way for the BIG-IP to know if these members over here are up or down, and that's where health monitors come into play, as you can imagine.
1:09And there's lots of different types of health monitors, and we're gonna get into that. But first of all, we're gonna start with a table. That's right, these are a table of health symbols. So, when we go into our BIG-IP and we're looking at pools and we're looking at members, we're going to see these symbols here, so we really need to understand what each of these means. We're starting off with the green circle, and green means go, it means good, right? Absolutely, a green circle means that a member or a pool is healthy and available.
1:47So, that's a good thing. Ooh, but then we get into the red, red's usually not a good thing. And here is a red diamond, and this means that a pool or member is unhealthy and, as you could imagine, unavailable. All right, that makes sense, but then I get this blue square over here, what could that be? Well, if it's a blue square, it represents unknown. And generally, this is when we first set something up and we've connected some members, but we don't have any health monitors.
2:21So, it is basically unknown if this is up or down at this point. Okay, so that's a blue square, then we come into a yellow triangle, and that generally means like a caution when we see that yellow. And that's really what this is. This is stating that a member is unavailable for some reason. And this for some reason is, I wanna state here, other than being offline. Because if it's offline, you're gonna get a red triangle.
2:52This usually means that it's unavailable because it's reached its connection limit or something along those lines. So, that is our yellow triangle kind of our caution, if you will. Then, we have a black circle, and this means that an active member has been disabled by the admin. So, an admin has disabled an active member, and this may be done so they can take it offline to do maintenance, or they're doing testing, or something along those lines.
3:25Then, we have a black triangle, and this means that an admin has disabled an inactive member. So, if a member is unactive or unavailable and we just go in there and manually as an admin disable it, well, then that's where we're gonna get that black triangle. Then, we come down to the different gray icons, and this simply indicates that this object is unavailable due to some sort of reliance on a disabled object.
3:58So, maybe this is tied to another member or something along those lines and it's unavailable because something else has been disabled which kind of impacts it, so this is kind of like a secondary impact. So, when one thing gets disabled, it kind of snowballs into a second object, and that's where we would see these gray icons. So, it's very important to remember what these are, especially when it comes to our healthy and our unhealthy and our unknown. Those are the three that you're gonna see the most often and it's very important.
4:32But we also, of course, need to be aware of these others as well because you're gonna run into them from time to time. All right, let's talk about our health monitor settings, so it says you can apply health monitors to various things. So, when it comes to these health monitors, we can apply them to four things. Number one is a node. Now, if you think back to a node, it is an IP address as the object that is a node. So, we can apply health monitors to nodes.
5:02We can also apply health monitors to pools. All right, that's pretty cool. And be aware of this, when you apply a health monitor to a pool, it's actually automatically inherited by the members of that pool. So, those members will inherit those health monitors, and we'll see that when we get into the BIG-IP. And then, we can also assign health monitors to pool members directly, and we'll see that as well when we get in there and start playing around with our health monitors.
5:36And then lastly, our links, and these are outside of the LTM, they're not within our local traffic monitor. This comes to when we're using our BIG-IP DNS and the link controller features. So, these links are connections elsewhere, and what we're doing is monitoring those connections and whether they are up or down, and that's where that health monitor comes into play. So, those are the four places that you can apply a health monitor to, our nodes, our pools, our pool members, and links.
6:11All right, super, so let's take a look at some health monitor settings here. Now, the first term we're gonna look at is interval, and this is the number of seconds between each test. And the default here is five seconds. So, when we're talking about our health monitors, we've got a monitor set up. We'll just put an M here for a monitor. Then, we've got our pool members over here, right there, and/or a pool, whatever we're monitoring. But the idea is this monitor is gonna go out and try to connect to or communicate with each of these members every five seconds by default.
6:51And it just depends on what type of health monitor you're using as to what type of communications are being done. And we're gonna dig into that, so don't get too hung up on that just yet. All right, so that's our interval, then we have timeout. And a timeout is the number of seconds before device is marked unavailable. Okay, and the default is three times the interval plus one second. So, if that's being set, our default interval is five seconds and that means that our default timeout is going to be what?
7:32Let's think about this. So, our interval is five seconds. Okay, that's our default. And our default timeout is three times the interval plus one second, so that would be 3 times 5 seconds plus 1 second, which would be, that's right, 16 seconds. That is your default timeout within the BIG-IP. Now, you can change this, you can go into these monitors and you can definitely change these values here, our interval and our timeout.
8:05And you can do that, have at it if you want to, but I'm just letting you know that these are the defaults. All right, that wraps up our intro to the health monitors. In the next nugget, we're gonna jump in and start talking about different types of health monitors.
Types of Health Monitors
0:00Now it's time to start to analyze the different types of health monitors that we have available to us. And I want you to take a look over here on the right, and this is a screenshot of our monitors list within the big IP, and this is your default monitors. And we see several here like gateway_icmp, http. There's some http with the head keyword in there, https, icmp, inband. But what do all these things mean? Well, we're gonna talk about that right now.
0:31Now, the first one we're talking about is something called an address check monitor. Now, the key word here is address. And that's because our big IP is going to go out and check the IP address of each of our member servers. And it's gonna do so in a couple different ways. Number one is using ping, okay? And that's where we're going to use an ICMP monitor or the Gateway ICMP monitor.
1:04But it's basically just going to go out and ping a member server and see if it responds. If it responds, then it is up. If it does not within that 16 seconds, then it will be marked as down. Now, there's another way you can do that, and you can do something called a TCP Echo, and a TCP Echo is still just connecting to the host to see if it's alive. It's really not checking a service or anything like that. So, really, we're just checking to see do we get a response or do we not get a response?
1:36That's what we're checking for. Now, the thing is, remember, we are checking the hosts, whether it's up or down. We are not checking the service. And what I mean by that is if we're running http for a web server, we're not checking to see if http is actually up and running and responding. We're just looking to see if the operating system of that host is up and running and networking is functional. That's all we're doing. And we're gonna see how that plays out when we get into our labs. The next one is known as a service check monitor.
2:09Now, this is different. This is where we're checking the keyword here, service. We're checking to see if that service is up or down. And we're just gonna reference an HTTP service 'cause it's a web server that we're dealing with here. So, it initiates a connection to a specific service to make sure that it's running. And it could be, again, HTTP. It could be DNS or STP or SSH, lots of different services. So what it does, how this works. We know that when we're dealing with the TCP communications, there are three steps to this, right? We've got the initiator that sends a SYN to our target over here, and the target will respond with a SYN/ACK, and then the customer will respond finally with an ACK.
2:52And at that point, we have an active session, and data can flow back and forth. Well, the big IP does this a little different because we don't want to establish a session every five seconds when we're testing. That would be absolutely a waste of resources. So the way this works, the big IP, we'll go out. Let's say we're using server C here. We'll go out and send a SYN to our server to see if it's awake, okay? And that the web service on port 80, our HTTP service, is running, and that server's gonna respond with a SYN/ACK.
3:26And that's pretty normal so far when we look at TCP communications over here. But then things change. What's gonna happen is the big IP is going to respond here with a reset to reset the connection. And that way, we do not establish a session because we don't wanna do that. When you do that, it opens up and dedicates resources for communications, which would use up resources on both of our devices here. And we don't wanna do that.
3:56We simply wanna make sure we get a response here, and then we're gonna reset that connection. So, that's how a service check monitor works. It verifies that a service is running and responding. However, what it does not check is the content. So, that service could be up and running, but it could be handing out incorrect information, maybe if there was a problem with a config file or something like that along those lines. Now, when we're dealing with this, let's talk about some names of the types of monitors we're dealing with.
4:27Generally, these are going to be HTTP, HTTP2. We're gonna see HTTPS, HTTPS2 and three, and so on and so forth. So, when we're seeing these protocol names, those we should associate with a service check monitor. All right, super. So those are our service checks. Onto the next. Now, this is different. This is a content check monitor. So here, I'm gonna put content. That's our keyword, and here's what we're doing.
4:59We are going to, or well, the big IP is going to, it's gonna go ahead and it's gonna send out a SYN. All right? Super. The server's gonna send back our SYN/ACK, but then, we're not gonna send a reset. Absolutely not. What's gonna happen is we're gonna send an ACK, okay? And then we're going to send an HTTP GET command to this host by default. Now, you can change the command if you want to, but this simply says, get a copy of the webpage.
5:31It's just a web request is all it is. And then, our server's going to respond with the webpage. All right, that's great. And that means that I can then set a key word or phrase, and this webpage response is going to be analyzed to see if this key word or phrase resides in the response from the web server. So, it could be certain words that are on the webpage, and it's gonna check for those to see if they're there or not.
6:03And if they are, well, then it's good. It's up. That content is good. Otherwise, it's down. It's not good. Now, there are no default content check monitors, so I'm not gonna give you any names or anything, okay? Because you have to create all of these, and it's very simple to do. I'm gonna show you how to do it, but we're going to use the HTTP or HTTPS as a template, okay? So that we're dealing with this. And then we're gonna configure our HTTP command and our key words and, or phrases to look for within that web response.
6:44Now, the thing is, let's jump back real quick. I'm gonna jump back here to our address check monitor. And remember, this is where we're dealing with our pings and our ICMPs. This creates very little network traffic, as you can imagine. It's a simple ping, all right? So, very little network traffic. Now, as we get more complex, such as going to our service check monitor, this creates a little more network traffic, but we're not establishing a full session there, and we're not sending web data back and forth.
7:21Now, as we get to the most complicated, our content check monitor, this uses the most network traffic, or it generates the most network traffic out of all of our monitors. So, just keep that in mind. So if you're looking for something that wants to make sure a service is running, but use little bit of network traffic as possible, well, you're gonna want to use our service check monitor, okay? But if you're wanting to use the least amount of network traffic at all, and you don't care about checking to see if the service is up or not, well, then we'd go to our address checking monitor.
7:55All right, super. All right, got two more to look at. And the next one is passive monitor. Now what this does, it's passive. It doesn't actually reach out to our member servers to check to see if they're alive or not. It doesn't do that. What it does, it sends a connection to them, and this is just your standard connections from our users out here, our consumers. It goes ahead and it routes those connections to them. And what it does is it monitors the responses and the communications at Layer 4.
8:34So, here we're talking about TCP and UDP communications. It monitors those to see if everything is working properly. And if it is, then it's up. If it's not working properly, well, then it's down. And this is known as an inband monitor, and that's simply because the monitor is actually inside the big IP. It doesn't reach out to communicate with member servers. So it is inband, and that's known as a passive monitor. And as you can imagine, this creates no, big keyword there, no additional network traffic when it's doing its monitoring because it's just monitoring normal communications at Layer 4 to see if things are okay or not.
9:19And we've got our final one here, WMI, or Windows Management Instrumentation monitor. Now, the key word is Windows, because this only works on Windows servers. That's because WMI is a service that runs on a Windows server and it allows connections to be made to it and it will provide information such as performance statistics. And that's exactly what's happening here. Our host here, our big IP, is reaching out to a Windows server via WMI, and it's saying, "Hey, I'd like your statistics."
9:57It's gonna pass it back, and then the big IP is gonna analyze it, and it's gonna say, "Oh wow, you are really loaded down. I should give you less connections." It's gonna go out and check with this one, and it's going to respond "Boop, boop, boop, boop," via, of course, WMI. And it's gonna say, "Oh, guess what? I have very little resources in use, so send me more connections." And that's how this works. Now, you do have to be running WMI on your Windows host, and it does require a little bit of configuration, okay?
10:28Now, this is a custom type of monitor, so what you do is you go down and you create a new monitor. And from the type you're gonna be selecting, you guessed it, WMI. So, those are different types of monitors that we can use within the big IP, and in the next nugget, we're gonna start configuring these things. We're gonna jump into the big IP. We're gonna get our hands dirty, and we're gonna monitor anything and everything that we can come up with, okay? Sounds like fun. See you there.
Configuring a Basic Health Monitor
0:00All right, let's get to configuring some health monitors in our BIG-IP. Here we are, I've already logged into BIG-IP, and what I wanna do, I wanna go to Local Traffic, and then I wanna go to Network Map. It's gonna open up this new tab here. And what we see here is our HTTP-APP1 pool and our HTTPS-APP1 pool and we see a bunch of blue squares. Now what do the blue squares mean? Anybody? That's right, unknown because the BIG-IP doesn't know if these things are up or not. And we've got a virtual server, our pool here and our pool members, it just doesn't know if they're up or down.
0:35We need to fix that. So I'm gonna jump back over to the BIG-IP, there we go. And what we're going to do here is we are going to go down to Monitors here and we're gonna click on that, and super. And this is the default monitors that come on your BIG-IP. Now here's the thing, we do not want to edit these. That's right, we don't want to edit them. So what we wanna do is create new ones when it comes to creating monitors.
1:06Now let's take a look at one though, just so we can see some defaults. Let's pick our http. All right, we're gonna let that load up. And as we can see here, let me zoom in a little bit. We wanna come down here under the Configuration. Our default interval is five seconds, and we had talked about that. We talked about our Interval and Timeout, and our timeout was three times the interval plus one second. So then we end up with our default 16 seconds. Now we also talked about our content health monitors. So we're checking our content.
1:37And we said we sent a string, which is like an HTTP GET, and then we receive information back and we can do some comparison here with a Receive String. And that's what we're going to do a little later on. So right now I just wanted to kind of get in here to show you some of the basics in here. So now what we're gonna do, we're gonna go back to our Monitors here. All right, there they are. I'm gonna zoom out just a little bit. Now let's go over to our Pools down here.
2:07There we go, go to our Pool List and we're gonna pick on our HTTP pool. So I'm gonna go ahead and click on that, excellent. And down here at the bottom, we have Health Monitors and we played with this a little bit earlier on in a nugget where we set up one of these real quick so we could do some testing. And what we could do here is this is where we would add a monitor for this pool, all right? Now remember also, all of our member servers will inherit the health monitor of their parent pool. Keep that in mind. So let's say we go ahead and start out by looking at our Availability here.
2:44Now our Availability is a blue square, which is Unknown. It's enabled, but it's unknown, and that just means we don't have service checking enabled or there's no service check results available just yet and we're gonna fix that. So we're gonna come in here and we are going to select our gateway_icmp. We're gonna add that and we're gonna say Update, all right? And you see, it still says Unknown, so we'll give it just a couple of seconds. I'll go ahead and refresh this. And now we have our Availability as Available, green circle, and Enabled.
3:17So the pool is available, excellent. Now I want to go ahead and click on members over here, and we see we have a green circle on all of our members. And if I click on a member, we can see down here under Health Monitors, it inherited that gateway_icmp, just like I said it would, but this is how we can come in and verify that it actually does. Now if for some reason, you wanted to use a different type of monitor for a certain member, then you can change that. So we scroll down here and we look for Health Monitors down here, and there it is right there.
3:53Now that's because it's set to Advanced. If I change this to Basic, Health Monitors disappears. So if you're going down here and you don't see Health Monitors, go up and click on Advanced, there you go. Now what I can do is look at the default, which is Inherit From Pool, but I can change that. I can do Member Specific and I can add my own type of monitor that I want to for this specific member. So just because a pool member inherits from its parent pool, doesn't mean it has to use the same health monitor as its parent pool.
4:24But I'm gonna put this back to Inherit From Pool. All right, super. I'm gonna go ahead and update just to make sure everything's kosher here. There we go, super duper. All right, so we now have an ICMP, actually a gateway_icmp monitor running on this pool and its members. So now I wanna take a look at something. We're gonna run a test here and here's what we are going to do. I'm gonna run over to my Windows here, there we go, and let's just make sure everything's working as it should before we make any changes.
4:56So we'll let this open up. All right, now I'm gonna open an incognito window, and go ahead and access our servers. There we go, that's Server 1. Let's try another one, and Server 2. So it looks like it's working fine, excellent. So now I'm gonna go back to my BIG-IP and I'm gonna go back to the Properties of the pool here. We see we have our gateway_icmp monitor enabled and it's working 'cause it's available here.
5:27So I'm gonna go back to my Members real quick. Now what I wanna do is run a test. Now we're using ICMP to monitor these hosts. So what I'm gonna do is disable two of them right there. Super, and that is a black circle. So it means they've been disabled and they were active members that were disabled by an admin. That's what that black circle means, but I still have a green one here, okay, my Server 1. So now I'm gonna go over to Server 1. Let's see, there it is, F5-SVR-1. I'm gonna open this up and I'm gonna run a command here.
5:57And this command is /opt/bitnami/ctlscript.sh, and I put stop right there, stop. So what I did was stop the web services from running on this host. However, it will still respond to a ping. So if I go over here now back to my F5, remember, I'm pinging this, so if I do a refresh here, I want to, let's see here, go up and refresh this.
6:32I'm still green and I'm still able to ping that host. But remember, I turned the web service off. So what does that mean is gonna happen? Well, let's go to our page. Oh, "Site cannot be reached." Let's open an incognito window, try it again. "Site cannot be reached." Now here's what I'm trying to make a point about. When you're using ICMP to monitor application hosts, it only is checking the networking. So here, the networking's up.
7:02It thinks this host is up and just ready to take all the connections you can send to it. But in reality, the web service isn't running. So this is not a good monitor for an application host, okay? We really wanna monitor the service. And so now let's go back over. Actually, I'm gonna go ahead and re-enable these two. There we go, and now if I go back to my Windows machine, this should work. I should just get Server 2 or 3, and I get Server 2.
7:33Now I wanna go over here and I'm gonna hit the up arrow key on my Server 1 and I'm gonna change that stop to start. There we go, now I started the services back, all right. So now what I want to do is go back over here and we're gonna change the monitors, okay? So what I'm gonna go back is to the pool Properties, and I'm gonna take this gateway_icmp. I'm gonna put it back over there. Now what I wanna do is I wanna grab an http monitor, put it over here, and go ahead and Update.
8:04Right now, we see our status is Unknown. So what we're gonna do is give that a couple seconds and we'll go ahead and refresh this. And now we show Available Enabled. All right, super, now let's go to Members, and we're gonna do the same thing again. I'm gonna go to here and here and disable those two. All right, they're disabled, but I still have this one up and running. So let's go make sure things are still working as it should. I should only get Server 1 at this point. Let's go ahead and Enter, there we go.
8:36Server 1, close it out, grab another incognito. Go there and Server 1 again. That's 'cause Server 1's the only one running. But if I go back to my Server 1 now and I hit the up arrow key twice so that I'm stopping that service, hit stop in 16 seconds. Over here on the BIG-IP, and actually I can come over here now to my network monitor and I can refresh the network monitor. And these are my two disabled servers over here. So let me zoom in so it's a little easier to see.
9:10There we go, so I have my two disabled, but I still have a green one over here. That's 'cause I have to wait about 16 seconds for that to go off. Let me hit this again. Now we see that this has gone to a red diamond, which means it's unavailable and offline. And my virtual server and my app pool have gone gray, which means that they're unavailable because of something they're relying on, which (laughs) are the pool members. And if I go over to my Windows host back here and I open an incognito window, what do you think is gonna happen when I try to go to the server?
9:45That's right, I'm gonna get an error because that web service isn't running. Aha, and it's in this instance, it'll be really great if I had configured a fallback host that we had talked about previously because now I would get a message saying, "Hey, we're having technical difficulties, check back soon." So what we're gonna do to fix this, we're gonna bring our web service back up over here. I'm gonna hit the up arrow twice to go back to our start. I'm gonna hit Enter. Now that has started, if I go back to my monitor here and I wait 16 seconds, well, these are gonna come back up.
10:17Now my bottom two, Server 2 and 3 are still gonna be black because I had disabled those manually. But this diamond's gonna go away and it's gonna turn into a green circle along with the green circles up at my virtual server and my pool. So let's go ahead and refresh that and see it happen. And there it goes, absolutely. Now if I go back to my Windows host, there we go, and I go ahead and hit this again, I should get my Server 1. And there it goes, absolutely. So that is why, I'm gonna go back here one more time. I'm go ahead and re-enable these. So don't forget about 'em, there we go. That's why it's very important to remember the difference between an ICMP monitor and a service monitor.
10:53ICMP is network only, service focuses on your service. If you're running web app servers or some type of service server, then yeah, you need to be using a service if there's one available in here that matches it so that you can make sure your service is up and running. All right, that wraps up our first setup on some health monitors dealing with ICMP and service-specific monitors. Now in the next nugget, we're going to set up a content health monitor, and that's really cool, so I'll see you there shortly.
Monitoring Content Health
0:00All right, here we are on our BIG-IP, and now we're gonna set up a content health monitor. So this is where we're gonna check the specific content that's being served up to us by a server to make sure it matches a keyword or string. So let's start by going into our pools, there we go. We're gonna look at our HTTP pool, that's the one we've been working on. And I'm gonna go down here and remove the health monitor, I don't want any on there at this point in time. Go ahead and update that. All right, super. Now, here's what we're gonna do. We need to create a new monitor.
0:31So let's go down to our monitors, click on that, super. And we're gonna scroll over to the side because again, we're not gonna change these default monitors. I'm gonna go over here and click create. Excellent, scroll back over. And I'm gonna give it a name, I'm gonna call this APP1-Content-Monitor, excellent. The type is going to be HTTP. And there we go, super. It brought me into the big page here, and it is an HTTP Monitor, there's my name, the parent monitor is HTTP, that's fine.
1:04Now the send string, I just want a simple HTTP get, which is just gonna pull the webpage, that's perfect. In my receive string, I need to put something in here that lets me know if a server is providing me with the correct content or not. So how are we gonna do that? Well, let's go over here to our ESX host and let's take a look at one of these pages. Now, what on this page could we use to check to make sure this page loaded correctly? So we want this to be the same across all of our servers, and I'll show you why.
1:39Let's say we've used the word Server 1. Okay, so now I'm gonna go over here and I'm gonna put in here simply Server 1. All right, go down here and click finished. All right, now I have my APP1-Content-Monitor, health monitor. So now I'm gonna go to my pools, go to my pool list, select my HTTP pool right here. Excellent. Now under my health monitors, I want that APP1 right there.
2:11There we go. And update, super. Now, oh, jumped right into available and enabled, the pool is enabled. Super, let's go to members. Oh, whoa, what's going on here? Interesting. I see a green and two blue, maybe I just need to wait a minute. Let me go ahead and click around. Let's go to policies, let's go back to pools and back to our HTTP. Okay, we're green, go back to members and oh, now look what happened. I have a green here, but I have two reds.
2:43It means they're unhealthy and unavailable. And that means if I go over to my Windows host, then I should only get Server 1, Server 1, Server 1. Let's close that out. New incognito. Server 1, yep, Server 1 again, Server 1. So interesting, and if I go to my network map over here, let me refresh this. It shows that in my HTTP pool only Server 1 is available. The others aren't, but they should be, but they're not, and here's why.
3:15If I go back over here and I go to my monitors, I go to my APP1-Content-Monitor, I put Server 1 in here. Well, that only applies to my Server 1 because Server 2's website says Server 2, Server 3's websites says Server 3. I need to put something in here that's the same across all of the member servers' webpages, which would be, let's try, congratulations. Alright, let's put that in there. Congratulations!
3:45Now I'm gonna scroll down, hit update. All right, super, now let's go back to our pools, go back to our pool over here, go back to our members, and they're all green. So if I go to my network map and I do a refresh, they're all green. So now if I go back to my Windows and I hit refresh, am I gonna continue to get Server 1? Nope, I just went to Server 2 and Server 2 and Server 2. You see, that is key.
4:15When we're monitoring the health of our content, we need to make sure that that content is the same across all of our member servers. So you can't rely on something that's unique on each member server, that is a very key lesson here, because if you do, it's gonna cause you some big old headaches. So now we have three healthy hosts and we have a nice healthy pool, and we're checking for valid content. That's exactly what we want to do. So that wraps up this nugget, and in the next we're gonna talk about the difference when we're setting up health monitors between members versus nodes.
Health of Members Versus Nodes
0:00All right, now it's time to talk about the difference between nodes and members when it comes to health monitors. So I'll tell you what, let's start with our Pool, let's go to a Pool List. We'll select our HTTP Pool because it's nice and happy. Go to Members, excellent, all of our members here are happy. Now, quick reminder, remember a member is an IP address followed by a port number like 80 right here. For HTTP, that is a member. A node is only the IP address.
0:32They are two different objects within the BIG-IP. So let's click on one of these members already 'cause this is nice and green and happy. So let's click in there. Super, we got that loaded up, and down here, Availability is Available. Enabled health monitors, we're using our APP1-Content-Monitor, all is good. However, do you see a blue square in there? Because I sure do. That's because this is the Parent Node. This is the IP address of our member and it is showing blue square. But, but wait, I had set up a health monitor.
1:03Why is it not monitoring my node? Well that's because we set up a health monitor earlier for members. We need to do the same thing for our nodes if we want to monitor our nodes. So we're gonna do that by coming down here to Nodes. click on our Node List, have our three nodes, and of course, they're all blue squares. Now there's a couple different ways we can go about doing this. Number one, we can come up to the top. We got Default Monitor up here. Let's go ahead and click on that, there we go, super. And I can come in here and select a basic monitor and I'm gonna do that.
1:35I'm gonna say icmp just 'cause I want a simple ping because I'm monitoring a node, which is an IP address. I just wanna know if that IP is up or not. I'm not monitoring a service because a service is part of a member. All right, super, so I'm gonna say Update. Hey, there we go, all right, super. Let's go back to our Node List now. And you'll see our nodes are no longer a blue square, but a green circle, meaning they are up in fantabulous. All right, but that's not the only way we can do this. We can do this another way. We can click on an individual node here and let's just go into the server one here.
2:09All right, super. And here we see our availability is green, we're good to go. Our health monitor is icmp here. And if we scroll to the bottom, we see Health Monitors, and this is set to Node Default. So it's gonna be whatever the default setting is that we just set for the nodes. But I can go in here and say Node Specific if I want and check one of these others, I can use something like SNMP or gateway_icmp. I can do those if I want or I can say None.
2:41Now if I say None and do an Update, what do you think's gonna happen? That's right, we're gonna get that blue square just like that again and we want to avoid that. So let's go ahead and we'll just leave it at Node Default for now and go ahead and Update. And it's checking the Health Monitor, that's pretty cool, a little clock. There it goes and we'll let it refresh here and we'll click off of there, we'll go to Pools, and then back to Nodes and there we go. Our node is healthy again with icmp. So again, if we go back to Nodes, let's go back to our Nodes List there.
3:15You can set your Default Monitor up here at the top, or you can go into individual nodes and set them there if you would like. But either way we should think about setting up health monitors at the node level, so we can monitor those as well. All right, super, that wraps up our health of members versus nodes.
Validation
0:00Alright, for the skill validation, you have been asked to set up a custom health monitor for our HTTPS pool. Alright, super. So what we're supposed to do is go in and create a custom health monitor named app one dash HTTPS, using the HTTPS type of monitor. Alright, super. And use something other than the word congratulations. So let's go ahead and do this. So let's go ahead and take a look at our HTTPS. We can see here that it is a blue square, so we know that it's unknown at this point.
0:31So we need to create a custom monitor. And the way we do that, is come down to our monitors, click on that, and we scroll to the right and we select create. And it said here, we're supposed to use the name. Let's put this in here, H, app one dash HTTPS. All right, super, and the type is supposed to be HTTPS. All right, that's easy enough, there we go. And the receive string is what we have to change to do a content check. So we need to put something in here that resides on all of our webpages.
1:03So let's go back over to our Windows host and I don't need that. So let's close this out there. Alright, so what on here could I use to check to make sure that this webpage loaded correctly? Well, I could basically just copy this, how about that? Let's just do that, but I'm not gonna be able to copy and paste it over there. So let's do this. It says you are now running NGINX open source packaged by Bitnami. So let's, let's use this, NGINX, open source packaged by Bitnami.
1:33NGINX open source. Alright, so we're gonna go in here, NGINX. Oh, I should check to see if it's capitalized because that may, open source packaged by Bitnami. Okay, open source, packaged by Bitnami. There we go, that should work. All right, so now let's go ahead and scroll to the bottom and say finished. Now I have my app one HTTPS health monitor, super. So let's go now to our pools.
2:04Go to our pool list, 'cause I wanted to apply this to my HTTPS pool. We're gonna go here, under our health monitors, we're gonna select our app one HTTPS, slide it on over and click update. All right, super. Now we need to go ahead and click on our members up here and lookie there. They're all green, so that is good. Lemme go back to properties and make sure it has come up as well. Yep, our pool available enabled this pool is enabled, super. Members, now let's go to make sure it works.
2:34And here I'm going to change this to HTTPS. So here, https colon slash slash enter and there it goes, server two. And try it again, still server two. Let me open up a new incognito window just to make sure. Here we go, new incognito. And I'm gonna go HTTPS, colon 172 dot 16 dot 101 dot 11. And there we go. Not private, yeah, there we go. Advanced, proceed, there it goes, and server two.
3:07So yes, it is absolutely working. Alright, congratulations on setting up your custom HTTPS content monitor. I hope this has been informative for you and I'd like to thank you for viewing.
Frequently asked questions
What does the BIG-IP Configuring Health Monitors lesson cover?
The lesson shows a team member how to read BIG-IP Network Map status icons and where health monitors can be applied: nodes, pools, pool members, and links. It compares address check, service check, content check, and WMI monitors, then walks through building custom HTTP and HTTPS content monitors that match a keyword on the served webpage.
What is the difference between address check, service check, and content check monitors on BIG-IP?
An address check monitor tests a member's IP address with ping or ICMP and generates very little network traffic. A service check monitor sends a SYN to test a service such as DNS or SSH without establishing a full session, while a content check monitor verifies the actual content a server returns and generates the most network traffic of the three.
What do the blue squares, black triangles, and gray icons mean in the BIG-IP Network Map?
A blue square means the status is unknown because BIG-IP has no monitor telling it whether the object is up or down. A black triangle means an administrator manually disabled the object, and a gray icon means the object is unavailable because it depends on another object that has been disabled.
How do you configure an HTTPS content monitor with a send and receive string on BIG-IP?
In the lesson, the instructor creates a custom monitor of type HTTPS, uses a simple HTTP GET as the send string, and enters a receive string that matches text found on every served webpage, checking capitalization. The monitor is then applied to the HTTPS pool, and the team member validates that all members show green and the site responds in a browser.
How long is the health monitors lesson and how does it fit the F5CAB3 course?
The lesson runs 46 minutes and is part of BIG-IP Administration Data Plane Configuration (F5CAB3), a 2 hour, 19 minute course that also covers persistence profiles, profiles, and pools. The course aligns with the F5 Certified Administrator, BIG-IP certification, which spans exams F5CAB1 through F5CAB5.
How can a Training Manager assign this lesson and track team completion on CBT Nuggets?
Training Managers can assign the course as part of an F5 onboarding path using Playlists, and IT leaders can verify completion with Team Reporting. Team reporting provides per-learner progress and completion, cohort and group views, and completion exports for audit evidence.
Team training path
Turn this skill into assignable team training
This free skill is a preview of the courses your team can assign, track, and report on with CBT Nuggets.
Free training library
More free lessons in F5
F5
Creating an F5 BigIP Virtual Lab
Free lesson from BIG-IP Administration Install, Initial Configuration, and Upgrade (F5CAB1) · 1h 2m
F5
Learning ADC and Big-IP Basics
Free lesson from BIG-IP Administration Data Plane Concepts (F5CAB2) · 50m
F5
Confirming Functionality and Upgrading a Big-IP
Free lesson from BIG-IP Administration Support and Troubleshooting (F5CAB5) · 55m
F5
Determining Necessary Configuration Objects
Free lesson from F5 BIG-IP LTM Specialist: Architect, Set up, Deploy (Exam 301a) · 53m
F5
Working With iRules
Free lesson from F5 BIG-IP LTM Specialist: Maintain and Troubleshoot (Exam 301b) · 47m
$59
seat / mo, billed annually
