推荐阅读:

snmp及工具:https://www.jianshu.com/p/dc2dc0222940

snmp协议详解:https://blog.csdn.net/shanzhizi/article/details/11606767

SNMP协议

snmp--简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议.

snmpwalk工具下载环境

[root@server ~]# yum install net-snmp net-snmp-utils -y
...
[root@server ~]# rpm -qa | grep snmp
net-snmp-utils-5.7.2-43.el7_7.3.x86_64
net-snmp-agent-libs-5.7.2-43.el7_7.3.x86_64
net-snmp-libs-5.7.2-43.el7_7.3.x86_64
net-snmp-5.7.2-43.el7_7.3.x86_64 #自定义OID配置文件

使用方法

snmpwalk -v 1或2c(代表SNMP版本) -c SNMP读团体密码 IP地址 OID(对象标示符)
–v:指定snmp的版本, 1或者2,该参数必须有。
–c:指定连接设备SNMPSNMP读团体密码,该参数必须有。
IP:指定要walk的设备的IP地址,该参数必须有。
OID:代表要获取设备的指标oid,该参数不是必须的。
..................................................................................
实例:
snmpwalk -v 2c -c public 192.168.137.145 .1.3.6.1.4.1.2021.10.1.3 #监控cpuload
snmpwalk -v 2c -c public 192.168.137.145 .1.3.6.1.2.1.25.2.2 #取得系统总内存
snmpwalk -v 2c -c public 192.168.137.145 hrSystemNumUsers #取得系统用户数(注意:hrSystemNumUsers与.1.3.6.1.2.1.25.1.5是等效的)
snmpwalk -v 2c -c public 192.168.137.145 .1.3.6.1.2.1.4.20 #取得IP信息
snmpwalk -v 2c -c public 10.1.1.1 system #查看系统信息
snmpwalk -v 2c -c public 10.1.1.1 ifDescr #获取网卡信息

OID列表

http://www.ttlsa.com/monitor/snmp-oid/

snmpwalk -v 2c -c public .     #如果你想获取SNMP字符串,你可以使用命令snmpwalk来实现,当然在安装zabbix的时候你需要增加snmp的支持

报错处理(UCD-SNMP-MIB::ssCpuIdle.0 = No more variables left in this MIB View(It is past the end of the MIB tree))

报错场景

[root@server ~]# snmpwalk -v 2c -c public localhost hrMemory
#运行这个命令时候报错提示
UCD-SNMP-MIB::ssCpuIdle.0 = No more variables left in this MIB View(It is past the end of the MIB tree)

解决方法

这时候,若要获取主机的一些重要信息,则要修改snmp的默认配置。

配置方法:修改/etc/snmp/snmpd.conf文件

[root@server ~]# vim /etc/snmp/snmpd.conf
...
view systemview included .1 #添加本行内容
...
[root@server ~]# systemctl restart snmpd #重启服务使文件生效

解释原因:

TIPS:view:定义了可以查看哪些节点设备的信息。snmp默认配置只能查 看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,所以无法获取这 些数据。 view systemview included .1 表示可以查看.1节点下的所有设备信息。


自定义OID

https://blog.csdn.net/killerover84/article/details/17793757

#比如你需要用 CACTI 来进行监控一个游戏服务器的在线人数,那么你就可以通过自定义OID的办法来进行部署。下面举一个很简单的例子:

#首先,我们需要写一个自定义的脚本来获取在线人数:

[root@server ~]# cat /usr/local/bin/online.sh
#!/bin/sh
echo .1.3.6.1.4.1.102.8
GW01=`ssh GW01 "netstat -antp|grep ESTABLISHED|grep 8888|wc -l"`
GW02=`ssh GW02 "netstat -antp|grep ESTABLISHED|grep 8888|wc -l"`
GW03=`ssh GW03 "netstat -antp|grep ESTABLISHED|grep 8888|wc -l"`
ALL=$(($(($GW01+$GW02))+$GW03))
echo integer
echo $ALL 然后在snmp的配置文件里加入OID信息:
vi /etc/snmp/snmp.conf
pass .1.3.6.1.4.1.102.8 /bin/sh /usr/local/bin/online.sh 重新启动snmp服务:
service snmpd restart 测试数据:
snmpwalk -v2c -c public 192.168.0.1 .1.3.6.1.4.1.102.8 #然后你就可以用这个OID来做图,对人数进行监控了!
#步骤很简单,但是注意OID不能重复

最新文章

  1. swift项目导入OC框架
  2. 折半查找(java)(边学习边更新)
  3. 高效率http页面优化法则一【JS对DOM的操作】
  4. hadoop 1.2.1 eclipse 插件编译
  5. Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
  6. 使用PHP CURL的POST数据
  7. 飘逸的python - 两种with语句实现方法
  8. BZOJ 1739: [Usaco2005 mar]Space Elevator 太空电梯
  9. Java中ArrayList的使用
  10. Word Press使用
  11. Java开发利器--Lombok,IDEA端安装教程
  12. Silverlight界面设计
  13. Django中模板语音变量forloop
  14. cordova启动页面和图标的设置
  15. python 通过 pip 更新所有已安装的包
  16. APP-7-百度地图移动轨迹
  17. PAT 1038 统计同成绩学生(20)(代码)
  18. JavaScript.how-to-debug-javascript
  19. 查看Tensorflow版本
  20. 「WC2016」挑战NPC

热门文章

  1. [新手教程]申请https泛域名解析
  2. LeetCode739 每日温度
  3. 【Flutter】可滚动组件简介
  4. MongoDB导出导入功能
  5. Java 用java GUI写一个贪吃蛇小游戏
  6. 通过trace分析优化其如何选择执行计划
  7. 【EXPDP】Oracle expdp中并行问题
  8. 【ORACLE错误】SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
  9. 负载均衡和故障转换(Failover)的连接RAC方法
  10. [从源码学设计]蚂蚁金服SOFARegistry之配置信息