This repository is deprecated; please follow the main search page or use the ‘Related code repos’ widget on the right side of the current page.

published

alt text

  • Excell Output
    alt text

Table of contents

General info

This project allows the users to see which branch device is Live,it does this by a Ping test,the user first access the centralized server from where it has
connectivity to all the Branch's Device,and then it runs a Ping to each and every device, The Programme looks for certain patterns form the Device response
If the pattern matches the programmes value it will be either considered as UP or DOWN based ont the pattern,and a summary table is presented to the user on console
Also the output is saved in excell with color coding based on the Ping result.

Technologies

Project is created with:

  • Python 3.6.9

Network Devices and Platforms

  • GNS3 IOU and IOS Devices
  • EVE-NG IOU and IOS Devices
  • CML2(VIRL 2) IOU and IOS Devices

Libraries

  • Rich
  • openpyxl
  • Nornir
  • Netmiko
  • alive-progress

Usage

  • Summary

  • Used Nornir , Netmiko Libraries for connecting Device.

    • For Direct Access method Nornir Library is used,you need Inventory (hosts,groups,configs)YAML file,here only one Host IP specified on hosts file which is
      used for connecting Centralized/Aggregation router,branch's ip address and other information for testing devices will be used from csv file, which will be provide from user, my csv file is Look Here,you can use your custom csv file,the customs csv file path should be mentioned correctly on programme.

      Assign csv

      Assigning custom csv file with it's exact path like
      alt text

    • For Indirect Access(through Intemediate Server)Netmiko Lirary is used,user need to specify the Ip Address and Login Credentials for the Intermediate/Jump
      Server during runtime,default values will be used if no values provided,for user executing with Indirect Access method,branch's ip and other information will also rely on csv files file used by programme , custom csv files can also be used.


  • Execution from Centralized Router.

    • Host(System/Laptop)------Network_Devices
      alt text

    When mirroring this in your'e System , you need to setup a topology on your Simulator of your choice having full connectivity with your Local System ip which is running this code , and save the ip address of Lan or Loopback ip of all the Devices running on Simulator in csv file and assign or copy-paste this csv file path as a value to variable 'branch_ip_address_for_pinging' then run the code Look here

  • Execution from Centralized Server.

    • Host(System/Laptop)----Intermediate/Jump Server(Linux)----Network_Devices
      alt text

    When mirroring this in your'e System , you need to setup a topology on your Simulator of your choice , you must have connectivity with the Jump Server and The Jump Server should have connectivity with the Network Device in Simulator,your Jump Server will act as an Intermediate Server and through it you will connect to Network Devices , but the code will run and excute in the Local System/Host itself.

Setup

Before cloning this project check the necessary requirements , you can install requirements with

$ pip3 install -r requirements.txt

To run this project, clone this to your local Folder using 'git clone'

$ git clone https://github.com/shebin7/Network_Health_Check

Then run it from IDE or from Terminal

$ python3 Network_Health_Check.py

Other Informations

Added two options to access Direct or Indirect (through Intermediate Server)

View code on GitHub
  • Owner

  • Contributors

    +1Github contributor
  • Categories

  • Programming Languages

    Python
  • License

    BSD 3-Clause "New" or "Revised" License

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.