net-snmp安装配置

本文介绍了Linux环境下SNMP的基本功能及其安装配置流程,包括使用RPM方式安装所需软件包,配置snmpd.conf文件,定义共同体名、组名、视图及权限等。此外还列举了多种snmp命令的实际应用案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LinuxSNMP的基本功能是:取得,设置和接收代理发送的意外信息。取得指的是基站发送请求,代理根据这个请求回送相应的数据设置是基站设置管理对象(也就是代理)的值,接收收代理发送的意外信息是指代理可以在基站未请求的状态下向基站报告发生的意外情

 net-snmp安装配置

 

 

  建议用RPM方式安装

1.  安装:   yum install net-snmp*  (主要安装net-snmp net-snmp-devel net-snmp-utils net-snmp-libs 组件)

            yum install  lm_sensors (用于监控主板,CPU的工作电压,风扇转速、温度等数据。)

2. 配置:   

      主配置文件:      /etc/snmp/snmpd.conf

   常用定义项: 

1)首选是定义一个共同体名(community),这里是public(多数SNMP设备或服务默认都是是用PUBLIC),及可以访问这个public的用户名(sec name),这里是notConfigUserPublic相当于用户notConfigUser的密码:) ,source net-snmp中用来对来源IP加以控制,即哪些可以获取SNMP信息

     #         sec.name        source          community 

com2sec   notConfigUser      default              public 

2)定义一个组名(groupName)这里是notConfigGroup,及组的安全级别,把notConfigGroup这个用户加到这个组中。 

        sec.model:安全模式,可选值为v1/v2c/usm 

          groupName            securityModel     securityName 
          group   notConfigGroup            v1              notConfigUser   


            groupName           securityModel     securityName 
            group   notConfigGroup           v1              notConfigUser   

           group   notConfigGroup           v2c            notConfigUser 


  3 )定义一个可操作的范围 (view) 名,   这里是 all ,范围是  .1 
          name           incl/excl     subtree         mask(optional) 

   view    all             included      .1              --》表示可以查看.1节点下的所有设备信息

   注:  incl/excl:对下面的MIB子树是包括还是排除。 

      subtree:视图中涉及的MIB子树。  

      mask:掩码 

  4)定义notConfigUser这个组在all这个view范围内可做的操作(即权限),这时定义了notConfigUser组的成员可对.1这个范围做只读操作。 
           group              context   sec.model     sec.level        prefix      read         write      notif 
access  notConfigGroup        ""           any            noauth          exact     all            none     none 

 注:

     context:  上下文,v1v2c中始终为空

     sec.model: 安全模式,可选值为v1/v2c/usm

     sec.level: 安全级别,可选值为auth/noauth/privv1v2c中只能为noauth

     prefix:   前缀,指定context如何与PDU中的context匹配,v3使用。

     read:    授权的读视图。

     write:   授权的写视图。

     notif:   授权的trap视图。

 3.  端口:标准的SNMP服务使用161和162端口,厂商私有的实现一般使用199、391、705和1993端口,net-snmp用udp 161    

 

4 . 常用命令:

 snmpd -v 显示版本

 snmpwalk  是对OID值的遍历(比如某个OID值下面有N个节点,则依次遍历出这N个节点的值。如果对某个叶子节点的OID值做walk,则取得         到数据就不正确了,因为它会认为该节点是某些节点的父节点,而对其进行遍历,而实际上该节点已经没有子节点了,那么它会         取出与该叶子节点平级的下一个叶子节点的值,而不是当前请求的节子节点的值。)

snmpget   是取具体的OID的值。(适用于OID值是一个叶子节点的情况)

snmpgetnext:  是取下一个节点的OID的值。 

 语法:

snmpwalk/snmpbulkwalk [OPTIONS] AGENT [OID]

[OPTIONS]:

 -v  1|2c|3                   指定SNMP版本

 -c COMMUNITY        指定community string

-m MIB[:...]                 指定MIB文件

  

 snmpget [OPTIONS] AGENT OID[OID]...

[OPTIONS]:

 -v  1|2c|3                指定SNMP版本

 -c COMMUNITY        指定community string

-m MIB[:...]                 指定MIB文件

 

注释 :snmpget 不同于 snmpwalk ,必须在命令行给出<object>.<instance>的格式,不能只给出 object。

如:   snmpget -c public zeussystem.sysDescr.0

  

实例:

