|[0:00:00]||Welcome back to the Checkmk channel. In this episode, we're taking a look at distributed monitoring.|
|[0:00:14]||Distributed monitoring means that you use multiple Checkmk servers to create one large monitoring system and there are multiple reasons to create such a setup.|
|[0:00:24]||One could be scaling for example when you have more hosts than you can monitor on a single server. Even though Checkmk's performance lets it scale very well if you have a very large number of hosts then you might get to the point where you need a second Checkmk server. At that point, you can choose to create 2, 3, 4 or as many Checkmk servers as you need and connect them all together to create one large monitoring system.|
|[0:00:55]||Another reason could be that separate Checkmk servers are managed by different parts of a company so for organizational reasons. But in the end you still want one complete overview of the entire monitoring of the company.|
|Then there is networking, let's say that you have a location in Munich and one in New York. If you would work from New York but your monitoring system is located in Munich and every time you would query a host located in New York, data with ping-pong over the Atlantic ocean four times.|
|[0:01:29]||Instead, you could set up a local server in New York, which would monitor all the hosts in New York and then connect them together using distributed monitoring to monitor both locations.|
|[0:01:42]||This would also cover the issue of availability. You want your monitoring system to keep working even though that there is no connection available to a remote site.|
|[0:01:54]||General security: it might be the case that you cannot monitor location A from location B for security reasons or that there is a DMZ, a secure area where monitoring access is not desirable.|
|[0:02:09]||In that case, you could create a Checkmk site for that secure area and integrate that into your larger monitoring system. And how this all works, and how you can create a distributed setup using multiple Checkmk servers is what I will show you.|
|[0:02:25]||Our starting point will be this normal Checkmk site with 6 hosts that we have used throughout the series.|
|[0:02:33]||Now the next step will be to create a remote site, so a second site that we then want to integrate into this one. To do this I will switch to the command line of our Checkmk server.|
|[0:02:46]||Now normally this would be your remote server but in this case, it's the same server as our main one. Because it's just an example and it will work just fine.|
|[0:02:57]||So now let's create the server with the 'omd create' command. So 'omd create' and let's stick with the example of New York and call this one 'checkmk_new_york'. Okay and now that this is done we can change the password into something which is easy to remember.|
|[0:03:28]||So we log in using 'su -checkmk_new_york', and now we can copy this command, select it and copy paste it with the middle mouse button. And set your password.|
|[0:03:59]||Now the first important step is to allow access from a remote location. The way this works is that the main site connects on a specific TCP port, in order to fetch the status data from the remote site. To do this we use the command 'omd config'.|
|[0:04:20]||Then navigate to distributor monitoring. And here we activate the LIVESTATUS_TCP.|
|[0:04:33]||Now we should also configure an IP address here and this is the IP address from which this server is reachable, you can also setup encryption here but this is already enabled by default. I will leave the IP restriction for what it is now but normally it's recommended to set this to the IP address of your main Checkmk server. Now we can go back to the main menu. And exit.|
|[0:05:07]||And the only thing left to do is start the site so, 'omd start'. We are now at the point that this remote site is ready to be included into our monitoring.|
|[0:05:25]||It's important that you write down or remember the port on which you will be connecting. The default is set to 6557 and I have not changed it but if you are going to connect multiple Checkmk sites to one main site and of course you're going to have to configure multiple TCP ports.|
|[0:05:45]||All further steps can be done directly in the interface of our main site. To do this we go to the setup menu and search for distributed monitoring, here we can add a new connection to our remote site. You already see our main site here this has been added automatically to add our remote site click on add connection.|
|[0:06:10]||For our site ID, we need to enter the name of the remote site exactly how we typed it while running the 'omd create' command. So in our case checkmk_new_york. And for the alias we'll use New York.|
|[0:06:34]||Important as the IP address of the server on which your remote site is running and also the the TCP port which you saw in the menu when we ran the 'omd config' command.|
|[0:06:54]||And to keep everything nice and secure we of course want to use an encryption but in our case we are going to have to uncheck this box here.|
|[0:07:05]||We have to do this because we have now generated a certificate with our own ca this means that a certificate on our remote site is automatic randomly generated one and therefore we can unfortunately not verify it.|
|[0:07:16]||If this is something you want to set up for your own monitoring system then you can find all the information in our documentation. The live status proxy is a feature of the enterprise edition that optimizes waiting time for very high latency connections.|
|[0:07:33]||For example over the Atlantic ocean and then also recognize or detects when remote sites are not available. I will also have to configure the URL prefix here on which the user interface of the remote site will be available. In our case that will be the IP address followed by the name of the site.|
|[0:08:08]||Next thing we need to go to this last section configuration connection. And here we have two options you can either say that the site is managed from its own location. So admins in new york manage their own Checkmk to setup host themselves.|
|[0:08:25]||And then in Munich you just have one central status overview from where you can run operations and have all the insights.|
|[0:08:32]||The other variant which is more common nowadays is that you have a central configuration, so that your monitoring feels like one big system and then in new york nothing is really being touched but everything is handled from within the Munich side.|
|[0:08:50]||To set that up you have to choose here for push configuration to this site. This means that the configuration from your main site is being pushed to this remote site. The next thing we have to do is to set up the URL of the remote site.|
|[0:09:05]||This is the same as we had before so we can copy that the only thing we need to add is "check_ mk /" the rest we can leave as this and simply press save.|
|[0:09:25]||Next thing we need to do is log in to the remote site.|
|[0:09:29]||Until now we have only set up a connection but we need administrator access to access this remote site and we can actually push our configuration then to it. To do this we need to set the credentials for a one-time session and you can do this when you click on this key icon here.|
|[0:09:23]||The credentials will not be stored but only used this one time to perform an initial handshake and we'll use the cmkadmin user for this. We also need to confirm that we want to overwrite the configuration of a remote host with that one of our main site.|
|[0:10:12]||In our case our remote site is empty because we have just created it but if you would have already worked in your remote site for a long time and have hundreds of hosts in there then those would be overwritten.|
|[0:10:24]||So to integrate a site with existing host this way is not automatically possible, if you want to take over existing host then you would need to do that in a different way. So let's type in our password and select the checkbox to override the configuration. Now press login.|
|[0:10:49]||And you will see that we have now set up a connection. The check mark on the right is for the connection of the configuration, the one on the left is the status connection used to get the states of all the hosts and services.|
|[0:11:07]||And to try it all out we are now going to add a new host to the monitoring system, which should be monitored in New York. We are currently still logged in into our main site in Munich, but we want to add the host that is actually created in New York and now that that is very easy.|
|[0:11:28]||We simply go to setup and then hosts and we will create a host like we would normally do to add host the name will be checkmk_new_york. So this will be the monitoring server itself in New York. Now the important thing is this attribute here 'Monitored on site', and here we pick on which site this host should be created. So in our case New York.|
|[0:12:03]||That means that this remote site will retrieve the data from the agent and it's also possible that this remote site can access host in its network that the main site cannot access.|
|[0:12:16]||The only thing left to do now is type in the IP address, and press Save & go to service configuration.|
|[0:12:32]||And now it's actually the host in new york that is contacting the agent and is performing the service discovery. And this looks pretty much the same as it would if you add a host to a single site setup and this is on purpose because we want to make it feel like one large monitoring system.|
|[0:12:52]||So let's press fix all to monitor everything and activate the changes. And now here you also see a change, there is a second row for the second site that we added.|
|[0:13:17]||We added the host to the New York site that's why you see this icon here indicating that there are changes to be activated on this site while our main site is still up to date indicated by this green check mark here. Now let's press on 'Activate on selected sites '.|
|[0:13:40]||Then only those sites will be restarted which have pending changes. And like you can see now both sides have a green check mark indicating that everything is up to date. And when we now go to all hosts you see that there is a new host here in New York.|
|[0:14:09]||And in the overview, you see now that there are seven hosts six in our main site and one in our New York site. And like that we have configured a distributed monitoring system which feels like one large system and it has the advantages of being scalable simply by adding new sites, it's failsafe you can monitor into secure network areas without going to a firewall and many more.|
|[0:14:35]||There is also a useful sidebar element or snap-in for when you use distributed monitoring let's go to a sidebar and click on the plus icon and we now scroll down there is an element or snap-in called site status we can add it by clicking on it.|
|[0:14:59]||And besides showing the status of each of our sites we can also use it to toggle on and off the information or data of this site. So let's go back to our host view. And if we now toggle ON or toggle OFF New York. You'll see that the view is updated and we don't and all the data from it from this site is excluded.|
|[0:15:31]||It's important to know what happens when sites become unreachable, one of the important principles of distributed monitoring is that all the monitoring data remains on the remote sites and it's not being transferred to the main site the entire time and this is important because this is one of the reasons that it's very scalable.|
|[0:15:46]||If you would for example have 100 sites each with a million hosts then writing all that data into a central database is quite pointless. There is no database in the world that lets you write such a large amount of data in such a short period of time. So this not only ensures scalability but it also makes sure that your remote site can keep working independently if ever the connection to the main site is unreachable.|
|[0:16:18]||Or on the other hand if the remote site becomes unreachable then you won't see any outdated data but rather you won't see any data at all it won't be visible and the status of the connection will say that it's dead and that the data is incomplete.|
|[0:16:29]||So when a remote site is unreachable it's quite pointless to see the status of one hour ago and that's why we don't show you any outdated data.|
|[0:16:43]||But rather we say that there is a problem with the connection and as soon as the connection becomes available again you will also receive the current status. So there is no backlog of monitoring updates but instead you will see up-to-date data of the remote site as soon as it's available.|
|[0:16:54]||So that was it for distributed monitoring and of course there are many other interesting aspects to it like what happens to alerts? What happens to the event console? And all of that you can find in our documentation.|
|[0:17:11]||Thanks for watching I hope this was interesting to you. If so subscribe to the channel, like the video and I hope to see you in the next episode.|
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. 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.