DNAC Monitoring App extends the basic features of DNA-C (Cisco Digital Network Architecture Center). This App help collect information about devices and manage network issues. This App can be useful for Enterprise and Service Providers who want to collect and store different changes about network devices, calculate and manage different indicators such as:
- Average MTTR (Mean time to repair);
- Average mean time to recover incident;
-
An application that can collect and process data from DNA-C
-
User-friendly interface
-
You can add and manage different type of roles:
- IT management/CIO reports: gets health report and high-level SLA stats (you can manage or propose your parameters for SLA calculation)
- IT manager: gets opened/closed service requests (ticket) and MTTR stats.
- Also can assign responsible persons from the Administrator/DevOps list for solving the ticket
- Administrator/DevOps: can solve a ticket, get WAN availability and average latency reports
-
Using Redis, Celery and local DataBase App collect and compare different device config changes
-
Ticket management:
-
filters by type of problem:
- traffic
- configuration change
-
filters by creation date
-
filters by ticket status:
- open
- in progress
- rejected
- solved
-
Notifications module:
- sending alerts via Webex Teams
-
Collect and display inventory and topology from DNA-C
You need to install Python 3+, Vue.js
In developer mode, open project in IDE/terminal
git clone https://github.com/oborys/DNAC-Monitoring-App.git
then run commands (also you can find)
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
./manage.py migrate
cd app/vueapp
npm i
npm run build
cd ../..
./manage.py collectstatic
./manage.py createsuperuser
Password must contain at least 8 characters
./manage.py runserver
First, you need to create User profile for created superuser: go to http://localhost:8000/admin/ Click on User profiles --> Add user profile --> Select user (chose superuser name that you create before) --> Select role (Admin) --> Push Save
open new terminal tab and run the commands
install Redis for mac:
brew install redis
install Redis for linux:
sudo apt-get install redis-server
redis-server
open new terminal tab and run the commands
source venv/bin/activate
celery -A project worker -l info
open new terminal tab and run the commands
source venv/bin/activate
celery -A project beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
For correct using of notification module, you need to create your Bot Sign-up and Sign-in in Webex Teams Go to https://developer.webex.com/, then click My Apps and Create a New App (Bot)
Copy and save Bot's Access Token
Then add email credential (EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_PORT) in project/settings.py Uncomment send_mail function in file info_sender/email_sender.py For example you can use Gmail to send email from App
After deployment, you need to add a network controller (DNA-C) credentials (in case of local deployment http://localhost:8000/app/#/settings)
Edit/modify front-end files:
- For edit information in static files go to static/templates (you can find three html file index.html, app.html, base.html)
- For edit vue files go to
app/src/components
Available sandboxes by Networking category
In this direction, you can also use DNA-C (Digital Network Architecture Center) sandboxes
DNA-C 1.2.10 - https://sandboxdnac2.cisco.com/
login: devnetuser
password: Cisco123!
DNA-C 1.2.6 - https://sandboxdnac.cisco.com
login: devnetuser
password: Cisco123!
Other Useful links