Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sni/monitoring-tt
Create Nagios/Naemon/Icinga Config Files with Template Toolkit
https://github.com/sni/monitoring-tt
configuration generator icinga naemon nagios perl
Last synced: about 2 months ago
JSON representation
Create Nagios/Naemon/Icinga Config Files with Template Toolkit
- Host: GitHub
- URL: https://github.com/sni/monitoring-tt
- Owner: sni
- Created: 2013-01-26T15:44:36.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2019-10-11T12:03:51.000Z (about 5 years ago)
- Last Synced: 2024-05-21T12:23:44.265Z (7 months ago)
- Topics: configuration, generator, icinga, naemon, nagios, perl
- Language: Perl
- Homepage:
- Size: 77.1 KB
- Stars: 0
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: Changes
Awesome Lists containing this project
README
== MonTT - Generate Monitoring Config with Template Toolkit
Did you ever want to write sophisticated Nagios/Naemon config files using
the power of template toolkit? Basically this is a config preprocesseor.=== Requirements
You will need
- Perl
- 'Template' module from CPAN=== Getting Started
The input folder(s) should contain some templates and a source of hosts and
contacts. Then all will be put together into a clean and maintainable
nagios configuration.The input folder looks like a nagios config folder but you are allowed to
use Template Toolkit Syntax.For example:
input/
|-- cgi.cfg
|-- conf.d
| |-- apps # will be processed for every host
| | `-- apache.cfg # will be processed for every host with app tag apache
| |-- contacts # will be processed for every contact
| |-- contacts.cfg
| `-- hosts
| |-- linux # every host of type linux
| | |-- centos.cfg # every host of type linux with tag centos
| | `-- debian
| | |-- squeeze.cfg # every host of type linux with tags debian and squeeze
| | `-- wheezy.cfg
| `-- switch.cfg
|-- nagios.cfg
|-- resource.cfg
|-- static # static files will just be copied into destination folder
| `-- conf.d
| |-- commands.cfg
| `-- timeperiods.cfg
|-- hooks # pre/post hooks
`-- post_process* # scripts will be run after processing is finishedAll files are nagios configuration files, but you may use template toolkit
syntax to add some magic to those files. Any folder below conf.d except 'apps',
'contacts' and 'hosts' will be processed only once. The 'apps' and 'hosts'
folder will be processed for every host, the 'contact' folder for every contact.then run the montt processor:
%> ./montt input/ output/
The processor won't overwrite existing files, so export the new config
into a new empty folder and move files afterwards. You can automate
this step with hooks.=== Examples
For now the only examples are the tests folder below t/data.
=== Hooks
Hooks are scripts which are run at certain points of the export
procedure. Hooks have to be executable and have to be placed in a hook
folder below the input directory.All hooks will be run with a comma seperated list of input folders as argument.
ex.:
..................
inputfolder1/hooks/pre inputfolder1,inputfolder2
..................==== pre
The 'pre' hook is run before the export.
==== post
The 'post' hook is run after the export.
=== Post Processing
Post Processor can be any script which matches `post_process*` in any of the
input folders.All scripts will be run with a the output folders as argument.
ex.:
..................
inputfolder1/post_process.pl outputfolder
..................