如果要说专为网络运维自动化开发,为网络工程师量身打造的的Golang库,目前为止只有2021年诞生的scrapligo, gornir和netrasp。

一看名字你就知道前两个都是Python已有的第三方库和框架在Go的移植产品。scrapligo在Python叫做scrapli,我在之前的专栏文章中介绍过它,虽然其知名度不如paramiko和netmkio来得高,但同样作为nornir底层传输协议的scrapli,其性能在大型网络里是不输给netmiko和napalm的。

Gornir就不用介绍了,nornir的名气在目前Python为主的netdevops界已经够响了。

而Netrasp基本是Go里面对标netmiko的第三方库。

在gornir、scrapligo、netrasp诞生之前,Go语言一般使用ssh这个标准库(http://golang.org/x/crypto/ssh)来登陆网络设备。Go的ssh标准库基本可以对标Python的paramiko。

和Netmiko一样,scrapligo集成了go-textfsm(textfsm的golang版,使用方法和Python的textfsm没有区别),解决了网工在自动化运维中最关心的parsing的需求。另外除了ssh和textfsm,scrapligo也集成了Netconf,这个是它和一帮Python流行的只支持telnet和ssh的网络运维第三方库比较大的区别。

目前我正在我的知乎专栏连载《网络工程师的Golang之路》系列教程,截至今天(2022年1月7日)已经写了两篇,欢迎关注: