Yes - discovery is done on central monitoring machine, and depends on what
data the check command for target machine delivers.
A bit more in depth explanation.
Check_mk generates a nagios configuration with array of passive checks, and
it informs nagios about their changes on a regular basis.
The discovery of services is done on target monitoring server, by analyzing
output of a check method assigned to a given machine.
The choice of method is quite wide, you can directly contact check_mk agent
on target machine, you can run it over ssh, you can use SNMP data, or you
can run your own custom command as long as it produces a output that looks
like typical check_mk agent output (so it can be parsed later).
Personally, i monitor local network and a bunch of aix/linux servers over
SSH tunnel to remote site. I also have separete check_mk installation on
one client's network and just plug his installation into mine through
multisite config. So it is possible to have a pretty complex configuration
with just one central monitoring server, or one with multiple monitoring
servers.
As for updating nagios config - it all happens on the central server.
Check_mk on monitoring server queries a given machine, gets the agent
output and looks through it. It's structured somehow like this
<<<plugin_abc>>>
data
data
data
<<<plugin_xyz>>>
data
data
data
(...)
where data lines are arbitrarily formatted data.
e.g. a bit of output from windows machine
(...)
<<<uptime>>>
1631115
<<<df>>>
System NTFS 94859248 37345700 57513548 40% C:\
Data NTFS 133164028 85717972 47446056 65% D:\
(...)
If check_mk has a parser for e.g. "uptime", it will define it as a nagios
service and use that parser to feed nagios with service data. Similarily
for "df", which will generate services for each partition/device/LUN/etc
(depending on data obtained) and produce information on each of these.
If there is a section not matching any installed parser script, it will be
ignored. This way it's possible to mix different versions of agents and
monitoring systems.
Supported systems for agents are linux, possibly all unix-compatible
systems (aix, hpux, bsd? ), windows. You can monitor various appliances
over snmp or make check_mk agent run custom commands on local monitoring
machine (e.g. for checking ibm storage hardware, oracle databases,etc).
As for central server, not sure. I only run it on linux, but in theory it
should be possible to run wherever you can run nagios.
Post by Alan RobertsonHi,
I'm looking at a variety of monitoring and discovery applications for a
paper I'm writing and checkmk recently came to my attention. So, I have
a few questions...
I was curious how it works - does it discover strictly on the local
machine it's running on? Or does it go across the network?