I’ve been fiddling with Icinga for the last couple weeks, and now I have a basic setup that works fine.
In my work I have to monitor a modest network of 14 Linux servers (public and behind a NAT).
I setup a (public) machine running Icinga, and it’s now making the basic checks on all my servers:
load
disk
swap
users
procs
ssh (public servers only)
Now I’m thinking: where do I go from here?
The servers are all running various services: Dnsmasq, DNS with BIND, Web server with Apache, PHP & MySQL and various virtual hosts, mail server with Postfix and Dovecot, they’re all synchronized via NTP (some run ntpd, some Chrony). They’re all running CentOS 7 currently (hey there’s a plugin for checking updates). There’s an XMPP server, an IRC server, an SFTP server, etc.
So I thought I’d ask before I haphazardly google all that stuff and wade through tons of mixed tutorials all over the Internet. Is there some sort of centralized place somewhere that answers these two questions:
What can I check with my Icinga installation?
How do I put the corresponding checks into practice?
Take a look at the checks there and see what interests you. “Advantage” of most of those checks is that the command definition is already implemented in Icinga (ITL - Icinga Template Library), so you only need to download the relevant scripts, put them into the PluginDir folder, /usr/lib/nagios/plugins for Debian/Ubuntu and /usr/lib64/nagios/plugins RHEL/CentOS. Then you are good to go for creating templates and checks.
Checks you can/should implement right away are some form of ntp monitoring, a check on the master for the icinga status (check command icinga) and the ido status (check command ido).
As for the definition of the checks I would also suggest the docs and then practice
The basic order is: check command -> service template -> service apply rule
If you have any troubles then you can search the community and/or ask here again