Skip to main content

Automate deployment of monitoring tools

Project description

Monitoring automation project for Prometheus and ecosystem (in-progress)

One of the main problem that we face with microservices deployment is how to configure monitoring. With deployment being so dynamic its hard to make changes.

In this project we are trying to offload the management of monitoring. When a new project is added, user adds user_input.yaml and it will be picked up by CICD (in our case Jenkins).

Where will the monitoring be configured:

  • Prometheus
  • Blackbox
  • Elastalert
  • Pushgateway
  • Pagerduty
  • Email
  • Slack

Pre-reqs:

  • Running Elastalert
  • Running Alertmanager
  • Running Prometheus Monitoring
  • Running Pushgateway
  • Pagerduty account
  • Slack account
  • Kafka/Zookeper (when we wrote this project, we had a requirement to cleanup Kafka/Zookeeper)

Note:

  • Docker image should have ssh keys to connect to git.

How to begin:

To create dummy data for testing:

verify if static-files directory exists:

DIR_NAME=demo1
BASE_PATH='/Users/varun.tomar/Documents/personal_github'

mkdir -p $BASE_PATH/mauto/$DIR_NAME/demo-data/monitoring/static-files

verify if alertmanager config file exists:

mkdir -p $BASE_PATH/mauto/$DIR_NAME/demo-data/alertmanager
cp $BASE_PATH/mauto/data/demo-data/alertmanager/config.yaml $BASE_PATH/mauto/$DIR_NAME/demo-data/alertmanager/config.yaml

verify if prometheus config file exists:

mkdir -p $BASE_PATH/mauto/junk/demo-data/monitoring/
cp $BASE_PATH/mauto/data/demo-data/monitoring/config.yaml $BASE_PATH/mauto/junk/demo-data/monitoring/

verify .env file exists:

Copy the example.env and create a .env file

Update src/automation/config.yaml

How to use?

  • run pip install mauto
  • run muato for available options

Note:

  1. Trying to make it modular or plug and play type so new components can be added easily.

  2. I am using click to create python cli.

  3. Python 3.6 and above is required

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

mauto-0.0.1.dev14.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

mauto-0.0.1.dev14-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file mauto-0.0.1.dev14.tar.gz.

File metadata

  • Download URL: mauto-0.0.1.dev14.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for mauto-0.0.1.dev14.tar.gz
Algorithm Hash digest
SHA256 3f39b2f1231de8e43412c80fdd9947277c64903489422921df2cb42eef7388fb
MD5 7e0db169660b22f642e3712a49945c18
BLAKE2b-256 2663d32039f479a8d9030095f1ede4b20e64573a08cafb8d7828f784542a972e

See more details on using hashes here.

File details

Details for the file mauto-0.0.1.dev14-py3-none-any.whl.

File metadata

  • Download URL: mauto-0.0.1.dev14-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for mauto-0.0.1.dev14-py3-none-any.whl
Algorithm Hash digest
SHA256 b34fbd2cc3133e08958d11b1af23dfcee6ceba4ea250ada7b942a3fbaa944a9d
MD5 77f879cdc3d2264998f0106aa1e7859c
BLAKE2b-256 1acc0dc106d9d59a74e630f5cae31bd6f3807cbe222607f4eface17ae2cb866e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page