通过Linux+SNMP+zabbix的实验理解SNMP协议
1、前言
SNMP,即简单网络管理协议,是目前广泛采用的一种,实现对IT基础设施进行统一监控、管理的一种网络协议。随着诸如机房、数据中心等建设日益复杂,对IT设备的统一管理成为必须所具备的一个模块,因此为解决这个需求,SNMP出现在大家的视野中。本文将从Linux+SNMP+zabbix这样的一个简单实验来阐述SNMP的一些基础知识。
2、SNMP基本概念
2.1、SNMP分类
2.1.1、按照版本划分
SNMP分为v1、v2c和v3三个版本,这三个版本主要是管理的粗细程度和SNMP客户端与服务端之间验证方式的区别,可以用以下列表概括:
- SNMPv1:适用于较小规模网络,基于团体字进行明文验证,安全性较低,支持错误码少;
- SNMPv2c:适用于较大规模网络,基于团体字进行明文验证,安全性较低,在v1基础上扩充更多错误码;
- SNMPv3:适用于不同规模网络,基于安全用户名或安全上下文进行加密验证,安全性较高,错误码支持较多。
目前在实际环境内,考虑到运维难度等方面的原因,使用v2c版本的情况是最多的。
2.1.2、按照SNMP模块类型划分
- agent:运行在被管理设备上的一个SNMP代理模块;
- NMS:管理IT设备的网络管理系统,如:zabbix、weAdmin和华为eSight等。
2.2、SNMP协议中PDU报文的交互
【本小节内容来源:华为AR接入路由器产品文档】
- get-request:从代理进程处提取一个或多个参数值。
- get-next-request:从代理进程处提取紧跟当前参数值的下一个参数值。
- set-request:设置代理进程的一个或多个参数值。
- get-response:返回的一个或多个参数值。这个操作是由代理进程发出的,它是对前面3种操作的响应。
- trap:代理进程主动发出的报文,通知管理进程有某些事件发生
前面3种操作由NMS向Agent发出,后面2种操作由Agent向NMS发出。
2.3、MIB基本介绍
MIB,即管理信息数据库,是由agent维护的,用于被NMS读取的一些数据对象。通常情况下,NMS所展现出的,例如CPU、内存占用率等数值都是读取自MIB。
MIB是一种树状的数据结构,它包含不同标准组织所定义数据对象,较为完整的树状图如下所示:
通常情况下,我们以对象后面的数字来定义某一个数据对象,这被称为OID。SNMP协议所管理的对象,是图中internet节点(表示为1.3.6.1或iso.3.6.1)的下面所有部分(图中阴影部分),这一点可以在运行SNMP的Linux设备中,通过snmpwalk命令体现出来,而对于其他设备,例如运行SNMP的路由交换设备,则可以用wireshark工具查看SNMP协议交互的PDU报文体现,如下图所示:
站在SNMP运维的角度,MIB可分为公有MIB和私有MIB两大部分,公有MIB是绝大多数IT设备都必须支持的标准,而私有MIB则定位在MIB树状结构的private(1.3.6.1.4)部分,如1.3.6.1.4.1.2代表的是IBM公司的私有节点,1.3.6.1.4.1.9代表的是思科公司的私有节点。
2.4、带外管理和带内管理
在对IT设备进行管理的方式上,大体上分为带外管理和带内管理两种。其中带外管理指的是管理流量业务流量物理隔离,走不同的网络链路;而带内管理指的是管理流量和业务流量共同使用同一条网络链路。
绝大多数情况下,采用的方式都是带外管理,带外管理的优点在于管理流量不会占用业务的网络带宽资源,另外在业务网络中断的情况下,独立的带外管理链路可以作为远程维护的一个“逃生通道”。
3、实验
3.1、实验拓扑与zabbix官方安装方法链接
本文将采用三台Linux服务器来进行实验,其中一台Linux服务器已经部署了zabbix,另外两台是被zabbix管理的Linux服务器,具体的部署步骤可以参阅zabbix官网,并根据实际的Linux发行版进行安装步骤,相关链接为:https://www.zabbix.com/cn/download 。
3.2、配置SNMPv2c(以UOS企业版/Ubuntu/debian为例)
(1)输入“sudo apt install snmpd
”命令,在debian系Linux上安装snmpd;
(2)输入“sudo vim /etc/snmp/snmpd.conf
”命令编辑配置文件,进行下列修改:
找到agentaddress
字段,将IP地址从127.0.0.1
修改为0.0.0.0
找到“view systemonly included
”字段,根据实际情况添加所需要监控的OID数值,通常情况下,为方便配置,都是在该位置添加view systemonly included .1
这样的配置”
(3)SNMP的配置文件修改完成后,输入命令“systemctl restart snmpd
”重启SNMP服务,重启完成后,配置生效;
(4)通过命令”snmpwalk -v 2c -c public 192.168.68.139 .1
”测试SNMP的MIB能否通过192.168.68.139
这个地址读取到,如果读取到,则说明SNMP配置无误;
(5)登录zabbix,选择“配置—>主机”,然后选择“创建主机”;
(6)随后,在弹出的对话框的“主机”选项卡中,根据实际情况填入如下信息
(7)在对话框的模板选项卡中添加Linux的SNMP模板,并保存;
(8)等待一段时间后,发现“SNMP”标志变为绿色后,则表示SNMP所有配置完成并对接成功;
3.3、配置SNMPv3(以UOS欧拉版、龙晰版/openEuler/CentOS为例)
(1)输入命令“sudo yum install net-snmp-utils net-snmp
”安装SNMP服务;
(2)输入命令“systemctl stop snmpd
”确保SNMP的服务处于停止的状态;
(3)输入命令“net-snmp-create-v3-user -ro -A authpasswd -a MD5 -X privpasswd -x DES yanmuhuan
”设置SNMPv3的密码、完整性校验方式、加密密钥、加密方式和安全用户名等(需注意的是,debian系Linux的SNMP并不带有net-snmp-create-v3-user
命令,如要使用,则需要通过命令“sudo apt install libsnmp-dev
”额外安装libsnmp-dev);
(4)”net-snmp-create-v3-user
”命令配置成功的反馈如下:
(5)输入命令“systemctl start snmpd
”重新启动SNMP服务;
(6)输入命令“snmpwalk -v 3 -u yanmuhuan -a MD5 -A authpasswd -x DES -X privpasswd -l authPriv 192.168.68.136
”,验证SNMP是否配置成功,如果配置成功,则会表现如下:
(7)配置zabbix的部分和配置SNMPv2c的部分大体相同,只不过在添加主机时,弹出的对话框应选择SNMPv3,并做如下配置,注意模板仍旧选择Linux的SNMP模板:
上图中,zabbix面板出现了安全级别这样的一个选项,该项有三个选项可供选择,分别为noAuthNoPriv(不认证不加密)、authNoPriv(认证但不加密)和authPriv(既认证又加密),此处我们选择authPriv。
(8)所有配置完成后,等待一段时间,直到SNMP标志变为绿色。
4、注意事项
4.1、通用环境下
(1)在根据zabbix官方网站安装zabbix时,应该尽可能使用新的普通版本或新的LTS版本,否则将很可能出现zabbix和数据库版本不一致的情况,从而安装失败。这是因为所有Linux公网上的软件仓库都是该Linux发行版的最新版本,此时如果使用旧版zabbix,就会因为数据库版本过新而不兼容;
(2)配置SNMPv3的密码时,位数默认不要少于8位数,否则将出现以下错误:
(3)要保证被管理设备的161端口可以正常访问。
4.2、针对部分最小化安装的Linux发行版(如UOS企业版)在内网环境且没有软件仓库的情况下
针对这样的情况,通行的做法是,使用另一台同CPU架构且可以连接互联网的主机,安装同版本操作系统后,来拉取SNMP的安装包和依赖。需要注意的是,部分Linux发行版(如UOS企业版)在选择最小化安装和基本安装两种方式下,系统所自带的依赖是不同的,因此,如果需要在最小化安装的Linux系统上离线安装SNMP,那么用于在线拉取的Linux也应该是最小化安装,否则在最小化系统上进行离线安装时,将出现依赖不全的情况。
通过Linux+SNMP+zabbix的实验理解SNMP协议相关推荐
- zabbix 5系列之snmp监控详解
更多精彩Zabbix文章.技术交流.免费技术培训加微号NateIT,免费获取zabbix安装.配置.优化技术培训视频 官网:http://ywzs.hanyunintel.com 首先,谢谢原作者: ...
- 在RedHat Linux系统中安装和配置snmp服务
在RedHat Linux系统中安装和配置snmp服务 检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl ...
- linux系统snmpd服务内存偏高,Red Hat Enterprise Linux 5.4 64位系统SNMP内存泄漏(上)
1.SNMP的内存泄漏问题 SNMP的内存泄漏问题,我最早是在CDN的一台负载均衡调度机上看到的.一个snmpd进程,占用的VIRT将近4G.重启snmpd后VIRT降到150M左右,机器为Red H ...
- 简单研究用于监控数通设备的Zabbix模板:Template Module Interfaces SNMP与Template Module EtherLike-MIB SNMP
本人的工作环境中已经有一套Zabbix平台用于监控1000台数量以上的交换机,该运维平台主要有如下作用: 查找某个区域的某台设备IP地址以方便管理员远程登录.查看/修改设备配置: 通过SNMP检测设备 ...
- 华为HCNA之SNMP基础配置实验
导语: SNMP 是专门设计用于在 IP 网络管理网络节点(服务器.工作站.路由器.交换机及HUBS等)的一种标准协议,它是一种应用层协议. SNMP 使网络管理员能够管理网络效能,发现并解决网络问题 ...
- linux文件系统只有几k,关于Linux文件系统的的简单理解和认识
关于Linux文件系统的的简单理解和认识 关于文件系统的运作,这与操作系统带的档案数据有关.例如Linux操作系统的档案权限(rwx)与文件属性(拥有者,群组,时间参数等).文件系统通常会将这两部分的 ...
- Linux 文件区块连续吗,关于Linux文件系统的的简单理解和认识
关于Linux文件系统的的简单理解和认识 关于文件系统的运作,这与操作系统带的档案数据有关.例如Linux操作系统的档案权限(rwx)与文件属性(拥有者,群组,时间参数等).文件系统通常会将这两部分的 ...
- 【正点原子Linux连载】第六十四章 Linux 多点电容触摸屏实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- Linux分布式应用 Zabbix监控配置[添加主机 自定义监控内容 邮件报警 自动发现/注册 代理服务器 高可用集群]
-------------------- 添加 zabbix 客户端主机 -------------------- 关闭防火墙 systemctl disable --now firewalld se ...
- c++ 共享内存_关于Linux共享内存的实验 [二] - 原因
关于Linux共享内存的实验 [一] 上文采用的"删文件"和"杀进程"的方法主要是为了快速演示实验现象,但这种做法不利于通过调试手段进一步探究其内在的逻辑.为此 ...
最新文章
- 【Android 安全】DEX 加密 ( Application 替换 | 分析 BroadcastReceiver 组件中调用 getApplication() 获取的 Application )
- cpu烤机工具_MySQL常用工具选择和建议
- 英语语法---名词详解
- “宜小搭”萌新报到,请多关照!
- 计算机不同用户信息互通吗,迷你世界电脑版和手机版通用吗 二者账号数据互通吗...
- 两周内股指见底概率大
- 失控的热潮:为什么说特斯拉的“电池日”名副其实?
- 安全站点导航(感谢backlion整理)
- 精细化运营探索:基于响应模型场景化应用
- 那些让我印象深刻的bug--05
- pdfkit批量转换html文件为pdf
- 诺基亚Symbian算不算智能手机?
- linux打开80端口及80端口占用解决办法
- 无法定位程序输入点 except_电脑定时程序
- 场景中配置阴影(个人笔记)
- 金豺优化(GJO)算法(含MATLAB代码)
- 计算机按维修级别,什么是“计算机一级维修”
- 如何监测大数据舆情信息动态的方法技巧
- JVM 源码解读之 CMS 何时会进行 Full GC
- HTML标记【表格的建立】!
热门文章
- MacOS 10.15编译openjdk8u详细过程
- 笔记本Win10 装 ubuntu 20.04双系统踩坑记录:装Ubuntu系统+装显卡驱动(华硕天选2 配置intel i9+ RTX 3060+1T固态硬盘(两块512G固态硬盘))
- 企业信息化将推动企业组织结构和管理模式的变革
- bitbake的原理介绍, 使用方法, 编译脚本的编写方法
- 凑数算法 c语言,算法题解 - 牛客编程巅峰赛S1第4场 - 黄金钻石组
- android jpeg图片变圆,Android 将一张图片变为圆形图片
- qq 能上但是打不开网页
- 透明网桥的自学习算法
- PdgCntEditor一键生成PDF书签目录
- git 拉取最新代码覆盖本地