Skip to main content

defcon.

Project description

# DefCon

[![Build Status](https://travis-ci.org/iksaif/defcon.svg?branch=master)](https://travis-ci.org/iksaif/defcon)
[![Coverage Status](https://coveralls.io/repos/github/iksaif/defcon/badge.svg)](https://coveralls.io/github/iksaif/defcon?branch=master)
[![Dependency Status](https://gemnasium.com/badges/github.com/iksaif/defcon.svg)](https://gemnasium.com/github.com/iksaif/defcon)
[![PyPI version](https://badge.fury.io/py/defcon-monitoring.svg)](https://badge.fury.io/py/defcon-monitoring)

UI and API to show an aggregate status of your services. The idea of defcon is that it gathers the status of various components of your infrastructure and exposes them to both humans and machines. Humans (:couple:) will go to the UI to see if something is known to be wrong, and machines (:computer:) will consume the API. This could be used to automatically pause Jenkins job or Chef runs when the production looks unstable.

[![DefCon screenshot](doc/defcon.png)](doc/defcon.png)

*This is currently under active development and not ready for production.*

## API

Simply go to `/api/defcon/<COMPONENT_ID>/`.

```json
GET /api/defcon/observability/
HTTP 200 OK
Allow: GET, OPTIONS
Content-Type: application/json
Vary: Accept

{
"url": "http://defcon/api/components/observability/",
"plugins": [
{
"url": "http://defcon/api/plugin_instance/4/",
"statuses": [],
"name": "alertmanager-page",
"config": "{'receiver': 'observability-page', 'defcon': 2, 'api': 'https://alertmanager/api/v1/'}",
"plugin": "http://defcon/api/plugin/alertmanager/"
},
{
"url": "http://defcon/api/plugin_instance/5/",
"name": "alertmanager-ticket",
"description": "",
"config": "{'receiver': 'observability-ticket', 'defcon': 4, 'api': 'https://alertmanager/api/v1/'}",
"plugin": "http://defcon/api/plugin/alertmanager/"
}
],
"statuses": [],
"defcon": 5,
"name": "Observability",
"description": "",
"link": "https://confluence/display/OBS",
"contact": "observability@iksaif.net"
}
```

There are also more things available on `/api/`.

## Plugins

See [defcon/plugins/README.md](defcon/plugins/README.md)

## Quickstart

```
virtualenv venv -p python3
source venv/bin/activate
cp examples/local_settings.py defcon/
pip install -r requirements.txt
./manage.py migrate
./manage.py migrate --run-syncdb
./manage.py createsuperuser
./manage.py loadplugins
./manage.py loadcomponents
./manage.py runplugins
./manage.py runserver
```

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

defcon-monitoring-0.1.1.tar.gz (23.3 kB view details)

Uploaded Source

File details

Details for the file defcon-monitoring-0.1.1.tar.gz.

File metadata

File hashes

Hashes for defcon-monitoring-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e8c882a5c0641d9e20fd021bc80f2a2dee8a4cf9f64ea9d6f472b3d10361f566
MD5 26f04d17ed98564f57afe6553881ab08
BLAKE2b-256 c45536df08be555e770c6a5e2879739cd9efd19058d9f69d3edf5a69a1fac7af

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