(38)zabbix中配置snmp监控
1、首先按照“snmp监控快速配置”文本文档在被监控的主机上安装、配置及启动snmp服务, 具体内容如下:
1)、安装snmp
yum install net-snmp* -y
cp -a /etc/snmp/snmpd.conf{,.ori}
cat > /etc/snmp/snmpd.conf<<EOF
com2sec local      localhost     public
com2sec mynetwork  10.0.91.0/24   public
group MyRWGroup v1         local
group MyRWGroup v2c        local
group MyRWGroup usm        local
group MyROGroup v1         mynetwork
group MyROGroup v2c        mynetwork
group MyROGroup usm        mynetwork
view all    included    .1             80	                			#注意最后的80是16进制,最好写成0x80,做掩码使用
access MyROGroup ""      any       noauth    exact  all    none   none 
access MyRWGroup ""      any       noauth    exact  all    all    none 
syslocation cacti.com 
syscontact Me <hyran@126.com> 
proc mountd
proc ntalkd 4
proc sendmail 10 1
proc httpd 10 1
exec echotest /bin/echo hello world
#exec disk_used_shell  /bin/sh  /root/current_disk_used.sh
#exec httpd_proc  /bin/sh  /root/current_httpd_proc.sh
disk /       10000
disk /boot   10000
load 12 14 14
EOF
cat  -n  /etc/snmp/snmpd.conf
#/etc/init.d/snmpd  start 
#chkconfig  snmpd  on
systemctl  start  snmpd
systemctl  enable  snmpd
systemctl  status  snmpd
netstat -tunlp|grep snmpd
lsof  -i  :snmp
ps  -ef|grep  snmp
测试
snmpget  -v 1  -c public   localhost  system.sysUpTime.0                #localhost为指定从本机获取数据, 也可指定的为具体的IP地址, 表示获取某个远程主机的数据
snmpget  -v 2c  -c public  localhost  sysDescr.0
snmpget不同于snmpwalk,必须在命令行给出<object>.<instance>的格式,不能只给出object, 而snmpwalk可以仅给出<object>
如:
snmpwalk  -v 2c  -c public   localhost  system                       #可获得数据(snmpwalk仅给出object)
snmpget   -v 2c  -c public   localhost  system       #获取不到数据(仅给出object, 没有给instance, 获取不到数据)
1.3.6.1.2.1
1(iso).3(identified organization).6(dod).1(internet).2(private).1(system)       系统相关
1(iso).3(identified organization).6(dod).1(internet).2(private).2(interface)    网络接口相关
1(iso).3(identified organization).6(dod).1(internet).2(private).3(at)		    地址转换相关
1(iso).3(identified organization).6(dod).1(internet).2(private).4(ip)		    IP分组相关
1(iso).3(identified organization).6(dod).1(internet).2(private).5(icmp)		    icmp相关
1(iso).3(identified organization).6(dod).1(internet).2(private).6(tcp)		    tcp相关
1(iso).3(identified organization).6(dod).1(internet).2(private).7(udp)		    udp相关
1(iso).3(identified organization).6(dod).1(internet).2(private).8(egp)		    egp相关
MIB中的对象1.3.6.1.4.1,即enterprises(企业),其所属结点数已超过3000。
例如
IBM为1.3.6.1.4.1.2},
Cisco为{1.3.6.1.4.1.9},
Novell为{1.3.6.1.4.1.23}等
net-snmp工具介绍
1、snmpget
模拟snmp的GetRequest操作的工具。用来获取一个或几个管理信息。用来读取管理信息的内容。
2、snmpbulkget
模拟snmp的GetBulkRequest操作的工具。用来获取大块的数据(仅用于v2版本)
一般在大量读取大块数据时使用,以提高带宽利用率,并且比使用snmpget、snmpgetnext及snmpwalk有更强的容错能力,代理会返回尽可能多的数据,比其它命令更有保证。
3、snmpgetnext
模拟snmp的GetNextRequest操作的工具。用来获取一个管理信息实例的下一个可用实例数据。一般用来遍历SNMP中的表格数据。
4、snmpset
模拟snmp的SetRequest操作的工具。用来设置可以写的管理信息。一般用来配置设备或对设备执行操作。
5、snmpwalk
利用GetNextRequest对给定的管理树进行遍历的工具。一般用来对表格类型管理信息进行遍历。
6、snmptrap
模拟trap的工具, 用来发送模拟trap。一般用来测试管理站安装和配置是否正确,或者用来验证开发的Trap接收程序是否可以正常工作。
7、snmptrapd
接收并显示trap的工具。一般在代理的开发过程中,接收代理agent发来的Trap,并将PDU细节打印出来,也来测试Trap发送功能是否正常。
8、snmpinform
模拟发送InformRequest的工具。跟snmptrap类似,用来发送模拟的带应答的Trap,以测试管理站或自己开发的接收程序。
9、snmptable
使用GetNextRequest和GetBulkRequest操作读取表信息,以列表形式显示的工具。
10、snmpstatus
从SNMP实体读取几个重要的管理信息以确定设备状态的工具。用来简单测定设备状态。
11、snmpbulkwalk
利用GetBulkRequest实现对给定管理树进行遍历的工具。对表格类型的管理信息进行遍历读取。
12、snmpdelta
用来监视Integer类型的管理对象,会及时报告值改变情况的工具。用于监测一个设备或开发中的代理。
13、snmptest
是一个复杂的工具,可以监测和管理一个网络实体的信息,通过SNMP请求操作与管理实体通信。
14、snmptranslate
将对象名字和标识符相互转换的工具。用于数据格式的对象标识和可读式字符串的数据名称的转换。类似于域名与IP地址的关系。
以上14个指定使用的选项均和snmpwalk相同,具体参见snmpwalk的使用详解
15、snmpusm
SNMPv3USM配置工具。用于SNMPv3的用户管理。
16、snmpvacm
为一个网络实体创建和维护SNMPv3的基于视图访问控制参数的工具。用于维护SNMPv3的视图访问控制。
17、snmpconf
生成snmpd配置文件的工具。用于生成snmpd的各种配置文件,用作模板,以生成用户级配置文件。
18、snmpd
Net-snmp开发的主代理程序,包括众多标准MIB的实现。还可以使用子代理对其进行扩展,是一个功能强大的SNMP代理。Linux、Unix和Windows系统运行snmpd后,直接具备了SNMP协议支持,可以被管理站管理。许多商业化的Linux中使用snmpd作为系统的SNMP代理。
19、snmpdf
通过SNMP访问并显示网络实体磁盘利用情况的工具。用来监测网络实体的磁盘。
下面我们来说几个最常用的net-snmp工具,
常用命令:
(1).snmpget命令
snmpget  [OPTIONS]  AGENTOID[OID]...
选项:
-v  1|2c|3					    #指定SNMP版本
-c  COMMUNITY			        #指定共同体名称
-m MIB[:...]					#指定MIB文件
注:snmpget不同于snmpwalk,必须在命令行给出<object>.<instance>的格式,不能只给出object
如:
snmpwalk  -v 2c  -c public   localhost  system                           #可获得数据
snmpget   -v 2c  -c public   localhost  system                              #获取不到数据
示例:
snmpget  -v 2c  -c public   localhost   system.sysDescr.0	     	     #获取设备的描述信息。
snmpget  -v 2c  -c public   localhost   sysDescr.0	        				 #获取设备的描述信息。
[root@node1~]# snmpget  -v 2c  -c public   localhost   system.sysDescr.0
SNMPv2-MIB::sysDescr.0=STRING:Linuxnode1.test.com2.6.32-358.el6.x86_64#1SMPFriFeb2200:31:26UTC2013x86_64
(2).snmpwalk/snmpbulkwalk命令
snmpwalk/snmpbulkwalk  [OPTIONS]  AGENT[OID]
选项:
-v 1|2c|3								#指定SNMP版本
-c COMMUNITY						    #指定communitystring
-m MIB[:...]							#指定MIB文件
注:
snmpbulkwalk命令:获取snmp服务器的mib-2各种资讯,snmpbulkwalk用于通过SNMPv2的SNMPGETBULK请求命令与其它网络实体通信,只能用于snmpv2, 速度快于snmpwalk
示例:
[root@node1~]# snmpbulkwalk  -v 2c  -c public   127.0.0.1   .1.3.6.1.2.1.1    #获取mib-2的system的数据。
(3).snmpwalk命令
获取snmp服务器的HOST-RESOURCES的各种资讯。
示例:				
[root@node1~]# snmpwalk  -v 2c  -c public  localhost  system                    #这条指令用于查看本机系统信息。
(4).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(已经丢弃的收到的数据包的总数),格式同上。
(5).snmpnetstat命令
查看snmp服务器的端口连接信息,协议为snmp2c。
示例:snmpnetstat  -v 2c  -c public  -Can  -Cp tcp  127.0.0.1  
#获取127.0.0.1的TCP协议的开放端口状态
#-Ca显示所有的套接字, 一般情况下套接字被服务进程使用而不显示
#-Cn所有地址以数字形式显示
#-Cp指定协议
#-Ci显示所有的网络接口
#-Co显示所有网络接口的简单状态, 需配合-Ci使用
#-CI 后接网络接口名, 如eth0 显示该接口的相关信息
#-Cs 显示统计信息
#-Cr 显示路由信息, 配合-Cn使用, 显示数字形式
(6).snmptranslate命令
在MIBOID在数字和文字名称之间进行转换。
例子,
snmptranslate  -On  -IR HOST-RESOURCES-MIB::hrSystem
#用snmptranslate把symbol(字符串)格式的HOST-RESOURCES-MIB::hrSystem转换为numberic(数值)格式的oid
用     -On(输出数字格式的oid)
用     -IR(允许“随机”访问MIB)
[root@node1~]#snmptranslate  -On  -IR HOST-RESOURCES-MIB::hrSystem
.1.3.6.1.2.1.25.1	                            					#numberic(数值)格式的oid
snmptranslate  -Onf  -IR  HOST-RESOURCES-MIB::hrSystem
#用snmptranslate把symbol(字符串)格式的HOST-RESOURCES-MIB::hrSystem转换为symbol(字符串)格式的oid
用-Onf(输出符号格式的oid)
[root@node1~]#snmptranslate  -Onf  -IR HOST-RESOURCES-MIB::hrSystem
.iso.org.dod.internet.mgmt.mib-2.host.hrSystem                     #symbol(字符串)格式的oid
[root@localhost ~]# snmptranslate  -Td  iso.org.dod.internet.mgmt.mib-2         #用snmptranslate输出该对象(iso.org.dod.internet.mgmt.mib-2)的详细定义
SNMPv2-SMI::mib-2                                                               #用-Td(包括文字名称、所属MIB、类型、状态、读写权限、描述信息,数字格式的OID)
mib-2 OBJECT-TYPE
  -- FROM       SNMPv2-SMI
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) 1 }
[root@node1~]#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子树末端的树型结构信息
snmptranslat   -Ta	          		#用snmptranslate导出所有已经加载的MIB的数据,每个对象一行
snmptranslate  -Tl	         		#用snmptranslate导出所有已经加载的MIB的对象,并且输出完整的oid路径
snmptranslate  -To	        		#用snmptranslate导出已经加载的所有MIB的数字格式的oid,不含值和类型,仅仅有oid而已
snmptranslate  -Ts	        		#用snmptranslate只输出文字格式的OID名称而已
2、在zabbix server主机上执行如下操作:
yum install net-snmp* -y
snmpget -v 1 -c public 10.0.91.10 system.sysUpTime.0
snmpget -v 2c -c public 10.0.91.10 sysDescr.0
10.0.91.10是被监控主机的IP地址(已经按照1中正确配置)
system.sysUpTime.0和sysDescr.0是要被监控的项目(必须事先查询, 最好是使用OID)
示例:
1、物理主机监控
1.1 snmpv2
监控10.0.91.10主机的物理内存

