Skip to main content

defcon.

Project description

DefCon

.. image:: https://travis-ci.org/criteo/defcon.svg?branch=master :target: https://travis-ci.org/criteo/defcon :alt: Build Status

.. image:: https://coveralls.io/repos/github/criteo/defcon/badge.svg :target: https://coveralls.io/github/criteo/defcon?branch=master :alt: Coverage Status

.. image:: https://badge.fury.io/py/defcon-monitoring.svg :target: https://badge.fury.io/py/defcon-monitoring :alt: PyPI version

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.

.. image:: doc/defcon.png :target: doc/defcon.png :alt: DefCon screenshot

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

API

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

.. code-block:: 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/'}", "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/'}", "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

.. code-block::

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.3.1.tar.gz (26.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: defcon-monitoring-0.3.1.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for defcon-monitoring-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e7d7b36daa9405b874d51a7ec5f3e38052c8dba1ce136e05ba07887f8255119c
MD5 059bc1795ba3513821cdbbdba7e8dcca
BLAKE2b-256 faa9b66b371f2d381b44c08775f5a12daea0a0bb4f931ec3d53852d6f5a79f67

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