1) snmpbulkwalk命令:   

     获取snmp服务器的mib-2各种资讯,snmpbulkwalk用于通过SNMPv2 的SNMPGET BULK请求命令与其它网络实体通信,只能用于           snmpv2,速度快于snmpwalk

    例子:snmpbulkwalk   -v  2c     -cpublic  127.0.0.1     .1.3.6.1.2.1.1   获取mib-2的system的数据

2)snmpwalk命令:

    获取snmp服务器的HOST-RESOURCES的各种资讯

   例子:  snmpwalk-v 2c 127.0.0.1 -c public HOST-RESOURCES-MIB::hrSystem

   获取HOST-RESOURCES的hrSystem(系统日期/时间,初始化设备,内核引导参数,系统当前的登录用户数,当前的进程数,支持的最大进程数)

   snmpwalk -v 2c -c public localhost system   

  这条指令用于查看本机系统信息

  snmpwalk -v 2c -c public localhost  .1.3.6.1.4.1.2021.11.11.0    

  这条指令用于查看CPU空闲率信息, .1.3.6.1.4.1.2021.11.11.0  是主机CPU空闲率的OID

3)snmpdelta命令:

    监控网卡流量等信息, 指定共同体为public,协议为snmpv1,以表格的方式输出结果,显示时间戳;

   例子: 

       snmpdelta -c public -v 1 -Cs-CT 127.0.0.1 IF-MIB::ifInUcastPkts.2 IF-MIB::ifOutUcastPkts.2

      监控IF-MIB::ifInUcastPkts(输入流量),IF-MIB::ifOutUcastPkts(输出流量),,如监控本地的第二块网卡instance为2
       snmpdelta -c public -v 1 -Cs-CT 127.0.0.1 ifInDiscards.2

      监控ifInDiscards(已经丢弃的收到的数据包的总数),格式同上

4)snmpnetstat命令:

    查看snmp服务器的端口连接信息, 协议为snmp2c

例子: 
snmpnetstat -v 2c -c public    -a127.0.0.1           获取127.0.0.1的所有开放端口状态
snmpnetstat -v 2c -c public   -i 127.0.0.1            获取127.0.0.1的网络接口状态

snmpnetstat -v 2c -c public -P tcp 127.0.0.1   获取127.0.0.1的TCP协议的开放端口状态

5) snmptranslate 命令:

         在 MIB OID在数字和文字名称之间进行转换, 

  例子:

snmptranslate -On -IR HOST-RESOURCES-MIB::hrSystem

用snmptranslate把symbol 格式的HOST-RESOURCES-MIB::hrSystem 转换为numberic       格式的OID,用-On(输出数字格式的OID),使用 -IR(允许“随机”访问 MIB)

snmptranslate -Onf -IR HOST-RESOURCES-MIB::hrSystem

用snmptranslate把symbol 格式的HOST-RESOURCES-MIB::hrSystem 转换为symbol格式的 OID,用-Onf(输出符号格式的OID)

snmptranslate -Td iso.org.dod.internet.mgmt.mib-2

用snmptranslate输出该对象(iso.org.dod.internet.mgmt.mib-2)的详细定义,用-Td(包括文字名称、所属MIB、类型、状态、读写权限、描述信息,数字格式的 OID)

snmptranslate -Tp iso.org.dod.internet.mgmt.mib-2

用snmptranslate打印从指定OID(.1.3.6.1.2.1)开始一直到该OID(.1.3.6.1.2.1)所属的MIB 子树末端的树型结构信息

snmptranslate -Ta

用snmptranslate导出所有已经加载的 MIB 的数据,每个对象一行

snmptranslate -Tl

用snmptranslate导出所有已经加载的 MIB 的对象,并且输出完整的 OID 路径

snmptranslate -To

用snmptranslate导出已经加载的所有 MIB 的数字格式的 OID ,不含值和类型,仅仅有 OID 而已

snmptranslate -Ts   

用snmptranslate只输出文字格式的 OID 名称而已 

 

5.默认不支持CPU,内存及硬盘信息,可以修改配置文件来配置

1) 增加: viewsystemview included .1     表示可以查看.1节点下的所有设备信息。

2) 

# proc mountd

# proc ntalkd 4

# proc sendmail 10 1

三行前的“#”号去掉,取消注释

3) 将

#exec echotest /bin/echo hello world

一行前的“#”号去掉,取消注释。

4) 将

#disk / 10000

一行前的“#”号去掉,取消注释。

5) 将

#load 12 14 14

一行前的“#”号去掉,取消注释。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值