Category: Automation for Networkers

Various post about automation for Network Engineers, like config generation (e.g. using Jinja2 or Mako), data gathering (e.g. netmiko) and parsing of information (e.g. TextFSM, ciscoconfparse and regular expressions).

Extract CLI commands from Session Logs

I'll like to show you today, how to extract the commands and the associated output from multiple CLI session logs using a simple python script. It doesn't matter if you work programmatic or by hand with this data afterwards, a clear structure is always very useful.

Read more

Parse Cisco IOS configurations using ciscoconfparse

In my last post, I took a look on how to parse information from a Cisco IOS configuration using regular expressions. This post focuses on the same use case as the last one, but this time I use the ciscoconfparse library. The use of the library doesn't mean that you can ignore regular expressions at all. You need at least a basic understanding of it. Before continuing, I highly recommend to read my last post about Parse Cisco IOS configurations using RegEx. I will reuse some of the RegEx and skip the detailed explanation in this post.

Read more

Parse Cisco IOS configurations using RegEx

In one of my earlier posts, I parse IP parameters from an existing Cisco IOS configuration using ciscoconfparse. In this post, I'll like to provide some basic patterns how to parse (almost any) information from a running configuration, but first without using any library. I just take a look at the python standard library and regular expressions (RegEx).

Read more

Automate SSH connections with netmiko

Today, I like to show you an example how to automate SSH connections with netmiko. To demonstrate it, I decide to create a simple CDP information crawler. The result should be a basic network diagram based on HTML and Javascript. As you might know, this involve more components than just netmiko. It is used to collect the information from the device using SSH. To parse the output from the device, we will use TextFSM. For the visualization, we will use some HTML, Javascript and CSS.

Read more