apptime
v0.2.10
Published
Uptime monitoring linked to a mailer
Downloads
17
Readme
#apptime
Server uptime monitoring linked to a mailer. You can run any type of command to check that something is up/down.
##Quickstart
$ sudo apt-get install g++ zlib1g zlib1g-dev autoconf # for ejdb
$ npm install apptime
$ pico config.coffee # edit config file
$ PORT=6661 CONFIG=config.coffee apptime
You can leave the PORT
empty. If you do not provide a CONFIG
it will default to the example one in the app directory. The path to CONFIG
is relative to your current PWD
unless the path starts with a /
in which case it is absolute.
##Config
The config.coffee
file (think of it as a JSON file on steroids) exports the following:
#####timeout How often to monitor the servers (in minutes). Each batch will run in a queue with a concurrency of 1.
#####email.active Shall we actually send an email? You can still use the web interface.
#####email.fields For config of these follow instructions at Nodemailer.
#####email.smtp For config of these follow instructions at Nodemailer.
#####email.templates An object with Eco templates for building emails to be sent. Use HTML, plaintext is auto-generated.
#####handlers Each key is a type of a job to run. Just a way to allow you to run monitor the same server in more ways than one.
#####handlers.command
A command to execute. All commands are run relative to the scripts
directory (of course you can run commands linked to your /bin
directory).
An err
or stderr
on child_process.exec
of the command means the server is down.
Command uses Eco syntax and is passed arguments from handlers.jobs
(see below).
#####handlers.success
Not required. Can be a string or a RegExp
that will be used to check if command was succesfull. This happens after we check whether the command throws err
or stderr
(see above).
#####handlers.jobs Keys represent names of servers. The values are arguments to be passed to the commands (see above).
##Client-side app
Install dev dependencies (component
etc.):
$ npm install -d
Install components:
$ (cd src/dashboard/app ; ../../../node_modules/.bin/component install)
Re-build the sources:
$ coffee src/dashboard/build.coffee