net-snmp安装配置

主配置文件:        /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这个用户加到这个组中。 

          securityModel:安全模式,可选值为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          80    --》表示可以查看.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 zeus system.sysDescr.0

  

实例:


1) snmpbulkwalk命令:   

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

     例子:snmpbulkwalk    -v   2c     -c public  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    -a 127.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) 增加: view systemview 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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值