Skip to main content

Restless Oyster online monitoring tool

Project description

Restless Oyster Web is an online monitoring tool. It provides a graphical user interface which can be accessed by any WebSocket-capable web browser. Although it’s designed for the KM3NeT neutrino detector, it provides a simple interface to let you monitor other kinds of parameters. The current status is alpha and I’m redesigning the parameter format to add more flexibility for other use cases.

Restless Oyster online monitoring tool

The main goal is to create a tool which runs a web interface and monitors several types of parameters sent via UDP packets. The visualisation of the data is done by the d3.js framework and the parameters are sent as JSON objects. Monitoring a specific parameter should be as easy as sending a JSON object through UDP to the webserver. Any connected client should then receive the packet and the user will be able to create live graphs or histograms with the desired parameters.

Feel free to contribute or join; any kind of feedback is welcome!

Documentation

Read the docs at http://royweb.readthedocs.org

Live Demo

A very basic demonstration can be seen at http://royweb.km3net.de Please note that the server is not always running the latest build.

Installation

I highly recommend using virtualenv for any Python related experiments.

After you set up a seperate virtual environment, use pip to install the latest release:

pip install royweb

This will automatically install all dependencies and scripts. Of course, you can also download the source and discover the code on your own.

Simple usage

If you installed royweb via pip, you can use the royweb script to start the web server with the default configuration. Otherwise, simply take the royweb.py in the royweb package. The server will listen to incoming client connections on port 8080 and start a UDP-listener on port 9999 for parameter monitoring:

# royweb
Starting ROyWeb with PID 25674
Running on 127.0.0.1:8080
Listening for UDP data on port 9999

Send test data

To send some live test data to the web server, run royweb_tester (if installed via pip) or the send_udp.py script. This will generate some random parameters and distributes them via UDP to the default port 9999 on localhost:

# royweb_tester
UDP target IP: 127.0.0.1
UDP target port: 9999

Open your browser and navigate to http://127.0.0.1:8080 to see the live parameter logging.

Integrate ROyWeb into your project

There is a class PacketHandler, which can be used to create and send JSON UDP packets with the required format. If you want to monitor some values in your projects, initialise a PacketHandler and use its send() method to transfer the values. Here is an example:

from royweb.networking import PacketHandler
ph = PacketHandler("127.0.0.1", 9999)
ph.send('foo', 23, 'This is a description')

That’s it ;-)

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

royweb-0.7.0.tar.gz (470.4 kB view details)

Uploaded Source

File details

Details for the file royweb-0.7.0.tar.gz.

File metadata

  • Download URL: royweb-0.7.0.tar.gz
  • Upload date:
  • Size: 470.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for royweb-0.7.0.tar.gz
Algorithm Hash digest
SHA256 5349c30af11f4de916ffbdae38d9b03b5296d05679946634575ae247d621495b
MD5 57279e5ba1f9862ec510061f3fe0c0ed
BLAKE2b-256 cea527dcd1f959049693fc7262b79cf23f408ef9ecf73cb1f2c9a8aab2434c40

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