Ep. 36: Introduction to different types of checks for monitoring with Checkmk
Read Video Transcript
|[0:00:00]||What are checks and services in Checkmk? Let's find out.|
|[0:00:13]||Welcome to the Checkmk Channel. You might have come across several terms when looking at Checkmk.|
|[0:00:20]||We have Services, we have Checks, we have Active checks, we have Passive checks. There are Local checks and MRPE-checks. And there is also native plugins or plugins in general.|
|[0:00:32]||So, there's a lot of terms and sometimes that creates confusion, what is what. So, in this video, we'll take a closer look at all of these terms and you will learn what is what and how to differentiate between them.|
|[0:00:44]||So, let's start with the first one. Let's take a look at services and checks. So, let's take a look at our example host over here.|
|[0:00:54]||That has a lot of services, as you can see. And if we navigate to the Service configuration, there was a very easy way to see and understand the difference between services and checks.|
|[0:01:05]||We have the option to show the plugin names here. And if we take a look at that, then we can see we have services on the left side. That's this column here.|
|[0:01:17]||And we have the check plugins, which are on this side here. And this is what's commonly called checks, which is actually check plugins. And here you can see, for example, we have the df check plugin.|
|[0:01:30]||That's there several times and each time it is one service. So, a service basically is the result of a check plugin. And a check plugin can create several services or several instances, if you want to put it that way.|
|[0:01:44]||That's the main difference here. And in this view, you can instantly see the difference and what it is.|
|[0:01:53]||So, as a consequence, if you want to disable services, for example, you can think about how to approach this question. Because if you look at this, we see there is the df plugin.|
|[0:02:05]||So, say, you want to disable all file system checks for some reason, I don't see a reason here, but just for the matter of discussion, you would want to disable all the file system services.|
|[0:02:17]||Then we can take a look at the Setup, search for disabled. And there we have the option to, say, Disabled checks.|
|[0:02:25]||And that will disable the file system plugin or in this case, or specifically, the df plugin.|
|[0:02:31]||But that means that you will get no file system Services whatsoever, no matter where they are, depending on how you configure the rule, of course. But that would disable the monitoring for all file systems.|
|[0:02:44]||If you just want to disable the monitoring for certain file systems, then you would go with the rule Disabled services, which would effectively just disable the services that you put in there.|
|[0:02:55]||Say, you just don't want to monitor the root file system or the C drive on a Windows system, doesn't make sense at all, don't do that, but you could do it like this.|
|[0:03:06]||This is especially interesting if we think about SNMP devices because there you have the possibility to actually disable sections.|
|[0:03:15]||So, if you disable services, then you just disable them on the server side. The information is still queried, but the server will not display it in the running monitoring configuration.|
|[0:03:26]||With SNMP devices, that would mean that all the information is still queried. But you don't want that because you want to reduce load.|
|[0:03:33]||If you're not seeing a service, you don't need the information queried. That's when you would go with the disabled sections because in that case, you wouldn't even fetch the information.|
|[0:03:44]||And that also works for the agent, so you could also disable complete sections there and just not fetch the information.|
|[0:03:49]||So, this is the first part. This was the difference between services and checks and how to work with disabling them.|
|[0:03:58]||So, now let's take another look at what active and passive checks are and what it means.|
|[0:04:07]||For that, we navigate again to our example host but this time in the running monitoring configuration. There we are.|
|[0:04:15]||And there we can see all the services in here and I'm actually going to use a little trick here to easily showcase what's going on.|
|[0:04:24]||This might be something that might help you in a daily business as well. I'm gonna change the built-in icon visibility. And I want to have the reschedule button directly in the column.|
|[0:04:38]||You will see in a moment what that does. And if we now go back again to our host, then we can see the circles here, and those are used to reschedule the check.|
|[0:04:50]||So, if we want to have up-to-date information, we could reschedule the Checkmk service, and that would fetch all the information.|
|[0:04:57]||If you've worked with Checkmk before, you know that the agent fetches all information at once, and then on the server side the results get calculated.|
|[0:05:05]||And we can see that here because the Checkmk agent has a yellow circle here. And most of the other services like the file system services, for example, if we scroll down really every most of the services that we have here, have a gray circle, and that means those are passive checks.|
|[0:05:23]||And if we hover over them, we can see that it says, "Reschedule 'Checkmk' service," which means, if we reschedule any of these Services effectively, the Checkmk service will be rescheduled and fetch all the information.|
|[0:05:36]||And that's the difference here. And a passive check receives information from a data source and then gets presented here. An active check directly does something.|
|[0:05:47]||So, in this example, that's the Checkmk agent. That is actively fetching the information, and there are some more checks, as you could see.|
|[0:05:54]||So, we have the discovery service, we have the hardware software inventory service, both of them are active checks.|
|[0:06:00]||They are not based on the agent themselves, they run directly. And also, we have, for example, other checks which we will discuss in a few moments, which are also active checks and are not based on the agent here.|
|[0:06:17]||So, that's the general concept of passiveness and activeness. The next topic that we have are MRPE Checks.|
|[0:06:28]||MRPE Checks come from the old Nagios world or from Nagios compatible plugins, and Checkmk can integrate those, and that's what we call MRPE.|
|[0:06:40]||That's a system that enables you to use this plugins just like they were Checkmk plugins.|
|[0:06:47]||Yeah, they're becoming kind of rare, to be honest. There is certain use cases, but Checkmk covers most of the use cases that you have, so it's kind of a rare situation where you might need them.|
|[0:07:00]||But it's still possible to integrate those plugins. Of course, they are not configurable through the user interface or at least, not as nicely as native Checkmk checks.|
|[0:07:12]||Yeah, but they're still available. The next thing to extend the services that you're monitoring or to extend the plugins are so-called Local Checks.|
|[0:07:21]||That's the easiest way to extend your monitoring because you can write them in really any language your Checkmk agent can run, depending on whether it's on Windows or Linux, for example.|
|[0:07:32]||And you can just use the language that you want, but all the logic will be inside that plugin, so it will be a file that's run by the agent, it has to be executable.|
|[0:07:42]||And then you put all the logic in there, and you just need to follow a certain format in the output. And this output then gets sent to Checkmk to the Checkmk server.|
|[0:07:50]||And that will calculate the results, but there is no configuration done from the Checkmk server side. And how that looks like? We can see in the web UI because I already prepared a check here. let's quickly scroll down.|
|[0:08:09]||And that's this nice little service here, My first service. It's an example taken from our official guide, and you can see it's in an OK state.|
|[0:08:18]||It just says, yeah, this is a static service, it's always OK. And what that looks like on the agent side?|
|[0:08:25]||We can see in the terminal right here. So, if I take a look at that file, I already put it in the local folder of the agent, and there you can see it's just called foo.sh.|
|[0:08:37]||And if we take a look at that, we can see the basic format of this local check, which is simply the status code here.|
|[0:08:45]||Actually, if we replace that, for example, with 1 for a warning State and write that, we will see that in the user interface in a few moments, then we can see after the status field, we have the service description. This is where the My 1st service comes from.|
|[0:09:02]||If there are blanks in there, you have to quote that string, otherwise you just have to get rid of blanks. But you're free how to name your service there, completely free.|
|[0:09:12]||Then here where the - is you could put in performance data, that would actually be computed by Checkmk. In this case there is none, so there is this -.|
|[0:09:22]||And the last part is the long output, where you can really write anything you want. That gets just sent to the Checkmk server, and as you saw, it is shown in the service summary.|
|[0:09:33]||That can be an information that you want there. So, switching back to the user interface, and you can see, as I said, the status has changed here because it's entirely based on the script, but everything else is the same.|
|[0:09:47]||The service name is the same and even the long output because I didn't change it. It's the same here and it still says, "it's always OK", although it's not.|
|[0:09:55]||So, that's a really easy, really approachable way to extend your monitoring, but it's also quite limited in what you can do with it. So, as a last option that you would have is the Native Checkmk plugin.|
|[0:10:13]||And that's really the the gold standard, that you would want to have in the end.|
|[0:10:18]||But you have to have Python skills to do that because you need to actually code something, you need to have a check plugin on the server side, that calculates the results of the data that is fetched.|
|[0:10:31]||And you need some sort of agent site plugin that will fetch some data for the check plugin to consume and to compute.|
|[0:10:38]||That could be, for example, an SNMP check, so it could be fetching an SNMP or ID and using the check plugin to calculate that data.|
|[0:10:46]||Or you could put a piece of code into your agent that's fetching some information from that system, sending it to the Checkmk server, and the check plugin there would then compute the result.|
|[0:10:58]||But I said, you need some Python skills for that to get started. But then in the end, you will be able to have the very same experience as with built-in plugins that we already ship with Checkmk.|
|[0:11:10]||With that, I'm going to leave you for today. Thank you so much for watching. Be sure to subscribe to never miss another video, and I will see you around.|
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 2): Smart rules with Host Tags in Checkmk
In the second part of this video, Baris explains using Smart rules with host tags in Checkmk. In the first part, he shows you how you can work with rules and set threshold values. These are features that you can use to build your rules even more intelligently and to better organize your monitoring.
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.