|[0:00:00]||Hello and welcome back to the second part of our trilogy about rules and service parameters. In the first part, we talked about working with rules and setting thresholds. And in this second part, I will take a look at host tags and labels, and how you can use them to create rules for very specific groups of hosts.|
|[0:00:19]||For example to target the CPU load of all database servers in a production environment.|
|[0:00:36]||Before we can create these specific rules we first have to be able to indicate whether a host is, for example in a production or a test environment. And we do that by assigning them host tags or labels.|
|[0:00:47]||The difference between the two you will learn in this video. But for now, let's focus on host tags.|
|[0:00:53]||So the idea is that when we are creating a host we immediately assign them certain tags or labels.|
|[0:01:02]||For example, if it's a test or a production system and later on when we create rules we can say okay only apply this rule when the host has a certain tag for example "the test environment". Let me show you how that works.|
|[0:01:16]||As you can see I've added four more hosts to our system.|
|[0:01:21]||These are just dummy hosts for illustration purposes. For now, let's go to Setup and Hosts, as you can see they all have the same IP address but as I said they're for illustration purposes so that doesn't really matter.|
|[0:01:36]||Now let's edit the first one "dbserver1". And we're only interested in this custom attribute section, so let's collapse the rest.|
|[0:01:47]||So as you can see there are some host tags pre-configured already by Checkmk.For example, this one the Criticality, and you see that there's there are also some values already pre-configured like 'Productive system', 'Test system'.|
|[0:02:04]||But we will pick 'Productive system' for now. Every host tag consists out of a Host group which is this first part and the second part on the right, the Value. Now let's save and go back to folder.|
|[0:02:21]||And also now let's do the same for the second one. We're going to also make that a productive system. As you can see the production system is the default value but we're going to explicitly set it.|
|[0:02:35]||So save and go back to folder and now the second two so 'dbserver3' and '4' we want to make a test system. And instead of repeating myself twice, I will just pre-select or select both of them and go to hosts and edit attributes.|
|[0:02:52]||Now I will pick Criticality and, Test System > Save. And I've added both at the same time. Okay, for now, we can just activate the changes.|
|[0:03:09]||And now these tags have been applied to all our database hosts and we can define some rules based on these Host tags. And the next thing we're going to do is create a rule or multiple rules because I want to configure that I don't really care if the CPU utilization on the test systems reaches 100%.|
|[0:03:30]||But on the production systems, I want to get warned when they reach over 80%, so I want to leave some headroom. Now let's go to one of our hosts. So, Monitor > all host. And let's pick 'dbserver1'.|
|[0:03:45]||And we're interested in the CPU utilization. So let's go to parameters for this Service. As you can see there are no rules set yet, and we're going to create one now. So we are going to create a whole specific rule.|
|[0:04:05]||And under conditions we can remove the explicit host so we are not interested in specifically the dbserver1, but rather in host tags, so we're going to add a host tag. Namely the criticality that we just set, and then we create a condition so click on the button add tag condition. And now it says criticality equals or is, 'Productive system'.|
|[0:04:36]||And you can pick another value here but I'll leave it at 'Productive system' for now. And now we can set the actual values so undervalues we are going to pick levels on total CPU utilization.|
|[0:04:55]||And we're picking fixed levels and we're going to change this to the Warning at 80%, and Critical at 90%. And now we can save it and create a rule for our test systems, and the easiest way to do that is by duplicating this one and then instead of 80% and 90% we are going to set it to 101% and 101% which are both levels which cannot be reached so we should never see a Warning or a Critical state.|
|[0:05:39]||Then the only thing left to do is set this to 'Test system' and then we can save the changes. Now you can see we have 2 rules here this one is green because we're still working on dbserver1 which is a productive system so these conditions match.|
|[0:06:00]||And now we can just simply activate the changes. And now we are using our host tags in combination with Service rules.|
|[0:06:15]||Like I said before these stack groups like Criticality are more of a pre-configured example in Checkmk. So we recommend that you do not use these but rather that you create your own and that's what I'm going to show you next.|
|[0:06:29]||Under setup, you can find an item called Tags and here you can find all pre-configured tag groups. Some are built-in like these 4. but these 2 are more of an example and that's why you can also delete them. I'm going to add a new tag group.|
|[0:06:48]||Every tag group has a required ID and a Title, the ID has to be unique and cannot contain any spaces the title can be whatever you want it to be.|
|[0:06:58]||What we want to do is we want to create a tag group that illustrates or tells what kind of application the host is. So, for example, is it a web server or a database server and other. It doesn't cover everything here but it will illustrate what we want to showcase. Okay, so now for the tag group id we're going to use 'application' (lowercase) and for the title also 'Application' (but with a capital A).|
|[0:07:31]||Now this topic, and this tells you or this shows you when you're configuring a host and which section the tag will appear. So I will create my own 'MyCustomTags'. That way I can easily identify all my own customly created tags from all other tags.|
|[0:07:55]||Now every tag or tag group has one or multiple tag choices. And these are the values which you can pick from when you are configuring a host.|
|[0:08:06]||So every tag also has a tag ID and these have to be unique within this tag group and I will make three choices one will be web, this will be 'db' for 'database' and 'other'.|
|[0:08:29]||Now the title will be web servers 'Web Server', 'Database Server' and once again 'Other'. The auxiliary tags we can forget for now.|
|[0:08:46]||You can change the order simply by dragging these up and down. but let's save. So now every host will get a default value for the application tag that we just created.|
|[0:09:03]||And you see here that would be webserver that would mean that every host would be classified as a 'Web Server' so in our case it's probably best to set that to 'Other'. So let's quickly change that. So here we're going to drag other to the top, and Save.|
|[0:09:23]||And now every host will be classified as other and only if we explicitly set it to something else, it will be a 'Web Server' or 'Database server'.|
|[0:09:33]||Now we've created the tag but we are not actually using it.|
|[0:09:37]||So now the first thing we have to do is configure our host so they are using the tag. So let's go to setup and host and we want to change these four database servers so let's check them all here and edit them all at once. So hosts and then edit attributes And now you see this new section here my custom tags and the default value is 'other' and we want to set that to 'Database server'.|
|[0:10:09]||So let's save this and activate all our changes. And now all our database servers are classified as such.|
|[0:10:25]||Next thing to do is. go back to our rules and look at the two rules we previously created and edit them in such a way that they will only apply to database servers.|
|[0:10:34]||Let me quickly show you another way to find rules if you go to setup and then rule search. Then here under rules and then used ruleset.|
|[0:10:47]||Here you have an overview of all rulesets that have at least one rule in them. Most of them have been pre-configured by Checkmk so that's why there are already a quite a few in here. But if you know what you're looking for you can rather quickly find what you need. So but of course if you know what you're looking for by name then you can simply filter on it. So CPU. and now we are at CPU utilization.|
|[0:11:16]||So now let's edit both these rules so they will use the new tag we just created.So let's click on edit and then under condition we can add a second host tag.|
|[0:11:29]||And we will add, 'application' and the value will be 'Database server'.And we can save, and as you can see there is now a second condition here.|
|[0:11:46]||So a host has the criticality has to be 'Productive system'.|
|[0:11:51]||And the application has to be, 'Database Server'. Now let's apply the same thing to the test system. So once again let's pick 'application'.|
|[0:12:05]||And add the condition database server and as you can see now we have 2 rules. Both for database servers one for the productive environment and one for the test environment. And with that, we have found an elegant way to apply general rules to a large number of hosts.|
|[0:12:26]||So now when you add a new host you just need to make sure that you set the right tags or the values for the tags in order for the right configuration to be applied to it. And that's the advantage of a host stack. Now a similar concept to host tags are 'labels'.|
|[0:12:42]||But in contrast to host tags, labels are freeform so that means you can add any number of labels to a hos,t but and then later create rules that apply to these labels.|
|[0:12:56]||The only disadvantage is that there is nothing protecting you from making typos when adding these labels. Labels can also be automatically imported by Checkmk.|
|[0:13:06]||For example when you monitor docker or some cloud service, Checkmk can import these labels and apply them to your host when you create them.|
|[0:13:15]||So now let's add some labels manually. So to add a host label we don't have to pre-configure anything we can simply go to setup, hosts and let's add one for 'dbserver2' for example.|
|[0:13:30]||Now hereunder custom attribute, you have labels so if we check that we can add a label. For example 'app:mysql', enter now it's important to know when you add a label you have to add a colon. And they are written sort of as a key-value pair and what is before the colon, the key is similar to a group when you add a host tag.|
|[0:13:59]||And what comes after the colon is the value.|
|[0:14:04]||And you can only add one label per group or per key so if I now were to add 'app123' then that should fill but I can add 'test123' for example. Let's save this and go to folder.|
|[0:14:26]||Now we can also let the labels appear here, in this view to do that you go to display And check this box show explicit host labels now you can see the labels here in the last column.|
|[0:14:42]||I can also create rules based on these labels. So, for example, let's edit the rule for CPU utilization to do that let's go to: all hosts > dbserver2 > CPU utilization. Let's edit that.|
|[0:15:04]||And now edit this rule. So here we can now add a label condition so we can say has some label for example, 'app:mysql'. And if I now save it you see that there is now a third condition. So this rule will now only apply when it's a database server and it has the criticality tag, 'productive system', and it has the 'app:mysql' host label.|
|[0:15:40]||Now you know the difference between host tags and labels. Labels are very easy to apply and you don't need to pre-configure anything but they have the disadvantage that they do not protect you against typos. So if you have a very strict setting or very strict settings and you want to only apply rules to hosts with very specific properties and you want to have the safety that colleagues do not make typos when adding labels then host tags are probably the right choice for you.|
|[0:16:09]||But if you like living on the edge or you want to use the labels that Checkmk automatically recognizes and apply for you then labels can be an interesting choice. And of course, you can use both at the same time like I just showed you.|
|[0:16:24]||So that was it for this part and in the next part, I'm going to show you folders and how you can use them to group your host together. If this video was helpful to you, please drop a like and subscribe to the channel. See you in the next part.|
Ep. 1: Installing Checkmk 2.0 and monitoring your first host
In this video, Baris explains how to take get started with Checkmk and start monitoring your first host within a few minutes.
Ep. 2: The Checkmk 2.0 user interface
In this video, Baris take you through the new user interface in Checkmk 2.0. He explains the various components of the User interface such as the new navigation menus, the Sidebar, main dashboard, tactical overview, how to switch between the Checkmk interface themes and much more
Ep. 3: Using SNMP to monitor network devices in Checkmk 2.0
In this episode, Baris explains how to monitor network devices with Checkmk. SNMP is a protocol that many switches, routers, printers, UPSs, hardware sensors and other devices have implemented with the purpose of being able to monitor them easily.
Ep. 4: Monitoring Windows in Checkmk
In this video of our Getting started with Checkmk series, Baris explains how to install a Checkmk agent on a Windows host system and add that into your monitoring environment.
Ep. 5: Using metrics and graphs in Checkmk 2.0
In the 5th episode of the Getting started with Checkmk series, Baris explains using various metrics that you can monitor in Checkmk such as CPU utilization, CPU load etc. You can also see graph visualizations for these metrics or create and customize your own as per your requirements.
Ep. 6: Updating Checkmk 2.0 and using multiple instances
In this video, Baris explains how to update your Checkmk instance. It is very easy and can be done within minutes. You can run multiple Checkmk instances with different versions on the same system. This gives you the flexibility to test the new version before using it in production.
Ep. 7 (part 1): Working with rules and setting thresholds in Checkmk
In the following three-part videos series, Baris explains rule-based monitoring with Checkmk. In the first part, he shows you how you can work with rules and set threshold values. Rule-based configuration is one of the key features for Checkmk which helps you to scale your monitoring easily within minutes.
Ep. 7 (part 3): Managing Hosts in Folder in Checkmk
In this final part of our episode on Rule-based monitoring in Checkmk, Baris demonstrates how to manage hosts in folders in Checkmk. This helps you to apply your monitoring configurations at scale and organize your hosts according to your needs.
Ep. 8: Working with Host and Service Groups in Checkmk
In this Baris demonstrates how to create host and service groups in Checkmk, so you can perform actions on an entire group instead of configuring each of them individually.
Ep. 9: Using the Quicksearch function in Checkmk
In this episode of the Checkmk tutorials, Baris shows how you can use the Quicksearch function in Checkmk. You can use it to easily find and manage certain hosts or services. He also explains some examples of filters to you. In Checkmk 2.0 you can use the same syntax in the Seach function found in the monitor menu to get identical results.
Ep. 10: Detecting configuration errors with the Analyze Configuration feature
With the Analyze Configuration feature, you can check if there are any configuration errors in your installation. Checkmk controls a number of possible security risks or potential performance restrictions and indicates if there are any problems.
Ep. 11: View creation and customization in Checkmk
In this video, Baris demonstrates how to customize headers, columns, and more in Views in Checkmk for yourself or other users. He also explains how to create custom views and add desired information to these views.
Ep. 12: Acknowledging problems in Checkmk
In this video, Baris explains how you can acknowledge problems in Checkmk. This function helps you to qualify the states of hosts and services. This allows you to keep track of messages in the main dashboard and, for example, you can add comments to problems.
Ep. 13: Scheduling downtimes in Checkmk
In the episode of our Getting started with Checkmk series, Baris explains how you can manage the maintenance times of your systems in Checkmk. Such scheduled downtimes prevent your monitoring from sending false alarms when a host or service goes to WARN or CRIT during maintenance work. You can also inform the users concerned about the maintenance via Checkmk.
Ep. 14: Distributed monitoring with Checkmk
In this video, Baris explains how you can connect several Checkmk instances to a monitoring system and then manage it.
Ep. 15: MKPs and Plugins in Checkmk
In the 15th episode of our Getting started with Checkmk tutorial series, Baris explains what are Checkmk Extension Packages (MKPs) and how easy it is to integrate them into your Checkmk monitoring environment. MKPs are the preferred format when you make your own extensions as it makes it easy to share with other users or deploy in distributed environments.
Ep. 16: Working with 'Bulk Actions' in Checkmk
In this episode of our Checkmk tutorials series, Baris explains how you can save a lot of time with bulk actions. With this feature you can perform various tasks such as deleting, renaming, service discovery etc. on a large number of hosts simultaneously.
Ep. 17: Working with network topologies in Checkmk
In this video of our gettign startted with Checkmk series, Baris explains how to map network topologies in Checkmk. This feature is quite helpful to manage your network and prevent any unnecessary notifications from the devices in your network.
Ep. 18: Creating and customizing dashboards in Checkmk
In this video of our Getting started with Checkmk series, Mathias explains how you can create and customize dashboards in Checkmk 2.0, so you can get insights into your monitoring according to your requirements. Find out more in this video.
Ep. 19: Monitoring websites and their certificates with Checkmk
In this episode, Bastian demonstrates how to monitor a website and its certificate with Checkmk. You can also monitor specific web pages with Checkmk by using the several options that will suit your use case. Learn more in this video.
Ep. 20: Configuring dashboard elements in Checkmk
Learn how to add data visualization elements of the various metrics into your Checkmk Dashboard. In this video, Mathias explains how you can configure these elements and create a dashboard as per your requirements.
Ep. 21: Setting up notifications in Checkmk
Learn how to set up notifications in Checkmk and assign relevant contacts and contact groups to be notified for various events. Later in this video, our presenter Bastian also demonstrates how you can set up rule-based notifications according to different conditions for hosts and services.
Ep. 22: Monitoring logfiles with Checkmk
Monitor your logfiles with Checkmk using its Logwatch plugin. It is very useful when you want to monitor your logfiles regardless of whether you are using a UNIX/Linux or a windows based system. Learn more in this video.
Ep. 24: 3 Rules for efficient network monitoring
In this video, Bastian demonstrates 3 rules that will help you to efficiently monitor your network interfaces. With Checkmk 2.0, with just three rules, you can set up an efficient network monitoring that will not only monitor all of your network interfaces but also simultaneously provide a detailed overview of all of your ports.
Ep. 25: New UX and security improvements in Checkmk 2.1
Checkmk 2.1 come with many UX improvements such as pre-built dashboards for Linux and Windows, faster core performance and much more. Security features such as two-factor authentication etc. were also added in this new version. Watch this video to learn how to use these new features and enhancements in Checkmk.
Ep. 28: Working with InfluxDB integration in Checkmk
Learn how to send data to InfluxDB from Checkmk. As InfluxDB introduced a new protocol to send data to it, a new connector was developed with Checkmk to talk natively with it. Learn more about it in this video.
Ep. 29: New agent architecture in Checkmk 2.1
With Checkmk 2.1, the agent architecture was modified to enable performance improvements and add new features such as TLS encryption, data compression, and the reversal of direction of communication from the agent. This will enable push mode and pull mode.
Ep. 30: Clustering the Checkmk appliance
In this video, Robin demonstrates how you can cluster your Checkmk appliance to make it resilient against hardware failures. If you are using the Checkmk hardware appliance, it may be helpful to cluster your appliance to maintain high availability.
Ep. 32: Working with the Agent bakery in Checkmk
In this video, Robin demonstrates how to roll out agent packages with the required configuration for different monitored systems using the agent bakery in Checkmk. The "Automatic agent update" is quite a helpful feature as it pulls the latest configurations for an agent automatically and you don't need to manually update all of your agents deployed on different systems.
Ep 33: Monitoring Docker containers with Checkmk
Learn how to monitor Docker containers with Checkmk.In this video, Robin demonstrates the process of setting up a rule to configure the docker plugin and bake an agent with the desired settings for the Docker host.
Ep 34: Introduction to Checkmk Ansible collection
Last year the Checkmk Ansible collection was created to interact with the Checkmk REST API. In this video, Robin demonstrates how you can use this Ansible collection to automate your monitoring with Checkmk.
Ep 35: Monitoring SQL databases with Checkmk
In this video, Robin demonstrates how you can configure your Checkmk site to monitor your SQL databases. As there are many flavours of SQL databases, the process is mostly the same.
Ep. 36: Introduction to different types of checks for monitoring with Checkmk
Learn about the different types of "checks" and services in Checkmk. In this video, Robin demonstrates how you can expand the information collected by your Checkmk agent using these different "Checks".
Ep. 43: Working with Hardware/Software inventory in Checkmk
In this video, Robin demonstrates the hardware/software inventory feature in Checkmk. With this feature one can get an overview of various pieces of hardware present in their servers, switches etc. and also the software packages installed on their operating system. Watch this video to learn more.