推荐阅读:

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不能重复

snmp协议 及snmpwalk的更多相关文章

  1. 浅议SNMP安全、SNMP协议、网络管理学习

    相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...

  2. 用SNMP协议实现系统信息监控--Windows Server 2008

    简单了解: SNMP简单网络管理协议,是一种属于应有层的协议,主要有三个部分组成,被管理部分.代理部分和网络管理系统. 被管理部分是一个网络节点,也称为网络单元.SNMP代理是被管理设备上的一个网络管 ...

  3. linux中开启snmp协议

    1.安装软件#yum -y install net-snmp 2.修改配置文件#vim /etc/snmp/snmpd.conf确保snmpd.conf文件中包含以下绿色内容:com2sec notC ...

  4. [Linux]Linux下修改snmp协议的默认161端口

    一.Linux SNMP的配置 SNMP的简介和Linux下IPV4,IPV6地址的snmp协议开启可以参考上一个随笔:[Linux]CentOS6.9开启snmp支持IPV4和IPV6 二.修改默认 ...

  5. 【转载】 java利用snmp4j包来读取snmp协议数据(Manager端)

    https://www.cnblogs.com/xdp-gacl/p/4187089.html http://doc.okbase.net/yuanfy008/archive/265663.html ...

  6. SNMP 原理及配置简述 net-snmp-utils net-snmp 第2版基于SNMP 群体名(community name) 第3版引入了安全性更高的访问控制方法 SNMP协议操作只有4种 Apache的php_snmp 模块

    SNMP 原理及配置简述  net-snmp-utils  net-snmp 第2版基于SNMP 群体名(community name) 第3版引入了安全性更高的访问控制方法 SNMP协议操作只有4种 ...

  7. linux 安装开启SNMP协议,最下面是yum安装

    Linux SNMP 以下的示例采用SUSE10 Linux环境,但它同样适用于其它Linux发行版. 编译和安装 首先我们需要下载Net-SNMP的源代码,选择一个版本,比如5.7.1,地址如下: ...

  8. SNMP协议介绍

    SNMP协议介绍 一.什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议.SNMP用于网络设备的管理.SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了 “读”操作:管理 ...

  9. zabbix基于SNMP 协议监控路由器

    zabbix基于SNMP 协议监控路由器 步骤 步骤超级方便. 1. 路由器上开启snmp 2. 确保外网能訪问到 3. 用snmpwalk測试 4. 加入zabbix主机,SNMP interfac ...

随机推荐

  1. 企业集群架构-02-Rsync

    Rsync 目录 Rsync Rsync基本概述 Rsync应用场景 Rsync传输模式 Rsync服务使用 (1)服务端安装Rsync (2)服务端配置Rsync (3)服务端创建用户 (4)服务端 ...

  2. 「每日一题」有人上次在dy面试,面试官问我:vue数据绑定的实现原理。你说我该如何回答?

    关注「松宝写代码」,精选好文,每日一题 ​时间永远是自己的 每分每秒也都是为自己的将来铺垫和增值 作者:saucxs | songEagle 来源:原创 一.前言 文章首发在「松宝写代码」 2020. ...

  3. Ubuntu18.04换源

    引用:https://blog.csdn.net/u012308586/article/details/102953882 第一步.sudo  cp   /etc/apt/sources.list  ...

  4. 编写 Dockerfile 生成自定义镜像

    一般情况下我们可以从公共渠道诸如 DockerHub 获取镜像上获取镜像,但是在实际生产过程中,往往需要定制化的镜像,例如修改一些配置文件,增加一些特殊的命令或软件等需求,这时就需要通过编写 Dock ...

  5. 【排序】题解_P1093奖学金

    题目描述 奖学金 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文 ...

  6. 【渲染教程】使用3ds Max和ZBrush制作卡通风格的武器模型(上)

    克里斯蒂娜·马丁(CristinaMartín)介绍了她的项目灵剑(Spirit Sword)的制作过程,并详细的展示了使用3ds Max和ZBrush制作模型,纹理绘画和最终展示的过程. 介绍 克里 ...

  7. 基于Python开发数据宽表实例

    搭建宽表作用,就是为了让业务部门的数据分析人员,在日常工作可以直接提取所需指标,快速做出对应专题的数据分析.在实际工作中,数据量及数据源繁多,如果每个数据分析人员都从计算加工到出报告,除了工作效率巨慢 ...

  8. mysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file

    mysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/sha ...

  9. 通过show profile分析sql语句

    set profling=1; select count(*) from xuehao; show profiles; show profile for query 1; mysql> set ...

  10. OpenID协议

    背景 当我们要使用一个网站的功能时,一般都需要注册想用的账号.现在的互联网应用很多,一段时间之后你会发现你注册了一堆账号密码,根本记不住. 你可能会想到所有的网站都用同一套用户名和密码,这样虽然能解决 ...