Oracle: Use CheckMk for Oracle Database monitoring

This is how to easily use CheckMk for Oracle monitoring

Oracle: Use CheckMk for Oracle Database monitoring

Since the beginning of my career, I've been struggling with monitoring of Oracle databases. Not because it's hard to do - it's just because there are so many monitoring solutions, and so many requirements by the customer. Or - even worse - when the customer doesn't have a monitoring solution.

Oracle database monitoring can be done by many different solutions:

  • Oracle Enterprise Manager Cloud Control
    • High hardware requirements
    • not easy to implement
    • supports many Oracle products
    • supports other database systems, like MS SQL, MySQL
    • doesn't support some database systems, like PostgreSQL
  • Nagios, CheckMk
    • support very many other software and hardware products
    • not easy to implement complex environments, e. g. RAC and DG systems

But for easier environments, CheckMk is a great monitoring solution. The mk_oracle plugin brings everything needed for a single (or many single) databases:

To implement it, you only need:

  • running CheckMk
  • CheckMk agent on the target system
  • plugins mk_oracle (and mk_oracle_crs for the GI) from Setup -> Linux -> Plugins -> mk_oracle and mk_oracle_crs
  • Login information in /etc/check_mk/mk_oracle.cfg

The easiest - and most insecure - login configuration looks like this:

DBUSER='sys:<password>:SYSDBA:<hostname>:<port>'

A better solution is to use the Oracle wallet for that. You'll find it in the CheckMk documentation under 2.3.