I have an oracle db (CDB) with several PDBs. I want to skip monitoring (collecting data) for 1 specific pdb, instead of having it disabled in the config of services. Is there a way to skip just one pdb and still moinitor the rest of Pdbs and CDB
According to the documentation you can set a SID to skip but it doesn’t say anything about skipping a pdb in a SID (CDB).
Unfortunately, no – Checkmk still does not provide a way to operate at the PDB level. The available configuration options only allow skipping entire CDBs, not specific pluggable databases within a container.
Although the multitenant architecture has been available since 2015, Checkmk has not yet deemed it necessary to implement support for granular PDB-level monitoring control. I heard that the development team is currently working on a new SQL-based plugin, which will hopefully reach production maturity in a few years and cover such scenarios.
Let’s hope it doesn’t take years
We have done major steps and invested already a lot in the last months into the next generation Oracle monitoring with Checkmk.
The README already provides a hint at the options possible. This will be the foundation for further improvements in that area.
The autodiscovery of mk_oracle detects only the CDBs and is not aware of the configured PDBs inside a CBD. Therefore, only CDBs can be excluded directly in mk_oracle. The PDB data appears in the output only because some queries return metrics for all PDBs within a CDB.
If you want to exclude information for a specific PDB, you need to configure this on the Checkmk side by creating a “disable service” rule. This rule ensures that the corresponding PDB services are no longer displayed in the GUI.
The “disable service” works for some cases but not in this specific. I wanted it not only to be disabled but not even collecting the data. But now I know that curretly it is not possible.