在命令行上测试是否可获取到数据

将字符串形式的监控项翻译成数字形式OID

将字符串形式的监控项翻译成字符串形式OID

在zabbix中配置监控项时, 上述的字符串形式的监控项、数字形式OID、字符串形式OID 3种形式均可使用

查看监控的数据

1.2 snmpv3
主机snmd.conf配置文件中需要配置如下两行
用户名(即security name) 认证算法 认证密码 加密算法 加密密码
createUser testuser SHA admin@123 DES china123
为读写用户设置权限 上述创建的用户 安全级别(noauth|auth(认证)|priv(认证且加密))
rwuser testuser priv
zabbix server主机上执行如下命令行:
snmpwalk -v 3 -u testuser -a SHA -A admin@123 -x DES -X china123 -l authPriv 10.0.91.10 sysDescr.0


查看监控数据:

(38)zabbix中配置snmp监控的更多相关文章
- 自学Zabbix11.1 Zabbix 配置SNMP监控
		
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.1 Zabbix 配置SNMP监控 1. 概述 zabbix采集数据方式: ...
 - zabbix 配置SNMP监控
		
什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组 ...
 - zabbix问题之snmp监控端口流量断图
		
zabbix之snmp监控端口断图问题 在使用zabbix的snmp方式的监控端口流量时,某一个图总是断断续续的(被监控设备有较大的端口流量),经常会出现几分钟内没有图像的问题. 端口流量断图原因: ...
 - zabbix中配置当memory剩余不足20%时触发报警
		
