Skip to main content

Webcron.org Site Monitor

Project description

Shows websites monitored on Webcron.org in kiosk mode.

At Seantis we use Webcron.org to monitor our sites. For our customers, as well as for our office monitor screen, we wanted a simple auto-refreshing page that shows the status of our sites at a glance. We therefore wrote this small Flask application looking like this:

https://github.com/seantis/webcronmon/raw/master/screenshots/desktop.png https://github.com/seantis/webcronmon/raw/master/screenshots/mobile.png

The monitor only shows the bare minimum of information to keep things simple:

  • list monitors by group

  • link the monitors to the actual website

  • show the current state (online / offline since)

  • show the uptime of the last 30 days

The site will update the list every 60 seconds by default, unless configured otherwise or unless the timer on the upper right is toggled with a mouse-click.

Demo

http://monitor.seantis.ch

Requirements

  • Python 2.7

Installation

Create a new folder:

mkdir webcronmon

Open it:

cd webcronmon

Initialize a virtual environment:

virtualenv --no-site-packages -p python2.7 .

Install webcronmon:

pip install webcronmon

Initialize the configuration:

init-webcronmon

Configuration

Before you run webcronmon you need to edit the config.ini file created by init-webcronmon. At the least you need to enter your webcron API credentials, but there are other configuration entries you might wish to adjust.

All the configuration options are described in the config.ini that was created for you.

Running

To start webcronmon simply execute run-webcronmon in the folder in which you have edited your config.ini

Deployment

We recommend to only run one webcronmon instance and offer it through a reverse proxy. Personally we use Circus by Mozilla with the following circus.ini:

[watcher:webcronmon]
gid = webcronmon
uid = webcronmon
cmd = /home/webcronmon/app/bin/run-webcronmon
virtualenv = /home/webcronmon/app
working_dir = /home/webcronmon/app
numprocesses = 1
singleton = True
copy_env = True

As a reverse proxy we use Nginx as follows:

server {
    server_name monitor.seantis.ch;

    listen      80;

    location / {
        proxy_pass http://localhost:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect off;
    }
}

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webcronmon-1.0.tar.gz (94.2 kB view details)

Uploaded Source

File details

Details for the file webcronmon-1.0.tar.gz.

File metadata

  • Download URL: webcronmon-1.0.tar.gz
  • Upload date:
  • Size: 94.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for webcronmon-1.0.tar.gz
Algorithm Hash digest
SHA256 5114445d81980cd0fb214ca4715f35798b9b8135d5627fbba4c9eabdbd336d00
MD5 2518fab09102afe9043ff86b0b1999ea
BLAKE2b-256 e82bebddb16d62765bc8729450b8e1e1948bdb90ca28c1cf8d6faea3b138f00d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page