May 24. 2015
OMD - The Open Monitoring Distribution
OMD - The Open Monitoring Distribution - is a successful project
started in 2010 by Mathias Kettner. It is a distribution of
several monitoring cores (Nagios, Icinga, Shinken) and addons
the makes open source monitoring a lot easier while at the same
time keeping all the flexibility that friends of Nagios & Co
are used to.
OMD ist not a Linux distribution but just ships the components of the actual
monitoring software. It comes as one single package. The official project
homepage is omdistro.org. We also offer a subscription to a download of pre-built
packages of OMD for more than a dozend Linux distributions bundled with all
available Check_MK versions.
Check_MK is part of OMD. This article describes some of the specialities
when using Check_MK within OMD.
Directories and files: what is where?
While manual installations of Check_MK have individual settings
of all relevant directories and file paths, OMD uses non-configurable
standardized paths. If you are new to OMD you might think that this is
a drawback. But soon you will realize the advantages of this approach.
One of them is that paths used in this article are valid for all OMD
installations 'round the world.
Since we have one variable component in all paths - the name of your site - we will assume that:
- Your site has the name mysite
- We use ~ to abbreviate the sites home directory /omd/sites/mysite.
Paths used by Check_MK within OMD
||Configuration of Livestatus. This file
is referred to by a symlink in ~/etc/nagios/nagios.d and will be included
in nagios.cfg (OMD uses a modular nagios.cfg).|
||Configuration for Livestatus via TCP. This file is being used, when you
have enabled LIVESTATUS_TCP via omd config. The most common
change here is the setting for only_from.|
||Base directory for the configuration of Check_MK
and Multisite. Here you will find main.mk and multisite.mk.|
||Installation settings of all components of Check_MK. This file is being created
and dealt with by OMD. Do not change anything here.|
||Variable data that is persisted over a reboot. Please note that OMD make consequent use of
a memory based filesystem (tmpfs) in order to minimize IO. Some directories usually
put below /var/lib/check_mk in manual installations are missing here.|
||Cached agent output from hosts|
||Current values of performance counters from hosts (needed by checks for computing rates and averages)|
||Installation of Check_MK software (checks, modules, web pages, etc.)|
||Agents for the various operating systems|
||Livestatus broker module|
One main difference of using Check_MK in OMD as opposed to a manual
installation is the availability of the local hierarchy. It is a
directory structure within each site that is used for (your) local extensions
of Check_MK. You can install your own checks, Multisite-Plugins and other
things directly into a site without modifying OMD and without root
permissions. You can even override static files (images, stylesheets)
for the web application by simply putting them into the correct directory.
Directories below ~/local/share/check_mk:
||Your own Check_MK checks|
||Man-pages for your checks|
||Your own templates for PNP4Nagios|
||Base directory for extensions and overrides of the Multisite GUI|
||Put your versions of Multisite icons and images here|
||Base directory for various Multisite plugins:|
||Definitions for your own dashboards|
||Icon plugins for custom icons in Multisite views in the columns Host/Service-Icons|
||Definitions for your own web applications that use the Multisite framework|
||Your own Perf-O-Meters|
||You own sidebar snapins|
||Plugins for Multisite views like own columns, filters, layouts, sorters and builtin views|
||Plugins for WATO|
Using MKPs in OMD
Check_MK has its own packager for managing extensions (like collections of
own checks). Check_MK packages are calles MKPs and are easy to create and install.
When you install an MKP within an OMD site then the file will automatically be put into
the local structure of the site. You do not need root-permissions
for installing MKPs. Please note, that MKPs are always local to one site.