This is the Umbrella API Dashboard source code. Using Umbrella API's, we can obtain information about our Devices that are currently not being displayed on the dashboard.
The initial scope of this Dashboard is to provide quick information such as when was a Virtual Appliance last synched with the Cisco Dashboard and what are the current Internal Domains for this element. This information is crucial to troubleshooting situations where new domains were added but they take some time to synch with all Virtual Appliances.
- Renan Hingel ([email protected])
- Cisco Umbrella API
- Python
- Flask
- JavaScript
git clone https://github.com/RenanHingel/Umbrella-API-Dashboard.git
First make sure that you have Python 3 installed on your machine. We will then be using venv to create an isolated environment with only the necessary packages.
pip install virtualenv
# Change to your project folder
cd umbrella-api-dashboard
# Create the venv
virtualenv venv
# Activate your venv
source venv/bin/activate
pip3 install -r requirements.txt
You can deploy this prototype in a lab environment, dCloud instance, or on your own deployment.
You need to have your Management API Key, API Secret, and Organization ID.
To generate an API KEY, refer to the documentation here.
You must select an organization to manage and use its ORGANIZATION ID. You may do so here.
Fill in the details of your Umbrella deployment in the DETAILS.py file.
################################################################
org_id = "XXXXXX"
api_key = "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
api_secret = "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
################################################################
Launch the app.py server. Make sure that you have your venv activated.
flask run --host=0.0.0.0 --port=8080
Launch your web browser and navigate to localhost:5100 or with your configured port.
For more resources on Umbrella API's and containers you may refer to the following learning labs:
I'm developing this project to improve my Python + Flask skills, I am sure this can be improved a LOT if you have Python/Flask skills, feel free to improve upon this source code.
This source code is provided under MIT License, for details see LICENSE
The web template design was provided by DashboardPack (https://dashboardpack.com). I did some minor adjustments to adapt their template to what I needed for this project.