yum 安装snmp(前提本机虚拟机能连网)
先查看本机是否安装snmp
rpm -qa|grep snmp
如果存在自带的,可以删掉
yum -y remove xxx(xxx代表rpm查到的软件包)
安装
yum -y install net-snmp-* (安装所有)
启动
/etc/rc.d/init.d/snmpd restart 或者 service snmpd start
一、首先测试snmp
测试本地系统
snmpwalk -v 2c -c public localhost system
测试本机名字
snmpwalk -v 2c -c public localhost sysName.0
测试远程主机名字
snmpwalk -v 2c -c public 192.168.190.134 sysName.0
二、测试trap
在管理端
配置vim /etc/snmp/snmptrapd.conf
authcommunity execute,log,net public (其中authcommunity是为了设置所有用户的访问权限:可执行,记录,传递)
traphandle .1.3.6.1.4.1.2021.251.1 /root/traptest/test.pl (设置traphandle(即收到.1.3.6.1.4.1.2021.251.1类OID信息时,执行test.pl)。 )
test.pl的内容:
#!/usr/bin/perl
use strict;
my $file="file.trap";
open(HANDOUT,">>./$file");
while(<STDIN>)
{
print HANDOUT "$_";
}
然后管理端输入命令:
Linux代码
snmptrapd -c /etc/snmp/snmptrapd.conf
启动snmptrapd进程:
Linux代码
snmptrapd -d -f -Lo 会显示 NET-SNMP version 5.5 (版本因人而异 然后不要动,接下来操作代理端)
在agent端
使用命令:
Linux代码
snmptrap -v 2c -c public 192.168.190.133 "" .1.3.6.1.4.1.2021.251.1 sysLocation.0 s "i come from hadoop02 trap message" (IP地址写管理端的)
然后在管理端会出现代理端的trap信息
在/root下会生成file.trap文件,也可以查看trap信息
-------------------------------------------------------------------------------------------------------------
指令解释:
snmptrap 命令
-v2c 版本
public 团体名
127.0.0.1 snmp代理IP
“” 主机名称,可以为空
.1.3.6.1.4.1.2021.251.1 企业OID
SNMPv2-MIB::sysLocation.0 数据OID
s 数据类型
“xxxxx” 数据值
---------------------------------------------------------------------------------------------------------
trap类型、名称及描述信息
trap类型 名称 描述信息
0 coldStart 代理进程对自己初始化
1 warmStart 代理进程对自己重新初始化
2 linkDown 一个接口已从工作状态变为故障状态(报文中的第一个变量标识此接口)
3 linkUp 一个接口已从故障状态变为工作状态(报文中的第一个变量标识此接口)
4 authenticationFailure 从SNMP管理进程收到无效共同体的报文
5 egpNeighborLoss 一个EGP邻站已变为故障状态(报文中的第一个变量包含邻站IP地址)
6 enterpriseSpecific 在这个特定的代码段中查找trap信息
----------------------------------------------------------------------------------------------------------------
service snmpd status 查看snmp状态
service snmpd start 开启
service snmpd stop 关闭
service snmpd restart 重启