Skip to main content

Up - A next generation status monitor

Project description

Sometimes you just need to know, is it up? The goal of this project is to create an easy to use, but highly customizable status monitor.

Setup

First start by installing the environment.

$ mkdir example-status

$ cd example-status

$ virtualenv . -p python3 --no-site-packages

$ bin/pip install up

Now you need to create the upfile.py. It goes in the same folder as everything else. From here you can setup what you want to monitor.

from up import status, source, sink

class ExampleStatus(status.StatusMonitor):

    source = source.HTTPStatusSource('Example Status', 'https://example.com/')
    sink = sink.StdOutStatusSink()

You can now run it like this.

$ bin/up
Example Status: UP

Monitoring Multiple URL’s

Up uses a “tinker-toy” pattern allowing you to combine sources to build whatever kind of monitor you need. A StatusTreeSource will let you combine multiple sources into one.

from up import status, source, sink

class ExampleStatus(status.StatusMonitor):

    # You can also try a ThreadedTreeSource which runs the monitors
    # in parallel.
    source = source.StatusTreeSource('Example Status', [
        source.HTTPStatusSource('PROD', 'https://example.com/'),
        source.HTTPStatusSource('QA', 'https://qa.example.com/')
    ])
    sink = sink.StdOutStatusSink()

Up will query each of the sources and give you a simplified status.

$ bin/up
Example Status: HALF UP

For more information use -v.

$ bin/up -v
Example Status: HALF UP (50%)
    PROD: UP
    QA: DOWN

Checking the status of GitHub

Up comes with a source that reads from GitHub’s status API.

from up import status, source, sink

class ExampleStatus(status.StatusMonitor):

    source = source.GitHubStatusSource('GitHub Status')
    sink = sink.StdOutStatusSink()
$ bin/up -v
GitHub Status: UP

Developers Setup

$ virtualenv . -p python3 --no-site-packages

$ bin/python setup.py develop

Changelog

  • Next Nothing Yet.

  • 0.2.1 - Fix templates and static resources missing from egg

  • 0.2.0 - Detect ConnectionError and set status to DOWN; Expose Web Interface; Experimental SNMP monitoring (will most likely change)

  • 0.1.0 - Initial release

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

up-0.2.1.tar.gz (14.5 kB view details)

Uploaded Source

File details

Details for the file up-0.2.1.tar.gz.

File metadata

  • Download URL: up-0.2.1.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for up-0.2.1.tar.gz
Algorithm Hash digest
SHA256 11c8537ac45fbc14679f7930639dcdac975d5f1aaa5362d5bd853e04d1d25b74
MD5 3c696d4894c3039ab089e9be1fc3da42
BLAKE2b-256 3bfc6aff252bea05c145340e10b38c2d4b144f545baaff566e8f4ed5c12bfce6

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