Linux下安装配置SNMP服务
linux中snmp服务安装配置
linux下安装配置snmp步骤1:解压源码包[root@ICMS-1 ~]# cd /opt/software[root@ICMS-1 software]# tar zxvf net-snmp-5.7.1.tar.gz步骤2:进入解压后的文件目录[root@ICMS-1 software]# cd net-snmp-5.7.1步骤3:配置configure执行文件目录下的configure可执行文件,如果想指定程序包的安装路径,那么您首先建立相应的文件夹来存放安装信息,您可以写成./configure –-prefix=/您指定的路径名。
参数--prefix用来告诉系统安装信息存放的路径,如果您没有指定路径,直接执行./configure,那么程序包都会安装在系统默认的目录下,通常为:/usr/local下[root@ICMS-1 net-snmp-5.7.1]# ./configure --prefix=/usr/local/snmp--with-mib-modules='ucd-snmp/diskio ip-mib/ipv4InterfaceTable'(注:--with-mib-modules=ucd-snmp/diskio该选项,可以让服务器支持磁盘I/O监控。
)回车出现下面问题,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存贮目录默认存放在/var/net-snmp下1、Press return to continue2、default version of-snmp-version(3): 3(在这里版本通常有三种形式:1,2c,3)3、System Contact Information (@@no.where)(配置该设备的联系信息): heaven(也可以是邮箱地址)4、System Location (Unknown)(该系统设备的地理位置):BEIJING P.R China5、Location to write logfile (日志文件位置): /var/log/snmpd.log6、Location to Write persistent(数据存储目录): /var/net-snmp步骤4:编译和安装make && make install:编译源码包文件,通常只需要执行make命令,系统会根据Makefile层层进行编译。
linux系统下的snmp服务器搭建
Linux环境下搭建snmp服务器一、不同版本的Linux在线安装命令总结RedHat:安装命令:rpm、yumFedora下:安装命令:rpm 、yum进行安装Ubuntu下:安装命令:apt-getDebian下:安装命令:apt-getCentos下:rpm 、yum (RedHat系列)Open SUSE:zypper二、在线安装配置net-snmp(无法联网请使用离线安装)1、使用安装命令,安装net-snmp,(以root身份登录)centos下:yum install net-snmpOpen suse下:#zypper install net-snmp#vi /etc/snmp/snmpd.conf (如果不存在snmp目录,需#mkdir /etc/snmp) Snmpd.conf文件内容rocommunity publicsyslocation "digitalchina"syscontact sop@2、简单的配置snmp服务,如:重新启动snmp服务:service snmpd restart设置snmpd服务为自启动:chkconfig snmpd on3、关闭防火墙:#service iptables stop (iptables防火墙,不同Linux服务器不一样)禁止自启动:#chkconfig iptables off三、离线安装net-snmp服务1、将net-snmp-5.4.4.tar.gz(SnmpAdapterApp/doc目录)拷贝到/home/kinger目录2、终端输入命令(我的用户名是kinger,将其改成自己用户名目录)#cd /home/kinger#tar -zxvf /home/kinger/net-snmp-5.4.4.tar.gz#cd /home/kinger/net-snmp-5.4.4#./configure --prefix=/usr/local/net-snmp-5.4.4关键地方配置:输入1,使用snmp-v1版,一直Enter下去3、(以root用户登录)#make如果出现错误提示,/usr/bin/ld: cannot find –lelf或出现/usr/bin/ld: cannot find -l***等不同的错误使用vi打开/etc/ld.so.conf加入一行:/usr/local/lib执行#/sbin/ldconfig /etc/ld.so.conf重新#./configure#make install#mkdir /etc/snmp#vi /etc/snmp/snmpd.conf输入前面相同的snmpd.conf文件内容。
linux下的snmp配置及获取信息测试
1)配置snmp,编辑/etc/snmp/snmpd.conf1.1)首选是定义一个共同体名(community),这里是public,及可以访问这个public的用户名(sec name),这里是notConfigUser。
Public相当于用户notConfigUser的密码1.2)定义一个组名(groupName)这里是notConfigGroup,及组的安全级别,把notConfigUser 这个用户加到这个组中。
1.3)定义一个可操作的范围(view)名,这里是all,范围是.11.4)定义notConfigUser这个组在all这个view范围内可做的操作,这时定义了notConfigUser 组的成员可对.1这个范围做只读操作。
1.5)重启snmpd服务1.6)列出snmpd开放端口参考答案:vi /etc/snmp/snmpd.conf做如下修改:# source communitycom2sec notConfigUser default public# groupName securityModel securityNamegroup notConfigGroup v1 notConfigUsergroup notConfigGroup v2c notConfigUser# name incl/excl subtree mask(optional)view all included .1# group context sec.model sec.level prefix read write notifaccess notConfigGroup "" any noauth exact all none none保存退出service snmpd restartnetstat -anp|grep snmp2.1)查看阅读mib-2所管理的信息类别的MIB文件参考答案:more /usr/share/snmp/mibs/RFC1213-MIB.txt3)用snmpbulkwalk命令连接snmp服务器(219.238.238.143),获取snmp服务器的mib-2各种资讯3.1)snmpbulkwalk用于通过SNMPv2 的SNMP GET BULK请求命令与其它网络实体通信,只能用于snmpv2,速度快于snmpwalk3.2)指定共同体为public,协议为snmp2c3.3)获取mib-2的system的数据,即.1.3.6.1.2.1.1(iso->identified organization->dod->internet->mgmt2->mib-2->system)3.4)获取mib-2的interface的数据,即.1.3.6.1.2.1.2(iso->identified organization->dod->internet->mgmt2->mib-2->interface)3.5) 获取mib-2的address translation的数据,即.1.3.6.1.2.1.3(iso->identified organization->dod->internet->mgmt2->mib-2->address translation)3.6)获取mib-2库的ip的数据,即.1.3.6.1.2.1.4(iso->identified organization->dod->internet->mgmt2->mib-2->ip)3.7)获取mib-2库的icmp的数据,即.1.3.6.1.2.1.5(iso->identified organization->dod->internet->mgmt2->mib-2->icmp)3.8)获取mib-2库的tcp的数据,即.1.3.6.1.2.1.6(iso->identified organization->dod->internet->mgmt2->mib-2->tcp)3.9)获取mib-2库的udp的数据,即.1.3.6.1.2.1.7(iso->identified organization->dod->internet->mgmt2->mib-2->udp)3.10)获取mib-2库的snmp的数据,即.1.3.6.1.2.1.11(iso->identified organization->dod->internet->mgmt2->mib-2->snmp)参考答案:snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.1snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.2snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.3snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.4snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.5snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.6snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.7snmpbulkwalk -v 2c 219.238.238.143 -c public .1.3.6.1.2.1.114)查看阅读HOST-RESOURCES的MIB文件参考答案:more /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt5)查用snmpwalk命令连接snmp服务器(219.238.238.143),获取snmp服务器的HOST-RESOURCES的各种资讯5.1)指定共同体为public,协议为snmpv15.2)获取HOST-RESOURCES的host(所有资源)5.3)获取HOST-RESOURCES的hrSystem(系统日期/时间,初始化设备,内核引导参数,系统当前的登录用户数,当前的进程数,支持的最大进程数)5.4)获取HOST-RESOURCES的hrStorage(内存大小,磁盘大小,使用情况等)5.5)获取HOST-RESOURCES的hrDevice(设备ID,设备类型,对设备的描述,引导盘,挂载分区等) 5.6)获取HOST-RESOURCES的hrSWRun(线上系统的进程ID,进程名,涉及的参数,运行状态等) 5.7)获取HOST-RESOURCES的hrSWRunPerf(线上系统进程占用CPU的时间,占用内存的大小) 5.8)获取HOST-RESOURCES的hrSWInstalledName(已安装的软件包名)和hrSWInstalledDate(已安装的软件包时间)参考答案:snmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hostsnmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrSystemsnmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrStoragesnmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrDevicesnmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrSWRunsnmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrSWRunPerfsnmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrSWInstalledName snmpwalk -v 1 219.238.238.143 -c public HOST-RESOURCES-MIB::hrSWInstalledDate6)查看阅读IF-MIB的MIB文件参考答案:more /usr/share/snmp/mibs/IF-MIB.txt7)用snmpdelta命令连接snmp服务器(219.238.238.143),监控网卡流量等信息7.1)指定共同体为public,协议为snmpv1,以表格的方式输出结果,显示时间戳7.2)监控IF-MIB::ifInUcastPkts(输入流量),IF-MIB::ifOutUcastPkts(输出流量),格式为<object>.<instance>,如监控本地的第二块网卡instance为27.3)监控ifInDiscards(已经丢弃的收到的数据包的总数),格式同上参考答案:snmpdelta -c public -v 1 -Cs -CT 219.238.238.143 IF-MIB::ifInUcastPkts.2 IF-MIB::ifOutUcastPkts.2 snmpdelta -c public -v 1 -Cs -CT 219.238.238.143 ifInDiscards.28)用snmpnetstat命令连接snmp服务器(219.238.238.143),查看snmp服务器的端口连接信息8.1)指定共同体为public,协议为snmp2c8.2)获取219.238.238.143的所有开放端口状态8.3)获取219.238.238.143的网络接口状态8.4)获取219.238.238.143的TCP协议的开放端口状态参考答案:snmpnetstat -v 2c -c public -a 219.238.238.143snmpnetstat -v 2c -c public -i 219.238.238.143snmpnetstat -v 2c -c public -P tcp 219.238.238.1439)用snmptranslate 命令在MIB OID 在数字和文字名称之间进行转换9.1)用snmptranslate把symbol 格式的HOST-RESOURCES-MIB::hrSystem 转换为numberic 格式的oid,用-On(输出数字格式的oid),使用-IR(允许“随机”访问MIB)9.2)用snmptranslate把symbol 格式的HOST-RESOURCES-MIB::hrSystem 转换为symbol 格式的oid,用-Onf(输出符号格式的oid)9.3)用snmptranslate输出该对象(.dod.internet.mgmt.mib-2)的详细定义,用-Td(包括文字名称、所属MIB、类型、状态、读写权限、描述信息,数字格式的OID)9.4)用snmptranslate打印从指定OID(.1.3.6.1.2.1)开始一直到该OID(.1.3.6.1.2.1)所属的MIB 子树末端的树型结构信息9.5)用snmptranslate导出所有已经加载的MIB 的数据,每个对象一行9.6)用snmptranslate导出所有已经加载的MIB 的对象,并且输出完整的oid 路径9.7)用snmptranslate导出已经加载的所有MIB 的数字格式的oid ,不含值和类型,仅仅有oid 而已9.8)用snmptranslate只输出文字格式的OID 名称而已参考答案:snmptranslate -On -IR HOST-RESOURCES-MIB::hrSystemsnmptranslate -Onf -IR HOST-RESOURCES-MIB::hrSystemsnmptranslate -Td .dod.internet.mgmt.mib-2snmptranslate -Tp .dod.internet.mgmt.mib-2snmptranslate -Tasnmptranslate -Tlsnmptranslate -Tosnmptranslate -Ts10.1)用snmptranslate查询MID OID的数字为1.3.6.1.4.1.2021的详细信息10.2)用snmptranslate列出1.3.6.1.4.1.2021树型结构10.3)用snmpwalk连接219.238.238.143的snmp,通过UCD-SNMP-MIB列出proc的信息10.4)用ps -e找过三个进程,写入到/etc/snmp/snmpd.conf配置文件中,如:keventd,nfsd,bdflush 10.5)重启snmpd服务10.6)再用snmpwalk连接219.238.238.143的snmp,列出proc的信息参考答案:snmptranslate -Td 1.3.6.1.4.1.2021snmptranslate -Tp 1.3.6.1.4.1.2021snmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.2打开snmpd.conf文件vi /etc/snmp/snmpd.conf找到# Process checks加入:proc keventdproc nfsdproc bdflushservice snmpd restartsnmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.211.1)用snmpwalk连接219.238.238.143的snmp,通过UCD-SNMP-MIB列出shell脚本的输出信息11.2)编辑/etc/snmp/snmpd.conf文件,加入:exec echotest /bin/echo hello world和exec shelltest /bin/sh /tmp/shtest11.3)编写脚本shtest,输出hello world11.4)重启服务11.5)用snmpwalk连接219.238.238.143的snmp,列出shell脚本的输出信息参考答案:snmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.8编辑/etc/snmp/snmpd.conf文件vi /etc/snmp/snmpd.conf找到:# Executables/scrīpts在后面加入:exec echotest /bin/echo hello worldexec shelltest /bin/sh /tmp/shtest保存退出cd /tmp/cat > shtest#!/bin/shecho hello worldecho hi thereexit 35service snmpd restartsnmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.812.1)用snmpwalk连接219.238.238.143的snmp,通过UCD-SNMP-MIB列出磁盘信息12.2)编辑/etc/snmp/snmpd.conf文件,加入根分区和/boot分区12.3)用kill的方式重新读取配置12.4)用snmpwalk连接219.238.238.143的snmp,列出磁盘信息参考答案:snmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.9编辑/etc/snmp/snmpd.conf文件vi /etc/snmp/snmpd.conf找到:disk checks加入:disk / 10000disk /boot 10000保存退出kill -HUP ps -e|grep snmpd|awk print $1snmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.913.1)用snmpwalk连接219.238.238.143的snmp,通过UCD-SNMP-MIB列出所有的系统进程13.2)编辑/etc/snmp/snmpd.conf文件,加入:exec .1.3.6.1.4.1.2021.51 ps /bin/ps13.3)用kill的方式重新读取配置13.4)用snmpwalk连接219.238.238.143的snmp,列出系统信息参考答案:snmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.50编辑/etc/snmp/snmpd.conf文件vi /etc/snmp/snmpd.conf加入:exec .1.3.6.1.4.1.2021.51 ps /bin/ps保存退出kill -HUP ps -e|grep snmpd|awk {print $1}snmpwalk -v 1 219.238.238.143 -c public .1.3.6.1.4.1.2021.50。
snmp在linux下安装过程
在描述NET-SNMP安装过程之前,我们先来说一下什么是SNMP。
Simple Network Management Protocol (SNMP) 是一个被广泛使用的协议,可以监控网络设备(比如路由器)、计算机设备甚至是UPS。
Net-SNMP是用于实施SNMP v1,SNMP v2,SNMPv3的应用程序套件,可以使用在IPv4、IPv6的环境中。
一、 NET-SNMP环境NET-SNMP这个套件包括:1. 命令行程序包括:(1)从支持SNMP的设备中检索信息的命令。
用于执行单个的请求(snmpget,snmpgetnext),或者执行多个请求(snmpwalk,snmptable,snmpdelta)。
(2)可以用于手动设置信息的命令(snmpset)。
(3)检索一套固定信息的命令(snmpdf,snmpnetstat,snmpstatus)。
(4)可以把MIB oid的信息在“数字”形式和“字符”形式之间进行转换的命令(snmptranslate),它还能显示MIB的内容和结构。
2. 使用Tk/perl来提供一个图形化的MIB浏览器(tkmib)。
3. 一个接收SNMPtrap信息的daemon。
经过选择的snmp通知信息可以被日志记录(记录在syslog,或者NT的日志,或者文本文件),转发到另一个SNMP管理系统,或者传递到其它的程序。
4. 一个可扩展的代理程序(snmpd),用于对管理系统提出的SNMP请求做出响应。
这包括了内建的多种支持性:5. 支持广泛的MIB信息模块,可以使用动态加载的模块进行扩展,可以使用外部的脚本和命令进行扩展,对多路复用SNMP(SMUX)和代理可扩展性协议(AgentX)的支持。
6. 包括一个库,用于支持对新的SNMP开发,支持C和Perl API。
Net-SNMP对于许多的UNIX和类UNIX操作系统都是支持的,也支持windows。
注意:对于不同的系统功能会有所变化。
网络设备及linux主机snmp
一.网络设备及服务器设备纳入综合运维平台所需具备条件如下1、被纳管设备到运维平台网络通,即在运维平台服务器能够ping通被纳管设备。
2、被纳管设备需要开启SNMP协议,且网络策略需要放行UDP 161端口。
3、snmp协议团体字定义为“”二、网络设备开启snmp协议参考命令1、锐捷网络设备配置SNMP:ruijie>enableruijie#conf truijie(config)#snmp-server community zbt155@2018 ro ---配置本路由器的只读字串为chinacoal2、华三网络设备配置SNMP:在系统视图模式下:启用SNMP协议:snmp-agent开启SNMP协议相应版本:snmp-agent sys-info version all配置只读团体字:snmp-agent community read chinacoal ---配置本路由器的只读字串为chinacoal3、华为网络设备配置SNMP:在系统视图模式下:启用SNMP协议:snmp-agent开启SNMP协议相应版本:snmp-agent sys-info version all配置只读团体字:snmp-agent community read chinacoal ---配置本路由器的只读字串为chinacoal4、防火墙可登陆相应命令行模式配置或登陆web页面进行配置,具体请联系防火墙厂商协助。
三、linux主机开启snmp协议方法1、 Centos服务器snmp协议开启:修改共同体名称: vi /etc/snmp/snmpd.conf对其进行配置如下;A、修改默认的community string (标红位置)com2sec notConfigUser default shenhuaCentOS_ruijiesnmp_roB、把下面的#号去掉:#view mib2 included .dod.internet.mgmt.mib-2 fcaccess notConfigGroup " " any noauth exact mib2 none noneC、第二步,将如下位置的systemview改为all(标红位置),如下:##### Finally, grant the group read-only access to the systemview view.# group context sec.model sec.level prefix read write notif#access notConfigGroup "" any noauth exact systemview none noneaccess notConfigGroup "" any noauth exact all none noneD、将如下标红行前面的注释去掉,如下:## incl/excl subtree maskview all included .1 80## -or just the mib2 tree-view mib2 included .dod.internet.mgmt.mib-2 fcE、将下面标红行前的注释去掉,如下#access notConfigGroup "" any noauth exact roview rwview none access notConfigGroup "" any noauth exact mib2 none none启动snmpd,并设置开机自动启:#service snmpd restart#chkconfig --level 345 snmpd on若有防火墙,添加如下防火墙策略:iptables -A RH-Firewall-1-INPUT -p udp -m udp --dport 161 -j ACCEPT2 Linux 服务器snmp协议开启:修改共同体名称: vi /etc/snmp/snmpd.conf对其进行配置如下:A、修改默认的community stringcom2sec notConfigUser default shenhuaLinux_ruijiesnmp_roB、把下面的#号去掉#view mib2 included .dod.internet.mgmt.mib-2 fcaccess notConfigGroup " " any noauth exact mib2 none none启动snmp:/etc/rc.d/init.d/snmpd restart若有防火墙,添加如下防火墙策略:iptables -A RH-Firewall-1-INPUT -p udp -m udp --dport 161 -j ACCEPT。
Linux下RPM安装配置snmp
Linux下RPM安装配置snmp1、查看是否安装了snmprpm -qa |grep snmp得到net-snmp-libs-5.5-44.el6.x86_64、net_snmp-5.5-44.el6.x86_64,表明已安装了net-snmp-libs-5.3.1-14.el5和net_snmp-5.5-44.el62、snmp安装需依赖lm_sensors-2.10.0-3.1.x86_64.rpm挂载光盘安装lm_sensors-3.1.1-17.el6.x86_64.rpm3、配置snmpd.convi /etc/snmp/snmpd.conf<1>将access notConfigGroup "" any noauth exact systemview none none改成:access notConfigGroup "" any noauth exact mib2 none none<2>将#view mib2 included .dod.internet.mgmt.mib-2 fc前面的注释#去掉改成:view mib2 included .dod.internet.mgmt.mib-2 fc<3>修改默认的community string# source community com2sec notConfigUser default public 将public修改为你设置的团体名即可4、启动snmpd服务:service snmpd start5、查看服务ps -ef|grep snmpd得到以下信息:root 7871 1 0 15:35 ? 00:00:00 /usr/sbin/snmpd –Ls0-6d -Lf /dev/null -p /var/run/snmpd.pidroot 7903 7651 0 15:36 pts/3 00:00:00 grep snmpd6、将snmpd设置为开机自启,并查看效果chkconfig --add snmpdchkconfig --level 345 snmpd onchkconfig --list |grep snmpd得到效果:snmpd 0:关闭 1: 关闭2: 关闭3:启用 4: 启用5: 启用6: 关闭7、netstat -ln |grep 161确保snmpd服务启动时,netstat -ln |grep 161可以看到以下信息:udp 0 0 0.0.0.0:161 0.0.0.0:*8、测试:snmpget -v 1 -c public 192.168.2.245 sysUpTime.0snmpwalk -v 2c -c public -m ALL 192.168.2.245 .1.3 | more可以返回值表示snmpd安装配置成功。
linux(centos7.5)配置snmpd以及snmptrapdv3版本
linux(centos7.5)配置snmpd以及snmptrapdv3版本因为⼯作使⽤需要使⽤SNMP V3,⽹上搜索了相关内容较少,此处记录⼀下使⽤linux(centos7.5)配置snmpd(相当于snmp agent,可以对外提供snmp访问)和snmptrapd(相当于snmp trap的接收端)linux需要安装net-snmp等⼀系列依赖包1yum install net-snmp配置snmpd需要先创建创建⼀个⽤户watcher,密码为abcd1234,⽬前net-snmp 5.7 ⽀持授权加密算法为MD5或SHA,鉴权加密算法为DES或AES1 [root@vm48153 ~ 14:40:05]# net-snmp-create-v3-user -h2 Usage:3 net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass]4 [-a MD5|SHA] [-x DES|AES] [username]5 [root@vm48153 ~ 14:43:22]# net-snmp-create-v3-user -a SHA -A abcd1234 -x AES -X abcd1234 watcher6 adding the following line to /var/lib/net-snmp/snmpd.conf:7 createUser watcher SHA "abcd1234" AES abcd12348 adding the following line to /etc/snmp/snmpd.conf:9 rwuser watcher从输出可以看到此命令在/var/lib/net-snmp/snmpd.conf中添加了createUser watcher SHA "abcd1234" AES abcd1234在/etc/snmpd/snmpd.conf中添加了rwuser watcher此时启动snmpd服务即可1 systemctl start snmpd使⽤snmpwalk进⾏测试1 [root@vm48153 ~ 14:47:49]# snmpwalk -v 3 -u watcher -l authPriv -a SHA -A abcd1234 -x AES -X abcd1234 10.2.48.153 sysName2 SNMPv2-MIB::sysName.0 = STRING: vm4815334 -v表⽰版本信息5 -l 表⽰设置安全级别,安全级别分为(noAuthNoPriv|authNoPriv|authPriv)6 -a 设置授权算法,(MD5|SHA)7 -A 设置授权字符串8 -x 设置鉴权算法,(DES|AES)9 -X 设置鉴权字符串10 IP 地址填写配置了snmpd的节点地址11 sysName 则为snmp的⼀种OID证明snmpd配置成功配置snmptrapd⾸先需要获取⼀下要接收snmp trap的实例(10.2.48.133)的engineID,引擎识别码理论上来讲各个设备具有唯⼀的引擎识别码 ,接收snmptrap的服务器ip为10.2.48.1531 [root@vm48153 ~ 14:48:08]# snmpwalk -v 3 -u watcher -l authPriv -a SHA -A abcd1234 -x AES -X abcd1234 10.2.48.133 engineID2 SNMP-FRAMEWORK-MIB::snmpEngineID.0 = Hex-STRING: 8000 1F 8880 E0 8F AF 1F 9C FB 0C 6100000000此节点的enginID即为0x80001f8880e08faf1f9cfb0c6100000000编辑配置⽂件 /etc/snmp/snmptrapd.conf1 # Example configuration file for snmptrapd2 #3 # No traps are handled by default, you must edit this file!4 #5 # authCommunity log,execute,net public6 # traphandle SNMPv2-MIB::coldStart /usr/bin/bin/my_great_script cold7 createUser -e 0x80001f8880e08faf1f9cfb0c6100000000 watcher SHA "abcd1234" AES "abcd1234" #经测试,此处enginID可能不需要添加即可接受所有带了正常enginID的trap请求8 authuser log,execute,net watcher其中 createUser 此处为固定语法,-e后所加为enginID SHA为授权加密算法,AES为鉴权加密算法,各⾃后所跟为加密字符串此时需要创建⼀个⽂件接收snmptrapd所接收的数据,1touch /root/snmptrapd.log2 snmptrapd -d -m +ALL -Lsd -On -p /var/run/snmptrapd.pid -f # 此处可添加udp:8162修改默认监听端⼝号- d 表⽰打印所接收的数据- f 为前台跑,不从当前进程fork- Lsd 为输出到syslog- Ou 为输出格式,可以查看snmptrapd的说明此时从10.2.48.133发起trap1 snmptrap -v 3 -e 0x80001f888013ae4455833d0e6100000000 -u watcher -l authPriv -a SHA -A 'abcd1234' -x AES -X 'abcd1234'10.2.48.153 -C i 可以看到⽇志中的输出。
Redhat安装配置SNMP 服务
Linux系统安装、配置SNMP 服务1)检查是否存在SNMP服务用rpm –qa|grep snmp 来检查linux 系统中是否有SNMP服务net-snmp-perl-5.3.2.2-7.el5net-snmp-libs-5.3.2.2-7.el5net-snmp-libs-5.3.2.2-7.el5net-snmp-utils-5.3.2.2-7.el5net-snmp-5.3.2.2-7.el5如果没有,可以拿来系统安装盘,打开进入Servers 目录,在里面很容易找到安装SNMP所需要的各个组件。
安装的时候可以用rpm –ivh *.rpm如果安装过程中提示缺少libsensors.so.3 ,则在安装盘里找到并安装lm_sensors-2.10.7-4.el5.x86_64.rpm 和lm_sensors-devel-2.10.7-4.el5.x86_64.rpm 之后再执行一次rpm –ivh net-snmp-5.3.2.2-7.el5rpm –ivh net-snmp-perl-5.3.2.2-7.el5rpm –ivh net-snmp-libs-5.3.2.2-7.el5rpm –ivh net-snmp-libs-5.3.2.2-7.el5rpm –ivh net-snmp-utils-5.3.2.2-7.el52)启动snmp 服务[root@mail doc]# /etc/rc.d/init.d/snmpd startStarting snmpd: [ OK ]如果命令输出如上所示,就表示snmp服务器启动正常。
3)修改snmpd.conf为了配合cacti使用,还要修改snmpd的配置,以使其允许cacti读取其interface(网络接口) 流量数据。
# vi /etc/snmp/snmpd.conf确保snmpd.conf文件中包含以下内容:com2sec notConfigUser default publicgroup notConfigGroup v1 notConfigUsergroup notConfigGroup v2c notConfigUserview systemview included .1access notConfigGroup "" any noauth exact all none none5.3 重启snmpd服务:# service snmpd restartStopping snmpd: [FAILED] Starting snmpd: [ OK ]5.4 设置snmpd每次开机时自动启动:# chkconfig snmpd on该命令执行完成后不会返回任何结果5.5 检查snmpd服务是否已在运行:# netstat -nlup | grep ":161"udp 0 00.0.0.0:161 0.0.0.0:* 1 6986/snmpd该命令检查本地是否已在监听UDP端口161,如果返回类似以上结果,表明snmpd 服务启动成功。
linux 安装snmp服务手册
Snmp安装配置手册(本文以redhot linux 5.8为例) 1、确定该机器是否安装snmpd服务:Service snmpd status 该命令会出现两种结果:A、snmpd is stopped,说明该项服务以安装,处于未启动状态,这时只要用service snmpd start命令启动snmpd服务即可。
B、snmpd:unrecognizes service ,说明该机器没有安装snmpd服务或安装不完全等。
这就需要我们安装snmpd,则继续按照下面步骤进行。
2、查看已经安装的snmp安装包:# rpm -qa | grep snmpnet-snmp-5.3.2.2-17.el5.x86_64输出说明已经安装了net-snmp-5.3.2.2-17.el5.x86_64.rpm包但是这样是不完整的,下面我们就需要去安装系统的光盘(或ios)中找到snmp 服务需要的安装包:net-snmp-5.3.2.2-17.el5.x86_64.rpmnet-snmp-devel-5.3.2.2-17.el5.i386.rpmnet-snmp-devel-5.3.2.2-17.el5.x86_64.rpmnet-snmp-libs-5.3.2.2-17.el5.i386.rpmnet-snmp-libs-5.3.2.2-17.el5.x86_64.rpmnet-snmp-perl-5.3.2.2-17.el5.x86_64.rpmnet-snmp-utils-5.3.2.2-17.el5.x86_64.rpmlm_sensors-2.10.7-9.el5.i386.rpmlm_sensors-2.10.7-9.el5.x86_64.rpmlm_sensors-devel-2.10.7-9.el5.i386.rpmlm_sensors-devel-2.10.7-9.el5.x86_64.rpm具体的安装包根据linux版本不同而不尽相同,但是libs,devel,utils,perl,sensors 等包是必须有的。
LINUX下安装SNMP步骤
[rhel-debuginfo-beta] name=Red Hat Enterprise Linux $releasever Beta - $basearch - Debug baseurl=ftp:///pub/redhat/linux/beta/$releasever/en/os/$basear ch/Debuginfo/ enabled=0 pgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-g pg/RPM-GPG-KEY-redhat-release
Dependency Installed: beecrypt.i386 0:4.1.2-10.1.1 elfutils-devel.i386 0:0.137-3.el5 lm_sensors.i386 0:2.10.7-9.el5
beecrypt-devel.i386 0:4.1.2-10.1.1 elfutils-devel-static.i386 0:0.137-3.el5 lm_86 0:2.10.7-9.el5
(一)安装方法:
Linux 下 SNMP 的安装
(1) 可利用 rpm –Uvh 进行安装,但有时候会出现一些依赖包,还需一一进行安装 (2) 采用 yum 进行安装,将所有的依赖包一并安装,不容易出现错误 (3) 如果采用 yum 进行安装时,首先需要更改 yum 的配置文件:
[rhel-debuginfo]
RHN support will be disabled.
rhel-debuginfo
| 1.3 kB 00:00
rhel-debuginfo/primary
linux和windows的SNMP配置方法
[root@ ]# rpm –ivh net-snmp-xxx.rpm
或者
[root@ ]#yum install net-snmp
(3)安装后打开默认的/etc/snmp/snmpd.conf 文件,更改如下配置:
1) 查找以下代码:
# source
1/4
然后重启 snmp 服务即可生效 2、 Linux 系统可以装 rpm 包或源码编译(如果你的系统已安装直接跳到第(3)步) (1)源码编译安装 net-snmp
[root@]# tar zxvf net-snmp-xxx.tar.tar [root@ ]# cd net-snmp-xxx [root@ net-snmp-xxx]# ./configure [root@ ]# make [root@ ]# make install (2)rpm 包安装 net-snmp(安装系统盘里可以找到)
将"read"字段改为 all.
修改后:access notConfigGroup "" any noauth exact all none none
3) 查找以下代码:
3/4
#view all included .1 80 将该行前面的"#"去掉. 保存关闭. 4) 运行/etc/init.d/snmpd start 命令运行 snmpd.或 service snmpd start. 5) 如果有防火墙,打开 UDP 161 端口。 最后运行 netstat -ln 查看 161 端口是否打开了. 使用 ntsysv,让 snmp 服务,每次开机自动运行。 排错 在 cacti 监控管理工作站上 1. 首先检查一下 rra/下面,有没有数据 2. snmpwalk -v 2c -c public ServerIP if 用来测试被控对象(serverIP)是否开启了 SNMP 服务 3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有 CPU 负载的数据返回 4. php /var/www/html/poller.php 用来测试 PHP 是否可以采集到数据。
Linux下安装SNMP服务
Linux下安装SNMP服务1、检查当前服务器是否已安装snmp库执行命令:#rpm -qa |grep snmpx86_64表示是64位,i686表示是32位,如下图:一、若服务器可以上网如果尚未安装SNMP,在系统可以上网的前提下,执行命令:#yum install net-snmp* 查看将要下载的SNMP安装包大小,输入y后回车开始下载:下载完成,输入y开始安装:安装完成。
二、若服务器不可上网如果尚未安装SNMP,在系统无法上网的前提下,可从以下两种方式中选择其中一种来安装:通过ISO镜像文件安装、通光盘安装。
A、通过ISO镜像文件安装(a)、下载CentOS 6.4系统32位ISO镜像文件(b)、检查/mnt下面是否有cdrom,如果没有,mkdir cdrom创建文件夹(c)、挂载ISO镜像文件,执行命令:mount–tiso9660 -oloop ISO文件所在路径/mnt/cdrom(d)、cd /etc/yum.repos.d备份该目录下所有文件后删除所有文件vi CentOS-Iso.repo ,文件内容如下:[local]name=isobaseurl=file:///mnt/cdromgpgcheck=0Esc :wq!保存退出(e)、执行命令:#yum clean all(f)、安装snmp执行命令:#yum –y install net-snmp*B、通过光盘安装(a)在光驱里面插入CentOS 6.4系统32位光盘(b)挂载到当前服务器上,执行下面命令:Mount /dev/drom /mnt/(c)、cd /etc/yum.repos.d备份该目录下所有文件后删除所有文件vi CentOS-Iso.repo ,文件内容如下:[local]name=isobaseurl=file:///mnt/cdromgpgcheck=0Esc :wq!保存退出(d)、执行命令:#yum clean all(e)、安装snmp执行命令:#yum –y install net-snmp*。
Linux下关于SNMP服务
[root@extw2 ~]# iptables -L -n |grep 161
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:161
7.开机自动启动snmpd服务.
[root@extw2 ~]# chkconfig --level 2345 snmpd on
mrtg-2.16.2-7.el6.x86_64
2.snmp包用yum进行安装.
[root@extw2 ~]# yum install -y net-snmp
[root@extw2 ~]# yum install -y net-snmp-devel
[root@extw2 ~]# yum install -y net-snmp-libs
[root@extw2 ~]# snmpd
[root@extw2 ~]#
[root@extw2 ~]# service snmpd start
3.2 查看snmp服务
[root@extw2 ~]# service snmpd status
snmpd (pid 2440) is running...
4.修改snmp配置文件(/etc/snmp/snmpd.conf ).
4.1 修改com2sec,community值public修改为jiankongbao,我们是用监控宝进行监控server,db及服务的.
#com2sec notConfigUser default public
1.2 如下为rpm -qa查看snmp相关包是否存在.
[root@extw2 ~]# rpm -qa |grep snmp
net-snmp-utils-5.5-49.el6_5.2.x86_64
Linux配置SNMP
L i n u x开通S N M P 以下以redhat上安装和配置snmp服务为例,简要进行说明:检查系统是否安装snmp服务SNMP服务安装后会有以上安装包安装SNMP服务1.配置好本地yum服务,使用yum安装(若无法联网,挂载系统盘,配置本地yum源,进行安装;或拷贝相关rpm包,手工安装也可)安装完成后,服务应该就启动了,可通过netstat -an|grep 161,查看是否侦听验证。
若未启动,通过service snmpd start启用服务即可2.配置SNMP服务开机启动#chkconfig snmpd on#chkconfig --list | grep snmpd 查看开机启动设置是否成功snmpd 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭验证SNMP服务使用snmpwalk进行测试# snmpwalk -v 2c -c public localhost若有返回值,表明服务部署成功snmpwalk用法snmpwalk -v 1|2c|3(代表SNMP版本) -c <community string> IP地址OID(对象标示符)配置SNMP服务1.配置SNMP连接字符串community string#vi /etc/snmp/snmpd.conf修改下面字段# source communitycom2sec notConfigUser default public修改public为自己定义的community string(若无特殊要求,保留默认设置即可)2.修改查看设备节点权限在配置文件/etc/snmp/snmpd.conf中找到如下位置##### Third, create a view for us to let the group have rights to:# Make at least snmpwalk -v 1 localhost -c public system fast again.# name incl/excl subtree mask(optional) view systemviewview systemviewview:定义了可以查看哪些节点设备的信息。
Linux的snmp安装和配置
Linux下SNMP的安装与配置1.确保Linux主机已经安装了SNMP服务[root@Tekview Net-SNMP]# rpm -qa | grep snmpnet-snmp-libs-5.3.2.2-5.el5net-snmp-5.3.2.2-5.el5net-snmp-utils-5.3.2.2-5.el5如果没有,那么放入Linux安装盘找到snmp的rpm包进行安装,或者到网上搜索适合自己Linux发行版本的rpm包进行安装。
如果提示没有安装lm_sensors-2.10,则先安装lm_sensors-2.10。
[root@Tekview lm_sensors]# rpm –ivh lm_sensors-2.10.7-4.el5.i386.rpm然后依次安装以下三项:[root@Tekview Net-SNMP]# rpm –ivh net-snmp-5.3.2.2-5.el5.i386.rpm[root@Tekview Net-SNMP]# rpm –ivh net-snmp-libs-5.3.2.2-5.el5.i386.rpm[root@Tekview Net-SNMP]# rpm –ivh net-snmp-utils-5.3.2.2-5.el5.i386.rpm2.修改配置文件snmpd.conf[root@Tekview ~]# vi /etc/snmp/snmpd.conf按照如下方式修改snmpd.conf文件A、修改默认的community string(共同体字符串)com2sec notConfigUser default public将public修改为你才知道的字符串B、把下面的#号去掉#view mib2 included .dod.internet.mgmt.mib-2 fcC、把下面的语句access notConfigGroup "" any noauth exact systemview none none改成:access notConfigGroup "" any noauth exact mib2 none noneSNMP的配置可根据具体应用来具体配置,这里给出一个例子(见snmpd.conf文件)3.重启服务[root@Tekview ~]# service snmpd restart或[root@Tekview ~]# /etc/rc.d/init.d/snmpd restart4.现在可以输入以下命令来测试一下:[root@Tekview ~]# snmpwalk -v 1 192.168.0.104 -c public system会得到如下所示的结果:SNMPv2-MIB::sysDescr.0 = STRING: Linux 2.6.18-128.el5 #1 SMP Wed Dec 17 11:42:39 EST 2008 i686SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (13644) 0:02:16.44SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)SNMPv2-MIB::sysName.0 = STRING: SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)SNMPv2-MIB::sysORLastChange.0 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIBSNMPv2-MIB::sysORID.2 = OID: TCP-MIB::tcpMIBSNMPv2-MIB::sysORID.3 = OID: IP-MIB::ipSNMPv2-MIB::sysORID.4 = OID: UDP-MIB::udpMIBSNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.6 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBComplianceSNMPv2-MIB::sysORID.7 = OID: SNMP-MPD-MIB::snmpMPDComplianceSNMPv2-MIB::sysORID.8 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module for SNMPv2 entitiesSNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for managing TCP implementations SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing IP and ICMP implementationsSNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing UDP implementations SNMPv2-MIB::sysORDescr.5 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORDescr.6 = STRING: The SNMP Management Architecture MIB.SNMPv2-MIB::sysORDescr.7 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.8 = STRING: The management information definitions for the SNMP User-based Security Model.SNMPv2-MIB::sysORUpTime.1 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.2 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.3 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.4 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.5 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.6 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.7 = Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.8 = Timeticks: (4) 0:00:00.04最后是关于配置文件的一点说明:其实配制一个snmpd.conf 文件不算太难,(1 )首选是定义一个共同体名(community) ,这里是public ,及可以访问这个public 的用户名(sec name ),这里是notConfigUser 。
linux系统设备配置snmp
Linux系统设备配置SNMP操作手册
若各系统负责人需要将linux系统设备监控迁移到Solarwinds监控上,需要将原linux系统内/etc/snmp下的snmpd.conf文件替换为我们提供的snmpd.conf 文件,然后重启snmpd服务即可;下面介绍一种较为快捷的替换方式:在操作设备上安装XmanagerEnterprise软件,软件安装包见附件,安装软件按照正常步骤完成即可,在此不再叙述,完成安装后操作步骤如下:
1)打开软件,点击Xshell打开程序,如下图所示:
2)点击新建连接,然后填写上需要配置的IP地址,
、3)点OK后,点击connect连接,如下图所示
4)然后输入用户名,点击OK ,
5)提示输入密码,
6)完成后就可登录该设备
7)点击软件界面上的按钮,如下图所示
8)出现界面如下:左边为本机文件目录,右边为远程设备文件目录,
9)在右边远程设备上找到/etc/snmp下的文件snmpd.conf,
10)在左边本机上找到我们提供的snmpd.conf文件,拖动到右边远程设备上,
点OK确认覆盖,最后检查文件的更新日期,如下图所示:
11)完成后回到操作界面重启snmp服务,重启命令为service snmpdrestrat
12)完成以上步骤即可,本手册只介绍一种linux系统下文件替换方法,使
用其他方法也是可以的,最后重启下snmpd的服务即可。
Linux NET-SNMP配置手册1
1、确认本机已经安装了snmp服务# rpm -qa |grep snmpnet-snmp-5.1.2-11.EL4.10net-snmp-utils-5.1.2-11.EL4.10net-snmp-libs-5.1.2-11.EL4.10#如果没有,那么放入linux安装盘找到snmp的rpm包进行安装,或者到网上搜索适合自己linux发行版本的rpm包进行安装2、配置snmp.conf# vi /etc/snmp/snmp.conf##### First, map the community name "public" into a "security name"#修改默认的community string# source communitycom2sec notConfigUser default tjnmsRead7##### Second, map the security name into a group name:# groupName securityModel securityNamegroup notConfigGroup v1 notConfigUsergroup notConfigGroup v2c notConfigUser##### Third, create a view for us to let the group have rights to:# Make at least snmpwalk -v 1 localhost -c public system fast again.# name incl/excl subtree mask(optional)view systemview included .1.3.6.1.2.1view systemview included .1.3.6.1.2.1.25view systemview included .1.3.6.1.4##### Finally, grant the group read-only access to the systemview view.# group context sec.model sec.level prefix read write notifaccess notConfigGroup "" any noauth exact systemview none none 注意黑色字体位置,如果不一样,配置成一样的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux下安装与配置snmp服务
一、安装snmp服务
1、检查系统是否已经安装snmp的rpm包
以下是安装snmp服务需要的rpm包:
libsensors3-2.10.6-55.el5.i386.rpm
lm_sensors-2.10.6-55.el5.i386.rpm
net-snmp-libs-5.3.2.2-5.el5.i386.rpm
net-snmp-5.3.2.2-5.el5.i386.rpm
net-snmp-utils-5.3.2.2-5.el5.i386.rpm
推荐到/下载这些rpm包,该网站比较全面,包含各种版本的包。
使用命令:$ rpm -qa|grep snmp
检查是否安装net-snmp-utils-5.3.2.2-5.el5,
net-snmp-libs-5.3.2.2-5.el5,net-snmp-5.3.2.2-5.el5三个rpm包
使用命令:$ rpm -qa|grep libsen
检查是否安装libsensors3-2.10.6-55.el5
使用命令:$ rpm -qa|grep lm
检查是否安装lm_sensors-2.10.6-55.el5
说明:
(1)这几个包的安装有一定顺序,在安装的时候,会有提示。
比如安装
net-snmp-5.3.2.2-5.el5.i386.rpm时,会提示必须先安装
net-snmp-libs-5.3.2.2-5.el5.i386.rpm。
(2)net-snmp-utils-5.3.2.2-5.el5.i386.rpm并不是必须安装的包,但安装它会带来不少帮助,它提供了很多工具,例如可以使用snmptranslate命令查看oid,可以使用snmpget、snmpwalk命令等。
(3)net-snmp-libs-5.3.2.2-5.el5.i386.rpm、
net-snmp-5.3.2.2-5.el5.i386.rpm、
net-snmp-utils-5.3.2.2-5.el5.i386.rpm这三个包有一定的版本要求,必须版本一致,否则安装无法成功。
我这里都使用的5.3.2.2-5.el5版本,也可以下载其他版本的rpm包,但注意版本要一致,在安装的时候也会提示,哪个版本的包是必须的,你可以根据提示下载需要的包。
2、安装以上的几个rpm包
若系统中没有安装以上包,则先安装。
使用命令:rpm –ivh 包名
安装完后,使用命令:$ rpm -qa|grep snmp,检查是否已经安装成功。
YUM 安装
1 yum install -y net-snmp net-snmp-utils
3、启动snmp服务
若安装成功,则可使用命令:
$ service snmpd start
提示:Starting snmpd: [ OK ],则启动snmp服务成功。
你可以将snmp服务设置为开机自启动,这样免去手动启动的麻烦。
使用命令:$ chkconfig snmpd on,将snmpd服务设为开机自启动。
然后使用命令:$ chkconfig --list | grep snmpd,查看是否已经设置成功。
4、验证snmp服务
(1)使用snmpwalk命令,查看本机localhost的主机名:
如上,获取到本机主机名为,则表示snmp服务已经可以正常使用。
(2)使用snmptranslate命令,检查snmp工具是否可以使用:
如上,查出了部分oid,则表示snmp工具可以正常使用。
(3)测试远端主机是否可以获取数据。
我这里登陆了另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。
通过这台主机,获取远端主机的数据,这时需指定远端主机的IP 地址:
如上,可以看到通过远端主机获取到的主机名,与在本机获取到的主机名是一致的。
二、配置snmp服务
以上安装完成后,使用的是snmp的默认配置,通过这些默认配置,我们只能获取主机的部分信息。
但一些其他的重要信息,无法获取。
如主机的CPU使用情况,内存使用情况等。
如上,无法获取CPU的空闲率(注:1.3.6.1.4.1.2021.11.11.0是主机CPU空闲率的oid)。
这时候,若要获取主机的一些重要信息,则要修改snmp的默认配置。
配置方法:修改/etc/snmp/snmpd.conf文件
1、开启iptable策略、或者关掉防火墙
开启UDP 161端口的访问权限
完成snmpd的配置并且SNMP测试通过之后,要确保Linux的iptables防火墙对外开放了udp 161端口的访问权限,可以使用"iptables –L –n"查看当前iptables规则,如下图所示:
可以看到,目前iptables防火墙并没有对外开放udp 161端口的访问权限,也就是说,此时外面的计算机是无法访问Linux下的SNMP服务的,可以使用"iptables -I INPUT -p udp --dport 161 -j ACCEPT"命令添加UDP 161端口到iptables防火墙中,然后执行"iptables save"命令保存防火墙的更改,如下图所示:
我们可以在window系统下使用Snmputil.exe工具测试对Linux下的SNMP 访问,测试Linux的UDP 161端口是否对外开放,如下图所示:
"snmputil get 192.168.1.229 public .1.3.6.1.2.1.1.5.0"命令返回192.168.1.229这台Linux服务器的名字,可以看到,Linux服务器的名称已经正常返回输出到命令行窗口了。
2、修改团体名
在snmpd.conf文件中找到如下位置:
把public改为simware如下为更改后的内容
3、修改查看设备节点的权限
在该文件中,找到如下位置:
view:定义了可以查看哪些节点设备的信息。
snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,所以无法获取这些数据。
因此,可以修改这个配置,如下:
在此处添加了一行:
view systemview included .1
表示可以查看.1节点下的所有设备信息。
4、修改Process checks的配置
找到如下位置:
将
# proc mountd
# proc ntalkd 4
# proc sendmail 10 1
三行前的“#”号去掉,取消注释,结果为:
5、修改Executables/scripts配置找到如下位置:
将
#exec echotest /bin/echo hello world 一行前的“#”号去掉,取消注释。
6、修改disk checks配置
找到如下位置:
将
#disk / 10000
一行前的“#”号去掉,取消注释。
7、修改load average checks配置找到如下位置:
将 #load 12 14 14
一行前的“#”号去掉,取消注释。
8、保存修改,重启snmp服务
9、验证修改配置后的snmp服务
(注意:由于在第一步中已经把public改为了simware,因而我们在使用snmpwalk命令时需把public换成simware)
如上,通过本机localhost获取到CPU的空闲率为97%。
(注意:由于在第一步中已经把public改为了simware,因而我们在使用snmpwalk命令时需把public换成simware)
如上,通过远端主机获取到CPU的空闲率为93%。