数据中心网络设备管理(一)
为了保证网络的高速、高可用性、可扩展性、高安全性,需要提高网络监控及自愈能力,网管就成了设备资源、网络状态监测的集合体,自Telemetry推出以后,传统的网管协议snmp,syslog等渐渐走了下坡路,但由于网络及设备的历史局限性,snmp及syslog协议一时半会还无法完全被代替。最近在做网络管理,对Telemetry、snmp get、snmp trap、syslog、tacacs进行了学习,接下来几篇博文就是介绍对这些网管协议的简单使用。
snmp协议介绍
SNMP 的出现,主要想解决两个问题:
设备信息的采集
使用 GUI 替代 CLI 的方式进行设备配置下发
但由于其读多写少的特点,现被广泛用于设备信息的监控和采集。
01SNMP 目前共有三个版本:
SNMP V1,第一个版本。在管理设备上,采用明文的方式,有 read-only, read-write, trap 三种和设备通信的方式。
SNMP V2,主要改进了性能,安全性以及设备交流的方式。
SNMP V3,主要优化了安全性,增加了一些更强的认证流程。
02 SNMP 原理
SNMP 整体架构上有些类似于 Client / Server,其主要的工作组件主要有三个:
SNMP Manager:
,主要用于管理网络中的多个设备,对其进行读和写的操作。
类似于 Server.
SNMP Agent:
运行在网络设备上,通常都需要手动开启。
作为 SNMP 代理,在收到 SNMP Manager 发出请求后,对请求的内容进行解析,然后对设备进行配置,将配置的结果作为 Response 回复给 Manager.
SNMP MIB: MIB - Management Information Base 全称为信息管理库。
可以将其理解成用于交互的一种数据模型,也就是交互的规则。
MIB 同样存在于网络设备中。
定义和描述了如何管理设备上的资源。
Manager 和 Agent 之间的交流的信息就是 MIB 的内容。
SNMP MIB在此可以理解为SNMP Manage(网管)和Agent(设备)直接定义的接口规范。以snmp get为例,在Manger想要设备的版本信息,向设备发送一个1.3.6.1.2.1.1.1指令,agent获取到这个1.3.6.1.2.1.1.1,使用MIB的规则去解析1.3.6.1.2.1.1.1是获取版本信息,再将版本信息返回给Manger。
03SNMP get配置
要想利用snmp 获取设备信息,首先要先在设备上开启snmp agent具体配置如下
snmp-agent community read cipher public1234 #配置snmp 读取团体名,为manage和agent认证的key
snmp-agent sys-info version all #配置SNMP版本 (all是所有版本)
以华为设备为例,使用python发送mib获取设备版本信息,需要安装pysnmp
pip install pysnmp
from pysnmp.hlapi import *
def snmp_v2(community_name,address):'''snmpv2获取设备版本号:param community_name 团体名:param address:设备ip地址:return:'''iterator = getCmd(SnmpEngine(),CommunityData(community_name),UdpTransportTarget((address, 161)),ContextData(),ObjectType(ObjectIdentity('SNMPv2-MIB', 'hwProductVersion', 0)))# ObjectType(ObjectIdentity('1.3.6.1.4.1.2011.5.25.188.1.5')#两种获取方式errorIndication, errorStatus, errorIndex, varBinds = next(iterator)if errorIndication: # SNMP engine errorsprint(errorIndication)else:if errorStatus: # SNMP agent errorsprint('%s at %s' % (errorStatus.prettyPrint(), varBinds[int(errorIndex)-1] if errorIndex else '?'))else:return varBinds
也可以使用snmp get获取其他信息
OID | 含义 |
---|---|
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.1 | 实体管理状态 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.2 | 实体操作状态 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.3 | 实体备用状态 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.4 | 实体告警状态,主要是和实体告警灯状态保持一致 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5 | 实体的CPU使用率。通常,CPU使用率将计算实体的总体CPU使用率,不需要感知实体上的CPU数量。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.6 | CPU使用率的阈值。当CPU使用率超过该阈值时,会发送相应的通知。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7 | 实体的内存使用率。该对象表示已经使用了多少百分比的内存。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.8 | 内存使用率的阈值。当内存使用率超过该阈值时,会发送相应的通知。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.9 | 内存大小。(超过2GB建议使用hwEntityMemSizeMega节点。) |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.10 | 实体UP状态持续的总时间 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11 | 实体温度 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.12 | 实体温度上限 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.13 | 实体电压 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.14 | 实体最低电压极限 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.15 | 实体最高电压极限 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.16 | 实体温度下限 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.17 | 光模块光功率 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.18 | 实体电流 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.19 | 实体SDRAM大小 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.20 | 端口的类型 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.21 | 端口工作的双工模式 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.22 | 光模块的接收功率 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.23 | CPU最低利用率 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.24 | 单板的功率 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.26 | 是否支持灵活插卡 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.27 | 单板类型 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.29 | 最大CPU占用率。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.30 | CPU类型 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.31 | 内存类型 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.32 | 闪存大小(KB) |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.33 | 接口Up的次数。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.34 | 接口Down的次数。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.35 | 平均CPU占用率。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.36 | 平均内存使用率。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.37 | 已使用的内存大小。 |
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.46 | 单板启动模式 |
通过snmp获取设备当前状态,如果再使用一些预置规则进行告警信息处理,即可实现故障的自动化处理,减少故障时间,提高网络的可用性。
参考:
https://www.huawei.com/cn/
https://www.cnblogs.com/michael9/p/14432935.html#snmp
数据中心网络设备管理(一)相关推荐
- 数据中心网络设备管理(二)
SNMP TRAP 为什么要使用SNMP trap 上篇数据中心网络设备管理(一)中介绍了如何使用snmp get 获取设备信息,网管要在尽量短的时间内获取到设备告警,使用snmp get来获取设备告 ...
- 数据中心网络高可用架构
文章不错,转来了 http://www.h3c.com.cn/Solution/Operational/DataCenter/Solutions/201003/802841_30004_0.htm 相 ...
- DPDK加速FPGA支持,强强联手助力数据中心网络加速
背景 DPDK在专注数据面报文处理的同时,一直紧跟网络发展的脉搏以开放的姿态融合不断涌现的各种新的网络设备.从最初的普通网卡,到集成虚拟化和交换功能的高级网卡,再到各种网络SoC(片上系统)设备,到现 ...
- 数据中心网络流量精细运维
从IDC运营商和云服务商的角度来说,做好网络运维是企业的根本.国内对互联网带宽需求的快速增长,催生出很多大型的IDC服务商,他们在全省.全国,甚至全世界布局数据中心.快速布局的同时如何对数据中心流量精 ...
- 某云数据中心网络解决方案(分享二十一)
某云数据中心网络解决方案(分享二十一) 参考文章: (1)某云数据中心网络解决方案(分享二十一) (2)https://www.cnblogs.com/zywu-king/p/8284189.html ...
- 数据中心网络架构 — 云数据中心网络 — 二层架构设计示例
目录 文章目录 目录 Border Leaf.Spine.Leaf 二层架构设计示例 Server 接入 Leaf Leaf 接入 Spine Spine 接入 Border Leaf Border ...
- 数据中心网络架构 — 传统数据中心网络 — 胖树型三层网络架构
目录 文章目录 目录 胖树型(Fat-Tree)网络架构 Fat-Tree 是一种无带宽收敛的网络架构 Fat-Tree 的网络拓扑 Fat-Tree 的缺点 胖树型(Fat-Tree)网络架构 为了 ...
- 7项最佳实践助您利用媒体转换不断发展数据中心网络
任何数据中心网络的基础都是物理层;是光纤和铜缆将用户.服务器.存储以及当前物联网时代的各种设备连接起来的.而在这些网络上不断增涨的需求,需要数据中心不断进行升级.本文中,我们将为广大读者诸君介绍7项最 ...
- 什么是超融合数据中心网络?
数据中心网络连接数据中心内部通用计算.存储和高性能计算资源,服务器间的所有数据交互都要经由网络转发.当前,IT架构.计算和存储技术都在发生重大变革,驱动数据中心网络从原来的多张网络独立部署向全以太化演 ...
最新文章
- python读取数据校验数据_Python通过Schema实现数据验证方式
- 学习笔记-4.1用户管理命令
- VTK:Picking之CellPicking
- iphone备忘录突然没了_iphone备忘录突然没了?丢失的备忘录内容怎么找回?
- EaglePHP开源框架全新改版(v1.8)
- 3D建模吃香到底是真是假?
- python迭代函数例题_python map 函数使用,遍历访问可迭代对象
- 2021年6月Python小屋编程比赛获奖名单
- linux java运行环境_linux(centos)中java运行环境_jdk安装与配置 | OPS技术联盟
- 威纶通触摸屏232脚位_触摸屏通讯口(USB、RS232、RS422/485)的正确使用
- 【2023秋招】9月美团校招C++岗题目
- redis存短信验证码,取短信验证码
- WIN10进不了BIOS的解决办法
- flutter的坑.dart1与dart2写法的区别
- php实现跑马灯闪亮,JavaScript_基于jquery实现的文字向上跑动类似跑马灯的效果,想实现一个类似跑马灯的效果, - phpStudy...
- ffmpeg Unknown encoder ‘libx264‘
- 开发者模式(一) 各种姿势进入
- 一文看懂个税2022
- 实战项目之基于flask的及时聊天系统
- 7-40 奥运排行榜
热门文章
- python彩票分析_128期老李大乐透预测奖号:后区和值分析
- 56、基于51单片机 WiFi温湿度加四个继电器报警
- 短时交通预测方法总结
- 图片转换为css_快速将色彩理论转换为CSS
- 冒牌网站提供假冒卡巴斯基KIS7.0下载
- 如何判断一笔交易是否属于欺诈 数据挖掘算法与现实生活中的应用案例
- where we come
- windows防火墙设置_成都企业级网络防火墙
- React 官网为什么那么快?
- npm ERR notarget No matching version found for XXX@^1.3.0.(已解决)