View on GitHub

Monster

Beautiful server monitoring in like 5 minutes.

Download this project as a .zip file Download this project as a tar.gz file

Monitoring sucks right now.

We'll say it out loud: no one has the time to set up Nagios. No one even has time to set up Munin. If you're in a startup, you most likely don't have a dedicated admin. Couple that with the need to constantly watch your servers to make sure they don't die on you and your users, and you're in a weird place. You have a huge need to monitor, but no resources.

We've been there. And now we're here to help.

How does Monster help?

By giving you nearly instant monitoring. Beautiful monitoring.

Have nginx running? Monster will find out, look for the usual log files, and set nginx monitoring up for you. Using Postgres? MySQL? Monster will find out, ask you for some credentials and boom — you have a bunch of clean charts showing your web server and database usage.

What platform does it support?

Mac OS X and Debian-like, Red Hat-like Linux distributions (and probably more).

Getting started

Here, get started:

$ git clone git@github.com:diego351/monster.git 
$ pip install -r requirements.txt
$ ./start.py

Now you have this charming thing listening at localhost:5000: screenshot! Oh, we almost forgot, we also support mobile: the new iphone

What if I actually want to configure something?

No problem. The config.sample.cfg file is full of good advice you can just ignore and drive into walls, or use to hack up a more suiting configuration. Actually, we'll paste it here for you:

[overall]
; Enables password protected access. Removing this line
; will cause monster to be available to everyone.
password = golem14
; Allows you to bind on a specific address/port,
; default is 127.0.0.1:5000. Bind on 0.0.0.0 to make
; monster globally accessible.
bind = 127.0.0.1:3456 

; Specify the probes you want to use here.
; Per-probe configuration is done in their respective 
; sections later on, take a look below.
[probes]
osx.LoadAvg
osx.MemInfo
osx.HeavyProcessStat
httpd.Apache2
db.Postgres
db.MySQL


; Probe configuration.
; The name of the section must be identical to the
; probe's full name.
[db.Postgres]
; Specify here your PostgreSQL account settings.
; All of them are required.
username = takeoff
password = 
database = takeoff

[db.MySQL]
; Specify here your MySQL account settings.
; All of them are required.
username = root
password =

[osx.HeavyProcessStat]
; This option changes number of processes showed.
; Default is 5.
proc_number = 5

What do you support?

The current list of probes is:

We'll be expanding.

Authors and Contributors

Monster is maintained by @diego351 and @maligree. We're doing this in our spare time, so if you think you could spare a few cycles to contribute, we'd honestly be jolly as fuck.