Skip to content

immunda/monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monitoring

A small 'realtime' (not really, because we're still polling every x seconds) SNMP monitoring system, which currently supports display of load average, memory usage and CPU utilisation.

It uses RabbitMQ as a messaging middleware and topic routing, permitting poller nodes to be placed in private network segments. This also permits separate monitor.js instances to subscribe to different routing keys, allowing servers to be grouped.

There's a load things to add/fix, but it's worked well in helping quickly spot load, CPU and memory spikes so far.

Dependencies

  • RabbitMQ server

  • node.js / npm

  • The following Python libraries:

    • pika
    • pysnmp

Setup

  • If you don't have it, get npm and install the node.js dependancies

    • npm install express amqp ejs websocket-server
  • For installing the Python pages, use pip (or easy_install)

    • pip install pika pysnmp

Turning things on

  • Start RabbitMQ

    • rabbitmq-server
  • Then the node.js AMQP client/web(socket) server (I'm assuming you have nodemon)

    • nodemon monitor.js
  • Finally

    • python poller/poller.py
  • By default, node.js will start a webserver on your loopback interface (localhost) and port 3000, so go and visit that.

About

Real(ish) time SNMP monitoring via websockets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published