首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDNNET, All Rights Reserved
打开APP
华三SNMP配置详解 转载
2021-07-08 18:42:40
2点赞
Networker要开发
码龄5年
关注
一、SNMP配置
11 SNMP简介
SNMP(Simple Network Management Protocol,简单网络管理协议)是网络中管理设备和被管理设备之间的通信规则,它定义了一系列消息、方法和语法,用于实现管理设备对被管理设备的访问和管理。SNMP具有以下优势:
自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务分别与被管设备的物理特性和下层的联网技术相对独立,从而实现对不同厂商设备的管理,特别适合在小型、快速和低成本的环境中使用。
111 SNMP的工作机制
SNMP网络元素分为NMS和Agent两种。
NMS(Network Management Station,网络管理站)是运行SNMP客户端程序的工作站,能够提供非常友好的人机交互界面,方便网络管理员完成绝大多数的网络管理工作。
Agent是驻留在设备上的一个进程,负责接收、处理来自NMS的请求报文。在一些紧急情况下,如接口状态发生改变等,Agent也会主动通知NMS。
NMS是SNMP网络的管理者,Agent是SNMP网络的被管理者。NMS和Agent之间通过SNMP协议来交互管理信息。
SNMP提供四种基本 *** 作:
Get *** 作:NMS使用该 *** 作查询Agent的一个或多个对象的值。
Set *** 作:NMS使用该 *** 作重新设置Agent数据库(MIB,Management Information Base)中的一个或多个对象的值。
Trap *** 作:Agent使用该 *** 作向NMS发送报警信息。
Inform *** 作:NMS使用该 *** 作向其他NMS发送报警信息。
112 SNMP的协议版本
目前,设备的SNMP Agent支持SNMP v1、SNMP v2c和SNMP v3三种。
SNMP v1采用团体名(Community Name)认证。团体名用来定义SNMP NMS和SNMP Agent的关系。如果SNMP报文携带的团体名没有得到设备的认可,该报文将被丢弃。团体名起到了类似于密码的作用,用来限制SNMP NMS对SNMP Agent的访问。
SNMP v2c也采用团体名认证。它在兼容SNMP v1的同时又扩充了SNMP v1的功能:它提供了更多的 *** 作类型(GetBulk和InformRequest);它支持更多的数据类型(Counter64等);它提供了更丰富的错误代码,能够更细致地区分错误。
SNMP v3提供了基于用户的安全模型(USM,User-Based Security Model)的认证机制。用户可以设置认证和加密功能,认证用于验证报文发送方的合法性,避免非法用户的访问;加密则是对NMS和Agent之间的传输报文进行加密,以免被窃听。通过有无认证和有无加密等功能组合,可以为SNMP NMS和SNMP Agent之间的通信提供更高的安全性。
NMS和Agent的SNMP版本匹配,是它们之间成功互访的前提条件。Agent可以同时配置多个版本,与不同的NMS交互采用不同的版本。
113 MIB简介
任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB(Management Information Base,管理信息库)是被管理对象的集合。它定义了对象之间的层次关系以及对象的一系列属性,比如对象的名字、访问权限和数据类型等。每个Agent都有自己的MIB。NMS根据权限可以对MIB中的对象进行读/写 *** 作。
MIB是以树状结构进行存储的。树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别(OID)。如图1-2所示,被管理对象B可以用一串数字{1211}唯一确定,这串数字是被管理对象的OID(Object Identifier,对象标识符)。
13 配置SNMP日志
131 SNMP日志介绍
SNMP日志功能将记录NMS对SNMP Agent的GET和SET *** 作。当进行GET *** 作时,Agent会记录NMS用户的IP地址、GET *** 作的节点名和节点的OID。当进行SET *** 作时,Agent会记录NMS用户的IP地址、SET *** 作的节点名、节点的OID、设置的值以及SET *** 作返回的错误码和错误索引。这些日志将被发送到设备的信息中心,级别为informational,即作为设备的一般提示信息。通过设置信息中心的参数,最终决定SNMP日志的输出规则(即是否允许输出以及输出方向)。
SNMP日志记录GET请求、SET请求和SET响应信息,不记录GET响应信息。
132 开启SNMP日志功能
[HX-A]snmp-agent log {all | get-operation | set-operation } 打开SNMP日志开关
[HX-A]info-center source ? 配置SNMP日志输出规则,缺省情况下,SNMP日志只会输出到日志主机(loghost)和日志文件(logfile)方向,如果要输出到别的方向(比如控制台、监视终端等)需要使用该命令配置
14 配置SNMP Trap
Trap是Agent主动向NMS发送的信息,用于报告一些紧急的重要事件(如被管理设备重新启动等)。Trap报文有两种:通用Trap和企业自定义Trap。设备支持的通用Trap包括authentication、coldstart、linkdown、linkup和warmstart五种,其它均为企业自定义Trap。企业自定义Trap由模块生成。因为Trap信息通常较多,会占用设备内存,从而影响设备性能,所以建议用户根据需要开启指定模块的Trap功能,生成相应的Trap报文。
开启Trap功能后,相应模块生成的Trap报文将被发送到设备的信息中心。信息中心有七个输出方向,缺省情况下,允许所有模块的所有Trap信息发往控制台(console)、监视终端(monitor)、日志主机(loghost)和日志文件(logfile);允许所有模块的高于等于warnings级别的Trap信息发往告警缓冲区(trapbuffer)和SNMP模块(snmpagent);日志缓冲区(logbuffer)方向不能发送Trap信息。可以根据各模块生成的Trap信息的级别设置信息中心参数,最终决定Trap报文的输出规则(即是否允许输出以及输出方向)。有关信息中心的配置请参见“信息中心配置”。
[HX-A]snmp-agent trap enable ?缺省情况下,各模块的Trap功能处于开启状态
[HX-A]int g1/0/20 进入接口视图
[HX-A-GigabitEthernet1/0/20]enable snmp trap updown缺省情况下,端口下端口状态变化的Trap功能处于开启状态
142 配置Trap报文发送参数
1 配置准备
如果要将Trap发送给NMS,则需要进行以下配置准备:
完成SNMP基本配置(包括版本设置,如果使用SNMP v1和v2c版本需要设置团体名;如果使用SNMP v3版本需要设置用户名和MIB视图)。
设备与NMS建立连接,能够互相 *** 作。
2 配置过程
当Trap报文发送到SNMP模块后,SNMP模块将Trap报文存在消息队列里,用户可以设置该队列的长度、Trap报文在队列里的保存时间,也可以将报文发送给指定的目标主机(通常为NMS)等。
如果要将Trap信息发送给NMS,该步骤为必选,并将ip-address指定为NMS的IP地址
[HX-A]snmp-agent target-host trap address udp-domain 1011254 udp-port 22 params securityname 32
[HX-A]snmp-agent trap source ?设置发送Trap报文中的源地址
[HX-A]snmp-agent trap if-mib link extended 对RFC定义的标准linkUp/linkDown Trap报文进行私有扩展
[HX-A]snmp-agent trap queue-size ? 设置Trap报文发送队列的长度
[HX-A]snmp-agent trap life 60 设置Trap报文的保存时间,缺省情况下,Trap报文的保存时间为120秒
15 SNMP显示和维护
在完成上述配置后,在任意视图下执行display命令,均可以显示配置后SNMP的运行情况,通过查看显示信息,来验证配置的效果。
复制代码
[HX-A]display snmp-agent sys-info [ contact | location | version ] 显示系统维护联络信息、系统位置信息及SNMP版本信息
[HX-A]display snmp-agent statistics 显示SNMP报文统计信息
[HX-A]display snmp-agent local-engineid 显示设备的SNMP实体引擎ID
[HX-A]display snmp-agent group 显示SNMP组信息
[HX-A]display snmp-agent trap queue显示Trap消息队列的基本信息
[HX-A]display snmp-agent trap-list 显示系统当前可以发送Trap消息的模块及其Trap消息的使能状态
[HX-A]display snmp-agent usm-user 显示SNMP v3用户信息
[HX-A]display snmp-agent community 显示SNMP v1或SNMP v2c团体信息
[HX-A]display snmp-agent mib-view 显示MIB视图的信息
复制代码
16 SNMP v1/v2c典型配置举例
1 组网需求
NMS与Agent通过以太网相连,NMS的IP地址为1112/24,Agent的IP地址为1111/24。
NMS通过SNMP v1或者SNMP v2c对Agent进行监控管理,Agent在故障或者出错的时候能够主动向NMS报告情况。
2 组网图
图1-3 配置SNMP v1/v2c组网图
复制代码
[H3C]int GE1/0/1
[H3C-GigabitEthernet1/0/1]port link-mode route 二层接口改成三层接口
[H3C-GigabitEthernet1/0/1]ip address 1111 24 配置IP地址和掩码
设置SNMP基本信息,包括版本、团体名。
[H3C]snmp-agent sys-info version v1 v2c
[H3C]snmp-agent community read public
[H3C]snmp-agent community write private
设置交换机的联系人和位置信息,以方便维护。
[H3C]snmp-agent sys-info contact Mrzeng-tel:0813
[H3C]snmp-agent sys-info location telephone-closet,3rd-floor
允许向网管工作站(NMS)1112/24发送Trap报文,使用的团体名为public。
[H3C]snmp-agent trap enable
[H3C]snmp-agent target-host trap address udp-domain 1112 params securityname public v1
snmp-agent target-host命令中的指定的版本必须和NMS上运行的SNMP版本一致,如果NMS上运行的是SNMP v2c版本,则需要将snmp-agent target-host命令中的版本参数设置为v2c。否则,网管站将收不到Trap信息。
复制代码
(2) 配置NMS
在使用SNMP v1/v2c版本的NMS上需要设置“只读团体名”和“读写团体名”。另外,还要设置“超时”时间和“重试次数”。用户可利用网管系统完成对设备的查询和配置 *** 作,查看上面配置命令。
17 SNMP v3典型配置举例
具体配置可以参考华三官网配置信息:
>
问题现状
某系统, 订单单表早就已经突破200G ,由于查询维度较多,即使加了 两个从库,优化索引 等优化手段也无济于事。因为数据库达到瓶颈,应用只能通过 限速、异步队列等对其进行保护, 因此进行分库分表的尝试 。
整体思路
按照商户ID进行分库,用户ID进行分表,同时通过数据同步等方式,把数据同步到一个运营库, 同时满足C端用户、B端商户、客服、运营等的需求。最终,通过 新老系统双写 逐渐从老库过渡到新库,完成业务的切换。
切分策略
1 查询切分
将ID和库的Mapping关系记录在一个单独的库中,但是这样 引入额外的服务器来维护这个Mapping关系 。
2 范围切分
按照时间区间或ID区间来切分。但是 针对于某些大商户来说,还是解决不了性能瓶颈的问题 。
3 Hash切分(最终方案)
我们分库分表的方案是1616的。
商户Id后四位mod 16 分16个库, UserId后四位Mod 16 将每个库分为16个表,共计分为256张表。
线上部署情况为 4个集群 ,每个集群4个库( 1主3从 )。
场景一:数据库性能达到瓶颈:扩大数据库的集群数量,从16个数据库变成32个数据库。
场景二:单表容量达到瓶颈:扩大分表的数量,从16切分变成32切分。
唯一ID方案
1 利用数据库自增ID(单点风险、单机性能瓶颈)
2 利用数据库集群并设置相应的步长( 需要单独的数据库集群 )
3 Twitter Snowflake( 需要独立的集群以及ZK )
4 采用了带有业务属性的方案:(时间戳+商户ID+用户ID+随机数)
其他问题
数据迁移
第一阶段
第二阶段
第三阶段
总结
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)