Analytics MaestroΒΆ
Accountant to get and create a application dependency tree and build diagrams:
- Create business graphs
- Drawing diagrams

Analytics app use Flask, on python >3.5.
Setup dev env
cd devtool/
docker-compose up -d
It will be set a rabbitmq and a redis
Highlights
The diagram lookup and draw process are compound by:
- entry: The first task, they get all entries application and send to graphlookup.
- graphlookup: Requesting the db data over
Data App
, doing an application lookup using a MongoDB $graphLookup feature. - network business: Do a grid tree, and then send to
enrichment task
andinfo task
. - enrichment: Getting servers.
- info business: Calculate histogram, counts, density and connections.
- network client: Getting clients.
- draw business: Draw svgs.
- notification: Send updates to
Data App
. - send front app: Send the svg to
Analytics Front app
.
Flower - Debug Celery
Real-time monitoring using Celery Events
- Task progress and history
- Ability to show task details (arguments, start time, runtime, and more)
- Graphs and statistics
pip install flower
flower -A app.celery
npm run flower
Installation guide
- Python >3.4
- RabbitMQ
Download the repository
git clone https://github.com/maestro-server/discovery-api.git
Installing dependencies
pip install -r requeriments.txt
Running
python -m flask run.py
or
FLASK_APP=run.py FLASK_DEBUG=1 flask run
or
npm run server
Running workers
celery -A app.celery worker -E -Q analytics --loglevel=info
or
npm run celery
Warning
On production we use gunicorn to handle multiple threads.
# gunicorn_config.py
import os
bind = "0.0.0.0:" + str(os.environ.get("MAESTRO_PORT", 5020))
workers = os.environ.get("MAESTRO_GWORKERS", 2)