Skip to content

A Ruby parser and generator for Nagios

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
COPYING
Notifications You must be signed in to change notification settings

cigor/Naginator

This branch is up to date with puppetlabs-toy-chest/Naginator:master.

Folders and files

NameName
Last commit message
Last commit date
May 19, 2006
May 16, 2006
May 17, 2006
Jul 2, 2006
Feb 12, 2009
May 16, 2006
Dec 6, 2008
Feb 10, 2009
May 19, 2006
May 16, 2006
May 16, 2006
May 16, 2006
May 16, 2006
Jul 2, 2006
May 16, 2006
May 16, 2006

Repository files navigation

$Id$

This is a collection of scripts and libraries meant to make it easy/possible
to generate Nagios configurations.  The first and probably most important part
of the collection is the set of libraries.  They include a parser for existing
Nagios configurations plus the ability to create and easily print fully formed
objects.  With these libraries, you can:
	1) Parse any existing configuration
	2) Create new configurations from scratch using other objects (e.g., SQL
	or LDAP)
	3) Write out either of the above configurations

In addition to the libraries, a few utilities have been written.  Currently
(as of 7/26/04) these utilities are largely centered around a single purpose:
Using cfengine (http://www.cfengine.org) to generate Nagios configurations for
all of my clients.  This collection is special, though, because it generates
the configurations 1) on the client itself 2) and in two configurations -- one
meant to be run against locally and one meant to be centralized and aggregated
with all other clients.

This results in a large star-type Nagios network.  I have a Nagios process
running on every host on my network, and the central Nagios server has two
processes -- one running the aggregated config and one running the local
config for the server.  Every local nagios process uses nsca to submit passive
checks, and the central server receives those, and produces warnings if the
checks get stale.

This system does not actually require cfengine, I just find it to be
incredibly useful.  The basic idea is that you run a script (currently at
cfengine/modules/module:nagios), passing it 1) a list of services to monitor,
and 2) a list of classes the server is a member of.  The script matches those
services against services defined in the 'checkcommands.cfg' file, and the
classes are matched against 'hostgroups.cfg'.  If any services not defined in
'checkcommands.cfg' are passed, an error will result, but it is assumed that
there are many classes passed from cfengine that will not be hostgroups, so it
is not an error to pass unknown hostgroups.  See the
cfengine/inputs/nagios[12].cf files for a basic example of how this is done.

I know this isn't very well documented, but it's not actually that much code.
Feel free to email me at <luke at madstop.com> for more information or
whatnot.

About

A Ruby parser and generator for Nagios

Resources

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published