Role-Based Discovery Rules for Intelligent Infrastructure Management
Currently, the "Process Discovery" ruleset serves dual purposes: monitoring processes and auto-discovering server roles. While it is possible to use host labels for discovery purposes, this is not the main goal of the ruleset and represents a powerful capability that deserves dedicated support. Usually, the definition of server roles is done manually by using Host Tags, which might lead to errors and inconsistencies. A dedicated discovery ruleset would unlock the full potential of automated role detection—allowing organizations to build intelligent, self-configuring infrastructure that automatically adapts monitoring strategies based on what it discovers, rather than requiring manual classification.
Example 1 - Oracle Database Server:
Rule: IF (process "oracle*" is running) OR (folder "/u01/oradata" exists)
THEN → Assign role "database" (generic) + "oracle_database" (specific)
→ Install "Oracle Monitoring" plugin
Comments: 3
Oldest
•
Newest
•
Most likes
•
Fewest likes
-
26 Mar
Paulo Santana PinnedHighlighted comment
After discovery, Checkmk would automatically detect roles based on rules (like running processes, services, or specific folders/files), identify compatible plugins, and suggest them to the administrator. The admin would then decide which plugins to enable—for example, skipping MSSQL monitoring if it's not needed. This reduces manual work, catches things we might miss, supports self-made applications through flexible detection rules, and helps new team members quickly understand what can be monitored on each server. -
19 Mar
David Lechevalier AdminHi!
Let me sum up and ask questions to make sure this idea is clear to us. If I understand correctly, you want to bring up a new concept "server role", and want to be able to set rules to automatically set this role during discovery. Your problem is that you cannot achieve this today, because host tags are error-prone.
What would be the following actions once the role is set to a host? What would you do yourself, or what would you expect from Checkmk?
Thank you! -
25 Mar
Lars SörensenExtend the existing discovery rules to apply tags and labels to a host based on various conditions like in the process discovery rule, where labels can be automatically assigned to a host when the corresponding process is detected.
We could then automatically apply additional rules to the corresponding hosts based on these tags and labels. For example: if a Oracle instance is detected, checkmk could deploy the mk_oracle plugin, raise the memory threshold to a specific value, and assign dba-team as the contact.
https://ideas.checkmk.com/suggestions/361014/add-labeltag-if-windows-service-or-systemd-service-is-doscovered
https://ideas.checkmk.com/suggestions/694255/service-discovery-assign-labels-during-discovery
https://ideas.checkmk.com/suggestions/297323/adding-host-labels-via-local-scripts
https://ideas.checkmk.com/suggestions/312010/set-labels-based-on-software-inventory