在zabbix中默认当内存剩余量不足2G的时候触发报警,并没有使用百分比来触发如下: 现在需要配置:当memory剩余不足20%时触发报警,具体操作方法如下: 1)创建itemConfiguratio ...
 - Zabbix 触发器配置多监控项阈值
		
配置内存自定义监控项 # 监控内存命令 [root@web01 ~]# free -m|awk '/^Mem/{print $NF/$2}' 0.664609 [root@web01 ~]# free ...
 - tomcat中配置jmx监控
		
1.在tomcat的start.bat中添加下面代码, -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote. ...
 - Openstack-Mitaka Ceilometer 中使用 SNMP 监控真实物理机
		
Ceilometer 是 Openstack 的监控管理计费模块,我所用的版本为 Mitaka 版本.在 Ceilometer 中,可以使用 SNMP 监控服务器的实时硬件资源信息. 系统环境为 Ce ...
 - zabbix中文配置指南(转)-服务器监控
		
一.Zabbix简介 1.1 Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利.官方网站:htt ...
 - Zabbix通过SNMP监控多核CPU使用率时, 计算CPU平均使用率
		
环境:没有Agent,只能通过SNMP监控时,需要获取多核CPU的平均使用率. ZABBIX的使用SNMP监控CPU使用率时,由于设备都是多核CPU,监控的都是单独某一核心的使用率,但单独某一核使用率 ...
 
