摘要:本篇网络运维教程讲解了如何使用 SNMP 从网络硬件采集 Ansible facts,希望阅读本篇文章以后大家有所收获,帮助大家对网络运维的理解更加深入。
本篇网络运维教程讲解了如何使用 SNMP 从网络硬件采集 Ansible facts,希望阅读本篇文章以后大家有所收获,帮助大家对网络运维的理解更加深入。
一个 Ansible SNMP 模块
当我们需要管理网络硬件的时候,但是大部分的网络硬件是不支持安装客户端或者是允许 Python 脚本的,所以我们就需要使用 SNMP 来收集网络硬件的信息。本文就是讲解结合 Ansible 来采集网络硬件的信息,作者自己使用 Python 写了一个 SNMP 的采集模块。
下面是两个你可以在一个 playbook 中设置的任务的例子:
# Gather facts with SNMP version 2
- snmp_facts: host={{ inventory_hostname }} version=2c community=public
Gather facts using SNMP version 3
- snmp_facts:
host={{ inventory_hostname }}
version=v3
level=authPriv
integrity=sha
privacy=aes
username=snmp-user
authkey=abc12345
privkey=def6789
该模块要求 pysnmp 安装在你的 Ansible 服务器上。为了使用这个模块你可以添加它的目录到 $ANSIBLE_LIBRARY 变量,或者是为这个模块在当前的 library 目录创建一个子目录,通常是 /usr/share/ansible。
使用这些 facts
你或许会想:“这实际没有做任何事情!”这是正确的。这个模块是一个收集模块,并且仅仅从你的网络硬件收集信息。其他模块将被需要利用这些使用 snmp_facts 收集的信息。比如你可以在 playbooks 中使用这些 facts 与 Jason Edelman 已经做的工具一起工作。另外一个选择就是同 Ansible 模块系统一起使用这些信息,为了构建和修改配置文件。
如果你使用 ansible / ansible-playbook 的详细选项 -v,你将看到从每台主机采集到的信息。
什么能被采集
在该模块的第一版本我采集了:
· sysDescr – System Description
· sysObjectId – System Object ID, uniquely identifies the device class
· sysUpTime – Basic counter (just in seconds in this version)
· sysContact – SNMP Contact
· sysName – System Name
· sysLocation – SNMP Location
· All IPv4 addresses
· Interfaces – Name, Description, Speed, Physical address, admin and operational status
snmp_facts 的未来计划
有很多东西可以通过 SNMP 采集到 Ansible facts。仅举几件事情,我们有 CDP 或 LLDP 的邻居信息,路由表,NAT 设置,OSPF 邻居,IPv6 地址,mac 地址表,VRF 信息等等。因为对于每个硬件类型来说 sysobjectid 是唯一的,未来的一个选项可能就是首先运行一个集合仅仅只获取基本的信息,然后在一个 playbook 通过一个查找函数传递 sysobjectid 给 Jinja 模板,为了取回设备类别。这样将有可能运行其他集合,但只针对特定设备。比如你想对你所有的交换机来使用这个收集 LLDP 信息,但是你有一些 Cisco 交换机和一些华为交换机。问题就是华为不使用开放的 LLDP-MIB,但是使用 HUAWEI-LLDP-MIB 代替。假设对于 lldp 我们有一个模块选项,它通过 true/false/huawei 选项来确定是否是华为设备。这里你可以手工的组织你的在两个组和两个任务。或者你可以第一次运行一个收集任务来获取 sysobjectid,做一个查询来获取设备类别。设备类别将被注册到一个变量,你可以在以下的任务中动态使用。
有需求的可以通过 fork 他这个模块然后根据自己的业务需求来改动,会 Python 和 Ansible 就行。
比如我们可以通过这个模块然后格式化下数据存进数据库,然后定时取出来信息对比,同时版本库管理问题,当你做一个网络变更的时候,可以新旧版本对比,看自己变更了哪些东西,如果出错回滚也方便,一键回滚。
本文由职坐标整理并发布,了解更多内容,请关注职坐标系统运维网络管理频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号