net-snmp监控工具

NET-SNMP

简介

  • 简单的网络管理协议,属于应用层上的协议。

  • 采用UDP协议在管理端和代理端之间进行通信。

  • 主要有两大部分构成: SNMP管理端(manager) 和 SNMP代理端(agent)。

    • manager(NMS :网络管理工作站)

      • 查询代理商

      • GET:获取来自代理端的响应。

      • SET:在代理中设置变量。

      • Trap: 接受 代理端主动向管理端通报重要事件。

    • agent

      • 收集本地环境的管理信息。

      • 存储和检索MIB中定义的管理信息。

      • 向管理端发送事件信号。

    • MIB(管理信息库)

      • 可以理解为agent维护的管理对象数据库

      • 按层次结构组织的树状结构,每个被管理的对象对应树形结构的一个叶子节点。(称为 :object)

      • MIB文件是 manager可以向agent询问的一些问题(管理对象的信息和状态)。

      • agent在本地收集这些数据,并将其存储在MIB中。

  • 通常情况下:由服务器(manager)请求而获得的数据由服务器的161端口接收。代理端,主动向服务器发送消息,通常是往服务器的162端口发。

  • MIB Browser操作:

    • Get 获取当前OID的值

    • Get Next 获取下一个OID的值,会自动增加OID序号

    • Get Bulk 分页批量获取,一次获取10个值,会自动增加OID序号

    • Get Subtree 获取OID下面的所有子树的值

    • Set 设置OID的值

    • Walk 获取OID的值,会自动增加OID序号,且一直持续查询

  • netstat -an | grep 161 //看端口 netstat -lntup | grep snmp

  • ps aux | grep snmp

iptables –L –n 查看当前iptables规则

iptables -I INPUT -p udp --dport 161 -j ACCEPT命令添加UDP 161端口到iptables防火墙

SNMPD 常用命令

  • snmptrap -v 2c -c public 10.1.1.165:162 0 .1.3.6.1.4.1.2354 1.3.6.1.4.1.2354.1 s "hello!"

    • 2c 是选择snmp协议的版本

    • public 是共同体

    • 10.1.1.165:162 是发往的ip和端口,端口也可以不指定,默认是162

    • 0 是uptime

    • .1.3.6.1.4.1.2354 是TrapOID

    • .1.3.6.1.4.1.2354.1 是数据OID

    • s 是要发送的内容的类型(s代表 string)

    • hello! 是数据值

  • snmptranslate 在数字和文本之间转化MIB的OID的名字

  • snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.9.1.6

    • 把 .1.3.6.1.4.1.2021.9.1.6 下的所有OID列出来。
  • snmpget -v 2c -c public localhost .1.3.6.1.4.1.2021.9.1.6.1

    • 查询一个节点OID
  • snmpget -v -2c -c public tcp:localhost:1611 .1.3.6.1.4.1.2021.9.1.6.1

    • tcp #选择tcp协议

    • 1611 #选择端口号

    • 默认不指定tcp的话采用 udp协议

snmpd.conf

  • 配置开放的端口 选择启用udp和tcp

    • agentaddress udp:161,tcp:1611
  • 配置监控磁盘信息

    • disk / 20%

    • includeAllDisks 10%

  • 可以访问的路径

    • view   systemonly  included   .1 #表示.1一下左右的oid都可以访问
  •  扩展OID

    • pass  .1.3.6.1.4.1.866.9.8.0.0  /bin/bash  /tmp/passtest6002

OID扩展

  • 对配置文件的更改 (snmpd.conf)

  • 需要include : view   systemonly  included   .1.3.6.1.4.1.2021.6000

  • 使用pass eg:pass  .1.3.6.1.4.1.2021.6000.1.0  /bin/bash  /tmp/passtest6000.sh

    • .1.3.6.1.4.1.2021.6000.1.0 是要扩展的OID

    • /tmp/passtest6000.sh 管理端要执行get/set 等操作时,运行此脚本,并有两个传入参数

    • 例如:snmpget -v 2c -c publuc localhost .1.3.6.1.4.1.2021.6000.1.0

      • snmpget命令执行之后 会自动执行以下命令

      • /tmp/passtest6000.sh -g .1.3.6.1.4.1.2021.6000.1.0

    • /tmp/passtest6000.sh 该脚本 的返回值,必须有的三个:OID和TYPE和VALUE

  • 注意:pass 最后的.sh脚本文件,不能放在家目录中(否则扩展失败)。

配置v3

  • 步骤

    • 1、停止snmpd服务

    • 2、net-snmp-config --create-snmpv3-user -a SHA -A 00001227 -x AES -X pri001227 wpx

      • 2.1 使用net-snmp-config 来生成需要配置的内容

      • 2.2 --create-snmpv3-user #生成v3的用户

      • 2.3 -a SHA #选择密码加密算法(有两种 SHA和MD5)SHA算法安全等级更高

      • 2.4 -A 00001227 #设置密码 对长度有要求,不能太短,最短8位。

      • 2.5 -x AES #选择数据加密算法 (AES 和 DES)

      • 2.6 -X pri001227 #设置数据加密的密钥

      • 2.7 wpx #设置用户名称

      • 2.8 执行该命令之后,会生成两行需要配置的内容。

        • 2.8.1 createUser wpx SHA "00001227" AES pri001227

        • 2.8.2 rwuser wpx

        • 将2.8.1 和 2.8.2 的内容添加到 snmpd的配置文件/etc/snmp/snmpd.conf

    • 3、service snmpd start 或 systemctl start snmpd.service启动snmpd服务

  • 验证

    • snmpget -v 3 -u wpx -l authPriv -a SHA -A 00001227 -x AES -X pri001227 tcp:localhost:1611 1.3.6.1.4.1.2021.4.6.0

      • -u wpx #用户名

      • -l authPriv #选择登录模式

        • noAuthNoPriv (没有身份验证,没有数据加密)

        • authNoPriv (有身份验证,没有数据加密)

        • authPriv (有身份验证,有数据加密)

      • -a SHA -A 00001227 #密码加密的算法和密码

      • -x AES -X pri001227 #数据加密的算法和对应的密码

      • tcp:localhost:1611 #选择tcp协议 服务器是本机 端口号是1611

      • 1.3.6.1.4.1.2021.4.6.0 #要查询的oid。

访问控制

  • v3的访问控制:

    • rwuser wpx auth -V wpxview (控制wpx用户,只能访问,wpxview中定义的oid)

      • 注意: -V要大写
  • v2c 的访问控制

    • rocommunity wpx default -V testview(只能访问,wpxview中定义的oid)

      • wpx 为v2的用户名。
  • 相同的用户名可以用作v2 也可以用用作 v3 ,但是最终这个用户能get到哪些oid的信息,取决于登陆方式。

附:snmpd.conf 配置man帮助:Manpage of SNMPD.CONF

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值