n2cw

A wrapper for sending Nagios plugin output to CloudWatch


Keywords
amazon, aws, cloudwatch, nagios, metrics, monitoring
License
MIT
Install
pip install n2cw==0.1.2

Documentation

n2cw - Nagios to CloudWatch

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.

Installation

pip install n2cw

Usage

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.

Example

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).