78 lines
2.7 KiB
ReStructuredText
78 lines
2.7 KiB
ReStructuredText
===================================
|
|
Nagios 4 Configuration for Fedora
|
|
===================================
|
|
|
|
The Fedora Infrastructure Nagios is built on a set of configurations
|
|
originally written for Nagios 2 and then upgraded over time to Nagios
|
|
3 and then 4.08. With additional changes made in the 4.2 series of
|
|
Nagios this needed a better rewrite as various parts came from
|
|
pre-puppet and then various puppet modules added on top.
|
|
|
|
In order to get this rewrite done, we will use as much of the original
|
|
layout of the Fedora ansible nagios module but with rewrites to better
|
|
match current Nagios configurations so that it can be maintained.
|
|
|
|
Role directory layout
|
|
=====================
|
|
The original layout branched out from
|
|
|
|
roles/nagios/client/
|
|
roles/nagios/server/
|
|
|
|
With the usual trees below this. This breaks ansible best practices
|
|
and how most new modules are set up so the rewrite uses:
|
|
|
|
roles/nagios_client/
|
|
roles/nagios_server/
|
|
|
|
=====================
|
|
Nagios Server Files
|
|
=====================
|
|
|
|
The Nagios Server Files require a large layout change. The original
|
|
Nagios system used multiple independant modes and files which caused
|
|
problems when hosts were removed. The new system will use hosts set up
|
|
from the Fedora Ansible Inventory with hostgroups set up to match
|
|
groups.
|
|
|
|
roles/nagios_server/{files,handlers,tasks,templates}
|
|
|
|
r.../n.../files/httpd ==> /etc/httpd/conf.d files
|
|
r.../n.../files/nagios ==> /etc/nagios/ files
|
|
r.../n.../files/nagios/commands command files
|
|
r.../n.../files/nagios/hosts host files
|
|
r.../n.../files/nagios/hostgroups groups made from hosts
|
|
r.../n.../files/nagios/services services
|
|
r.../n.../files/nagios/servicegroups groups made from services
|
|
r.../n.../files/nagios/contacts files for people
|
|
r.../n.../files/nagios/contactgroups groups made from contacts
|
|
|
|
similar layout for templates
|
|
handlers has the ways to restart and check configuration
|
|
tasks has the main rules for building stuff.
|
|
|
|
===================
|
|
Nagios Module Steps
|
|
===================
|
|
|
|
1. Check to see if the nagios user is configured. Someone years ago
|
|
chose that our monitoring uses UID/GID 420. Har Har.
|
|
Setup any other groups and permissions
|
|
2. Install the needed packages for the server.
|
|
3. Setup the directories on the server
|
|
/etc/nagios/{child}
|
|
4. Synchonise over the static files
|
|
/etc/nagios/commands/
|
|
/etc/nagios/services/
|
|
/etc/nagios/servicegroups/
|
|
/etc/nagios/contacts/
|
|
/etc/nagios/contactgroups/
|
|
/usr/lib64/nagios/plugins/
|
|
/usr/local/bin
|
|
/usr/share/nagios/html/
|
|
5. Build template files
|
|
/etc/nagios/commands/
|
|
/etc/nagios/hosts/{ansible-inventory, ansible-vars, other}
|
|
/etc/nagios/hostgroups/
|
|
6. Fix selinux policy
|
|
7. Restart services
|