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
```
[![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
Release history Release notifications | RSS feed
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.0.tar.gz
(23.0 kB
view details)
File details
Details for the file defcon-monitoring-0.1.0.tar.gz
.
File metadata
- Download URL: defcon-monitoring-0.1.0.tar.gz
- Upload date:
- Size: 23.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03b3efdb3865d83bdf520b50cd5e5e60e941346f548224ffad8339ba19bdf8b4 |
|
MD5 | 9ad7850d4aec177794b3790a95ae0f3a |
|
BLAKE2b-256 | f8932ed8d4aefb003b5b8ede850428938f6e5d25e5f0ce51fc6ebf58b53fe24a |