91 lines
4.0 KiB
Markdown
91 lines
4.0 KiB
Markdown
nagios-plugins
|
|
==============
|
|
This repository contains my collection of modified and custom written check
|
|
plugins and scripts for [Nagios](http://www.nagios.org).
|
|
|
|
Most of these are very custom solutions or modified versions of standard plugins
|
|
so distributing them through [NagiosExchange](https://exchange.nagios.org/) is
|
|
not really appropriate. I am publishing them separately so that others may
|
|
benefit from these as well. Use them freely and please let me know is you
|
|
encounter any issues or require changes.
|
|
|
|
The latest versions, documentation and bugtracker available on my
|
|
[GitLab instance](https://gitlab.lindenaar.net/scripts/privacyidea-checkotp)
|
|
|
|
Copyright (c) 2015 Frederik Lindenaar. free for distribution under the GNU
|
|
License, see [below](#license)
|
|
|
|
|
|
plugins/check_memory
|
|
--------------------
|
|
Nagios check script to monitor the memory on Linux systems. Due to changes in
|
|
the output of procps v3.3 (the changelog refers to it as modernizing it), it's
|
|
output changed and breaks the the check_memory script as shipped with many linux
|
|
distributions. This version supports both the old and the new format so that
|
|
is indifferent of which version of procps (to date) is used. No other changes
|
|
were made to the script.
|
|
|
|
|
|
plugins/plugins/check_multiple_host_addresses
|
|
---------------------------------------------
|
|
This script is a first attempt to monitor multi-home and dual-stack (i.e. ipv4
|
|
and ipv6) servers. In my setup a server should only considered availble if it is
|
|
available on all of its primary addresses (i.e. both ipv4 and ipv6). It uses the
|
|
excellent check_multi script to perform multiple a ping check to see if a host
|
|
is available and reports the consolidated status. Using check_multi has the
|
|
advantage that pnp4nagios and other scripting graphing solutions will support
|
|
this solution as well.
|
|
|
|
Installation is straightforward, after installing the script on your server, add
|
|
the following to your `commands.cmd` configuration file to make it available:
|
|
~~~
|
|
# 'check-host-alive' command definition for multi-homed/dual-stack servers
|
|
define command{
|
|
command_name check-addresses-alive
|
|
command_line [install_path]/plugins/check_multiplehost_addresses '$HOSTADDRESS$' '$_HOSTADDRESS6$'
|
|
}
|
|
~~~
|
|
The example above assumes that the IPv6 address of the host is provided as part
|
|
of the host configuration, i.e.:
|
|
~~~
|
|
define host {
|
|
...
|
|
address 192.168.0.1
|
|
_address6 fdf8:f340:ab9d:c213::1
|
|
...
|
|
}
|
|
~~~
|
|
To use the script either add ` check_command check-addresses-alive`
|
|
to the specific hosts that should use the check or to the generic host used as
|
|
template.
|
|
|
|
|
|
cgi-bin/nagiosstatus.sh
|
|
-----------------------
|
|
Very simplistic CGI-BIN script that checkes whether nagios is still running and
|
|
still updating its status. It wil always return an HTTP Status 200 (OK) and a
|
|
simple text page with one of the following texts:
|
|
- `STOPPED` - in case the nagios process is not running
|
|
- `STALLED` - in case the nagios status file has not been updated for 5 minutes
|
|
- `OK` - when Nagios is running and updated its status file < 5 minutes ago
|
|
|
|
I wrote this script to be used with an external monitoring system, I use it with
|
|
the free subscription from [Pingdom](http://www.pingdom.com) to get alerts when
|
|
my Nagios monitoring system is no longer reachable.
|
|
|
|
|
|
<a name="license">License</a>
|
|
-----------------------------
|
|
These scripts, documentation & configration examples are free software: you can
|
|
redistribute and/or modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation, either version 3 of the License,
|
|
or (at your option) any later version.
|
|
|
|
This script, documenatation and configuration examples are distributed in the
|
|
hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with
|
|
this program. If not, download it from <http://www.gnu.org/licenses/>.
|