Skip to main content

A simple webapp for presenting data as offered by SaltStack's Redis Returner

Project description

This is a simple webapp for presenting data as offered by Salt’s Redis Returner written in Flask.

A static demo is available here.

Screenshot of Saltobserver (17-12-2014)

Features

  • a simple and responsive interface based on purecss (and their example email layout to be exact)

  • three main views:
    • a function view showing all minions that ran a particular function (as shown on the screenshot)

    • a history view for looking at a minion’s history with a specific function

    • a job view listing all minions which ran a specific job

  • a customizable navbar, which links to function views

  • searchpages for everything

  • live updates for the function view using websockets and Redis’ Keyspace Notifications

  • a collapsible representation of raw job data using the awesome renderjson

Running it from PyPI

Just install it using pip install saltobserver. As always, it is recommended to do so in a virtualenv. After that, the command run_saltobserver will be available within this virtualenv. If you want to use non-default settings (at least look at the defaults) prefix the command with export SALTOBSERVER_SETTINGS=/path/to/config. Other than that, you may pass gunicorn options to the run_saltobserver command, they will be passed on so that you can configure gunicorn for use with a proxy server.

A typical deployment could use this command with supervisord:

$ export SALTOBSERVER_SETTINGS=/home/saltobserver/config.cfg run_saltobserver -u saltobserver --bind unix:/var/run/saltobserver/socket

Running it with Docker

Install a recent docker version (at least 1.2) and run

git clone https://github.com/analogbyte/saltobserver.git
cd saltobserver
docker build -t saltobserver .
docker run -d --restart=always --name=saltobserver -p 8000:8000 -e REDIS_HOST=redis.example.org saltobserver

This exposes saltobserver to port 8000 and it tries to connect to redis.example.org as redis host. Change the env var or use docker links as suits your needs. Instead of building it yourself, feel free to use automated build from Docker Hub: docker pull analogbyte/saltobserver

Running it from Source

If your minions return their data to some Redis instance, it is as simple as cloning this repo running scripts/run_saltobserver (and putting that behind a reverse proxy, if needed). This uses Gunicorn, which is pretty flexible and can be configured for pretty much any setup.

Note that your Redis instance has to have a version greater than v2.8.0 for the live updates to work.

Also look at the configuration in saltobserver/config.py.

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

saltobserver-0.9.4.tar.gz (11.3 kB view details)

Uploaded Source

File details

Details for the file saltobserver-0.9.4.tar.gz.

File metadata

File hashes

Hashes for saltobserver-0.9.4.tar.gz
Algorithm Hash digest
SHA256 41d777378c449b7dd22e22bfebcea8fc337a382d029ee815218c4d8e35ddd623
MD5 54fa77bec6d39fdaadd9cf83ddb3a5ca
BLAKE2b-256 74473a3e2d2fd9dd80cbe0eb2943d0f8fdd657a911cab287a1e6a0b7ec34a199

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