All Projects → flopach → johann-network-device-monitoring

flopach / johann-network-device-monitoring

Licence: other
johann is a web-based network device monitoring tool for Cisco IOS XE devices. Collect configuration and operational data of your networking devices in a structured way in one single database!

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to johann-network-device-monitoring

restconf-examples
RESTconf examples for learning labs and sample code
Stars: ✭ 41 (-33.87%)
Mutual labels:  cisco, restconf
PSDiscoveryProtocol
Capture and parse CDP and LLDP packets on local or remote computers
Stars: ✭ 59 (-4.84%)
Mutual labels:  cisco
cisco-ansible-lan-switching
Automate Cisco LAN Switching Configuration using Ansible
Stars: ✭ 13 (-79.03%)
Mutual labels:  cisco
solutions examples
pyATS example solutions for NetDevOps use cases
Stars: ✭ 59 (-4.84%)
Mutual labels:  cisco
mantl-devnet-learninglabs
Self paced interactive Learning Labs for learninglabs.cisco.com
Stars: ✭ 15 (-75.81%)
Mutual labels:  cisco
genielibs
genie.libs contains libraries for configuring, retrieving and testing topologies
Stars: ✭ 80 (+29.03%)
Mutual labels:  cisco
panoptes-stream
A cloud native distributed streaming network telemetry.
Stars: ✭ 34 (-45.16%)
Mutual labels:  cisco
cisco.ios
Ansible Network Collection for Cisco IOS
Stars: ✭ 202 (+225.81%)
Mutual labels:  cisco
ishell
Create shell environments with Python
Stars: ✭ 70 (+12.9%)
Mutual labels:  cisco
asa cleanup
Cisco ASA Firewall Cleanup Script.
Stars: ✭ 40 (-35.48%)
Mutual labels:  cisco
Cisco2Checkpoint
Tool that assists in migrating firewall rules from Cisco to Checkpoint. Will optimize rules for you (rationalization, reuse merging, etc.).
Stars: ✭ 19 (-69.35%)
Mutual labels:  cisco
ise-automation-ansible
Ansible playbooks to configure a freshly installed Cisco Identity Services Engine (ISE) for simple operations; specifically, a Cisco Software-Defined Access lab environment.
Stars: ✭ 16 (-74.19%)
Mutual labels:  cisco
ciscoaxl
Python SDK for Cisco CUCM AXL API
Stars: ✭ 51 (-17.74%)
Mutual labels:  cisco
wcae
WCAE Troubleshooting tool
Stars: ✭ 25 (-59.68%)
Mutual labels:  cisco
cicd-howto
A short howto-guide for implementing CI/CD for Cisco NSO using gitlab
Stars: ✭ 19 (-69.35%)
Mutual labels:  cisco
ciscoisesdk
Cisco Identity Services Engine Platform SDK for Python
Stars: ✭ 34 (-45.16%)
Mutual labels:  cisco
fireREST
Python library for interacting with Cisco Firepower Management Center REST API
Stars: ✭ 47 (-24.19%)
Mutual labels:  cisco
merlin
Network Magic: Transforming the CLI and REST API using Infrastructure As Code automation
Stars: ✭ 50 (-19.35%)
Mutual labels:  cisco
cisco-ip-trace
Trace IP addresses to edge Cisco switch port
Stars: ✭ 65 (+4.84%)
Mutual labels:  cisco
Fastnetmon
FastNetMon - very fast DDoS sensor with sFlow/Netflow/IPFIX/SPAN support
Stars: ✭ 2,860 (+4512.9%)
Mutual labels:  cisco

DevNet Published

johann is a web-based network device monitoring tool for Cisco IOS XE devices. Collect configuration and operational data of your networking devices in a structured way in one single database!

Get an Overview in this YouTube Video!

Features

  • Add single or multiple devices (.csv file) at once to the johann SQLite database
  • Show device information on a structured web-dashboard
  • Update all device information
  • Show simple report graphs
  • Export database as .xlsx
  • Toolset:
    • Enable RESTCONF on a single IOS XE device
    • Test RESTCONF: Get current configuration in JSON format
    • Show logs

Supported Devices*

  • ASR 1000
  • ASR 900 RSP2/RSP3, ASR 920, NCS 520 and NCS 4200
  • Catalyst 9200,9300,9400,9500,9600,9800
  • Catalyst 8000V
  • CSR 1000v
  • ESS 3x00
  • IR 1101
  • IE 3x00
  • ISR 1000
  • ISR 4000

*RESTCONF needs to be supported in the IOS XE version!

Installation

johann is easy installable:

  1. Install Docker Engine and Docker Compose (already included on macOS and Windows)

  2. Then copy & paste into terminal (on Linux you may need to start Docker with a non-root user):

git clone https://github.com/flopach/johann-network-device-monitoring &&
cd johann-network-device-monitoring/docker/ &&
docker-compose up

After all containers are up, you can access the web-dashboard via http://localhost.

Demo GIF

(size: 11MB)

Screenshots

FAQs

Are only IOS XE devices supported? - For now, yes only IOS XE devices.

What YANG modules do you use? - Cisco IOS-XE native YANG models only.

johann does not get _______ operational/configuration data! - Feel free to add it or send a feature request.

Why is some information empty in the johann database? - The RESTCONF interface of the device did not provide this information.

What is the password for Database admin? - You can set the Django superuser in the ./docker/johann/Dockerfile. The default is admin/admin123 to acess the database.

johann does not support ______ ! - Please put in a feature request of feel free to add this feature!

When stopping Docker, what data will be saved? And where? - The whole SQLite database and .log file will be saved in docker/johann/stickydata/.

Known Limitations

  • Currently, only timezone UTC is supported
  • Devices can only be deleted via Django Database Manager
  • Passwords are not encrypted in the database

Technical Deep-Dive

High-level architecture

Sequence diagram for adding devices

Built With

  • Django + Django Channels
  • Redis
  • Cisco UI Kit
  • jQuery
  • Featured Python Libraries: Requests, Netmiko (just for enabling RESTCONF), Matplotlib

Versioning

0.1.0 - Initial Release

Authors

  • Florian Pachinger - Initial work - flopach

License

This project is licensed under the Cisco Sample Code License 1.1 - see the LICENSE.md file for details

Further Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].