随机推荐
- maven - settings.xml文件详解
			
Settings.xml配置文件详解 maven默认的settings.xml是一个包含注释和例子的模板,可以快速的修改settings.xml文件 maven安装后不会在用户目录下自动生成setti ...
 - Log4j2 - java.lang.NoSuchMethodError: com.lmax.disruptor.dsl.Disruptor
			
问题 项目使用了log4j2,由于使用了全局异步打印日志的方式,还需要引入disruptor的依赖,最后使用的log4j2和disruptor的版本依赖如下: <dependency> & ...
 - python数据结构转换&格式化
			
列表,元组和字符串python中有三个内建函数:,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示 >>> s = "xxxxx& ...
 - python 基础(十二) 图片简单处理
			
pillow 图片处理模块 安装 pip install pillow pip是安装第三方模块的工具 缩放图片实例 from PIL import Image path = r'C:\Users\x ...
 - NOI2012 D2T1扩展欧几里得
			
#include <bits/stdc++.h> using namespace std; #define ll long long ll extgcd(ll a,ll b,ll & ...
 - light OJ 1282 - Leading and Trailing  数学 || double技巧
			
http://lightoj.com/volume_showproblem.php?problem=1282 #include <cstdio> #include <cstdlib& ...
 - SSH的端口转发
			
这里是一篇很好的介绍SSH PortForwarding的文章http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/ 可以将远端服务器一 ...
 - html文本框和按钮这些点击时不显示边框的光晕
			
直接在样式加:focus{outline:0;}这样子就可以了
 - 《javascript设计模式》笔记之第四章:继承
			
一:首先,一个简单的继承实例: 首先是创建一个父类Person: function Person(name) { this.name = name; } Person.prototype.getNam ...
 - MVC ef 连接数据库
			
1.创建数据库 2.创建表 <pre name="code" class="sql">CREATE TABLE [dbo].[Student]( [ ...