Simplify disabling services

To preface, I understand that services can be “disabled” by creating a discovery rule which disables services across wildcards. I find this process cumbersome, however, and I think it would be a great feature of CheckMK to have a toggle in each service definition to disable the service. Even better would be a set of check boxes alongside the services that one could check/uncheck to activate or deactivate the service monitoring. This change would offer a couple of advantages:

  1. Administrators could see at a glance which services are actively being monitored.
  2. It would be easier to switch services on and off as needed.

Right now, we’re having to go through and whittle down the services we don’t want, which is cumbersome, and then we run the risk of generating late-night pages for some service we missed. Having a better visual representation of the services which are active vs. not would be very helpful in this regard.

how about using the discovery page of a host?



My version of checkmk does not have those check boxes and looks slightly different. In any case, it is counter-intuitive to activate/deactivate services globally via the discovery page for an individual host. I am asking for the ability to disable discovery for a given service throughout the environment.

1 Like

What do you mean with “throughout the environment” exactly?
You need to see the complete CMK system more like a firewall system. It is completely rule based.
Also every single disabled check generates a rule in the background.
At config generation time the system valuates all the rules and builds a result set what should be done with all my systems.
Now you have already some options how to build rules.

  • define a global rule without any condition to disable some type of check or some check description over the whole system
  • define a global rule with different conditions - these range from host names over service description to tags and labels
  • what @kdeutsch showed the possibility to some services directly on a host - this results in an explicit rule for these services on the selected host
  • use the red X button to disable a single service what also results in an explicit rule

You see there a implicit and explicit rules possible to define what should not be monitored.
Where is now the real problem. Keep in mind that the whole system is rule based.

you have not told us, which version of Checkmk you are using … My screenshots are from Checkmk 1.6.


@kdeutsch Sorry, I thought I had specified in my initial post that this is 2.0.

@andreas-doehler Yes, I understand all that. I am suggesting instrumentation in the GUI which allows the user to disable a services globally without having to explicitly write a rule for each one. For example, in our case, we have no interest in the DotNet Memory Management service, so I would just like to disable it. Obviously, I can write a rule to do so, but it would be easier to check a box, especially if I want to disable multiple services.

.Net Memory can also be disabled globally in the agent configuration:


Right . . . again, my request is to simplify service management. Editing a YAML file or drilling down into specific agent configuration is certainly a solution, but neither really addresses my fundamental point.

As i say it again. This what you want must result in a rule. Nothing else.

This exists in form of the “Disabled checks”. There you can disable globally every check you want.
But it is also a rule - no condition = globally activated.

I think we are talking past each other at this point. I completely understand what you’re saying, but I don’t think you understand what I’m asking for. It’s a relatively minor usability enhancement in the grand scheme of things, so I will continue to create rules by hand.

How granular are you trying to be? Configuring “Views” with the services groups/hosts groups targeted, then just putting everything in that particular “view” in downtime is really fast and easy.