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

Uploaded Source

File details

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

File metadata

  • Download URL: defcon-monitoring-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6823d7690aff72bbbb40e0da5f1e40d818d8f74fe4129e4f86ce1395dfb13ae6
MD5 8ab4bce23f38ee938960f10872abb1c2
BLAKE2b-256 5608f37ff4d572c300f2b150c126554dc355f853c1310bef8ea3d5cf59b3a8be

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