n2cw is a wrapper for check scripts that implement the Nagios Plugin API. It runs the specified check command and pushes the results, optionally including metrics for all perfdata.
pip install n2cw
usage: n2cw [options] namespace base_name -- command
A wrapper for nagios-style checks that pushes check status and perfdata to
CloudWatch metrics.
positional arguments:
namespace CloudWatch namespace
base_name Base name for checks
command Command (nagios check) to run
optional arguments:
-h, --help show this help message and exit
--dimensions key=value,key=value
CloudWatch metric dimensions
--noop Don't push metrics, just log
--no-perfdata Don't send metrics for performance data
--no-status Don't send the check status output
command
is the full command line, with arguments, for the nagios plugin you
wish to run.
n2cw --dimensions "Host=webserver1" MySuperWebsite Disk -- ./check_disk -w 10% -c 5% -p / -k
If the output of check_disk was ...
DISK OK - free space: / 7292772 kB (49% inode=88%);| /=7402636kB;15481742;15481741;0;15481840
The following metrics would be pushed to CloudWatch:
Namespace Metric Name Value Dimensions
-----------------------------------------------------
MySuperWebsite Disk-Status 0 Host=webserver1
MySuperWebsite Disk-/ 7292772 Host=webserver1
The value of the -Status metric is the check return code (so OK is 0, WARNING is 1, etc).