Skip to content

rokkamokka/sensu-grid

This branch is 21 commits behind alex-leonhardt/sensu-grid:master.

Folders and files

NameName
Last commit message
Last commit date
Apr 13, 2016
Jul 11, 2015
Jul 13, 2015
Jul 5, 2015
Sep 15, 2016
Jun 28, 2015
Apr 13, 2016
Jul 13, 2015
Apr 15, 2016
Jul 28, 2016
Jul 12, 2015
Jul 28, 2016
Jun 26, 2015
Oct 31, 2015
Jul 10, 2015
Apr 14, 2016
Jul 1, 2015
Jul 6, 2015
Apr 13, 2016
Jul 28, 2016

Repository files navigation

sensu-grid

Flask application to connect to a list of sensu-api servers and displays a grid of OK, WARNING, CRITICAL, DOWN and ACK'd alerts.

features

  • overview by data centre ( Name, OK, WARN, CRIT, DOWN, ACK )
  • detail view by data centre ( Grid of hosts, color changes based on amount of alerting checks, 1 = yellow, > 1 = red, down = purple )
  • Events view by data centre (Grid of events which are currently alerting/warning/unknown)
  • filter by hosts' subscription/s ( Only shows matchin hosts' check results in overview and detail view)

screenshots

Overview (DCs)

sensu-grid overview screenshot

More screenshots

faq

how can I filter by more than 1 value?

Amend the URL and add all the filters together as a comma-separated list, e.g.: http://localhost:5000/filtered/aaa,bbb,ccc,ddd

what do the filters filter by ?

They filter based on the hosts' subscriptions, except in the Events view where they filter on all properties of the check and the host.

docker

requirements

  • docker (obviously)
  • boot2docker (if you're on mac/windows)

build / run docker image

docker build -t name/sensu-grid:latest .
docker run -d -p 80:5000 name/sensu-grid:latest

install / setup

if you dont want to use docker

virtualenv

  • Checkout this directory into /opt/sensu-grid

virtualenv .
. bin/activate

requirements

python requirements

Add via pip install or via your package management

  • requests
  • PyYAML
  • Flask
  • argparse
  • gunicorn

install requirements

  • Install all required python libs first:

    
    pip install -r requirements.txt
    
    

app user

  • Create the app user:

    
    useradd -r sensu-grid
    
    

run as a service

supervisord

  • Install supervisord (yum -y install supervisor)
  • Copy the provided config (start-scripts/supervisord.conf) file to /etc/supervisord.conf

upstart

  • Install upstart (yum -y install upstart)
  • Copy the provided upstart config (start-scripts/sensu-grid.conf) file to /etc/init/

configuration

You should copy the conf/config.yaml.sample file to conf/config.yaml and edit as appropriate.

If you use username/password, ensure you set the appropriate permissions - e.g. chmod 640 conf/config.yaml and set the owner to sensu-grid which you'll be using to run this app.

example config

---
dcs:
  -
    name: dev
    url: sensu-dev.domain.local
    port: 4567
    uchiwa: http://sensu-dev.domain.local:3000
  -
    name: stage
    url: sensu-stage.domain.local
    port: 4567
    user: apiuser
    password: apipassword
    
app:
  refresh: 60
  bg_color: #333333

run locally / manually

(this requires you to install all the dependencies)

local dev server

cd <checkout>
/usr/bin/python sensugrid.py

## healthcheck

a healthcheck is available at /healthcheck which returns json formatted text, which you can pipe into python -m json.tool

example:

curl http://localhost:5000/healthcheck | python -m json.tool

About

Sensu-Grid

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CSS 82.2%
  • HTML 9.1%
  • Python 8.7%