Network telemetry from SNMP to prometheus

22 May 2018    monitoring networking 

Whether you just don’t like SNMP or you want to leverage the same tooling for monitoring and alerting as the rest of your organization, this “tutorial” has you covered. What we are going to do is see how we can monitor our network infrastructure with prometheus and grafana.

In this blogpost we are going to see how to build a webapp using flask+nornir that gathers metrics from the network and presents it via a web application. Then we will scrape that web application with prometheus to store those metrics and finally we will see how we can present those metrics with grafana. In summary, you will learn how to replace your old-fashioned SNMP monitoring system with a next-generation-12-factor-app-compliant-telemetry-system.

Continue reading on github

GoBGP grpc code examples

18 April 2017    bgp automation networking 

For those that haven’t heard about it yet, GoBGP is, as they say “an open source BGP implementation designed from scratch for modern environment and implemented in a modern programming language, the Go Programming Language”.

To me, the most interesting part of GoBGP is that it uses a grpc interface to interact with the daemon and anything that can be done via its configuration file and/or CLI can be done via this interface. As a matter of fact, the CLI actually uses this interface to retrieve data and configure things.


09 April 2017    ops automation networking napalm 

It’s been quite some time since my last blog post and, truth be told, I don’t have that much time to blog as I am quite busy with work, napalm and life in general. However, I wanted to take a few minutes today to announce napalm-yang.

In summary, napalm-yang tries to bring support for YANG models to devices where:

  1. There is no support for models at all
  2. There is some limited support as models may evolve quicker than vendors

Abstract all the Things

17 June 2016    automation networking ops 

A couple of weeks ago I made this presentation/demo about abstractions for network operations titled “Abstract all the Things”. The idea was to show how templating is good but not good enough, sometimes you have to step back and focus on the goal and not on how to get there. Well, if you are interested in the topic you can find below the video, the link to the templates and to the github repo where you can find all the code I used for the demo.

OpenConfig + NAPALM soon...

06 May 2016    ops automation networking napalm 

The other day I talked with Rob Shakir who has been working very closely with OpenConfig and we came up with the idea of trying to add OpenConfig support to NAPALM.

The idea was that a network driver would translate unsupported models to native commands while models supported by the device would be sent via native mechanisms (gRPC, NETCONF, etc.). That would allow people to start using OpenConfig as NAPALM would serve as a transition mechanism.

So, after Rob sent me an example on how to use pyangbind, which he also wrote by the way, I put together a POC. It is very cool to see that thanks to pyangbind adding OpenConfig to NAPALM was really a piece of cake. Open Source for the win!