GitHunt
OL

olivierlambert/node-nagios-parser

A library for Node.js that parses a Nagios status page into a JavaScript object. Useful for monitoring tools, dashboards, etc.

node-nagios-parser

Node Nagios Parser is a library for Node that uses jsdom and server-side
jQuery to parse a Nagios status page into an easy-to-navigate Javascript object.

Tested against Nagios 3.x.

Usage

Install the dependencies we need:

$ cd node-nagios-parser
$ npm install

Require the script and call parse(url, callback, errorCallback):

var np = require('./nagiosparser').parser;
np.parse(url.parse('http://user:pass@nagios.domain/nagios'),
    function(parsedObj, count) {
    console.log("Parsed status information for " + count + " servers");
        console.log(parsedObj);
    });

The passed in URL object must point to your equivalent of the /nagios endpoint.
If you've configured this to be named otherwise, use that instead!

Upon executing, the function will return instantly, but your callback will be invoked
with the hash representation of the acquired data after retrieval and parsing has finished:

{ 'your.awesome.server.com': 
   { Load: 
      { Status: 'OK',
        'Last Check': '01-04-2012 16:09:52',
        Duration: '30d 13h 58m 27s',
        Attempt: '1/3',
        'Status Information': 'OK - load average: 0.00, 0.00, 0.00' },
     Opt: 
      { Status: 'OK',
        'Last Check': '01-04-2012 16:09:51',
        Duration: '30d 13h 58m 28s',
        Attempt: '1/3',
        'Status Information': 'DISK OK - free space: /opt 5621 MB (59% inode=99%):' },
     SSH: 
      { Status: 'OK',
        'Last Check': '01-04-2012 16:09:59',
        Duration: '30d 13h 58m  5s',
        Attempt: '1/3',
        'Status Information': 'SSH OK - OpenSSH_4.3 (protocol 2.0)' } },
  'your.next.awesome.server.com': { etc... } }

Example

See example.js for a working example that uses the public demo server at nagioscore.demos.nagios.com.

Languages

JavaScript100.0%

Contributors

MIT License
Created June 10, 2013
Updated December 5, 2016
olivierlambert/node-nagios-parser | GitHunt