检查系统是否安装snmp服务
# rpm -qa|grep snmp
net-snmp-5.3.2.2-17.el5
net-snmp-perl-5.3.2.2-17.el5
net-snmp-devel-5.3.2.2-17.el5
net-snmp-libs-5.3.2.2-17.el5
net-snmp-utils-5.3.2.2-17.el5
net-snmp-libs-5.3.2.2-17.el5
net-snmp-devel-5.3.2.2-17.el5
SNMP服务安装后会有以上安装包
安装SNMP服务
1.配置好本地yum服务,使用yum安装
yum install -y net-snmp*
2.配置SNMP服务开机启动
#chkconfig snmpd on
#chkconfig --list | grep snmpd 查看开机启动设置是否成功
snmpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
验证SNMP服务
1.使用snmpwalk获取主机名
# snmpwalk -v 2c -c public localhost sysName.0
SNMPv2-MIB::sysName.0 = STRING: wh69
snmpwalk用法
snmpwalk -v 1|2c|3(代表SNMP版本) -c <community string> IP地址 OID(对象标示符)
2.使用snmptranslate命令,检查snmp工具是否可以使用
# snmptranslate -To | head
.1.3
.1.3.6
.1.3.6.1
.1.3.6.1.1
.1.3.6.1.2
.1.3.6.1.2.1
.1.3.6.1.2.1.1
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.2
.1.3.6.1.2.1.1.3
查出了部分oid,则表示snmp工具可以正常使用
配置SNMP服务
1.配置SNMP连接字符串 community string
#vi /etc/snmp/snmpd.conf
修改下面字段
# sec.name source community com2sec notConfigUser default public
修改public为自己定义的community string
2.修改查看设备节点权限
在配置文件/etc/snmp/snmpd.conf中找到如下位置
#### # Third, create a view for us to let the group have rights to: # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1
view:定义了可以查看哪些节点设备的信息。
snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,
而主机CPU和内存等设备都不在这些节点下,所以无法获取这些数据。
因此,可以修改这个配置,如下:
#### # Third, create a view for us to let the group have rights to: # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) view systemview included .1 view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1
在此处添加了一行:
view systemview included .1
表示可以查看.1节点下的所有设备信息。
3.修改Process checks的配置
在配置文件/etc/snmp/snmpd.conf中找到如下位置
############################################################################### # Process checks. # # The following are examples of how to use the agent to check for # processes running on the host. The syntax looks something like: # # proc NAME [MAX=0] [MIN=0] # # NAME: the name of the process to check for. It must match # exactly (ie, http will not find httpd processes). # MAX: the maximum number allowed to be running. Defaults to 0. # MIN: the minimum number to be running. Defaults to 0. # # Examples (commented out by default): # # Make sure mountd is running #proc mountd # Make sure there are no more than 4 ntalkds running, but 0 is ok too. #proc ntalkd 4 # Make sure at least one sendmail, but less than or equal to 10 are running. #proc sendmail 10 1
去除
#proc mountd
#proc ntalkd 4
#proc sendmail 10 1
这三行前面的#号,取消注释
4.修改Executables/scripts配置
在配置文件/etc/snmp/snmpd.conf中找到如下位置
############################################################################### # Executables/scripts # # # You can also have programs run by the agent that return a single # line of output and an exit code. Here are two examples. # # exec NAME PROGRAM [ARGS ...] # # NAME: A generic name. # PROGRAM: The program to run. Include the path! # ARGS: optional arguments to be passed to the program # a simple hello world #exec echotest /bin/echo hello world # Run a shell script containing:
将
#exec echotest /bin/echo hello world
前面的#去掉,取消注释
5.修改disk checks配置
在配置文件/etc/snmp/snmpd.conf中找到如下位置
############################################################################### # disk checks # # The agent can check the amount of available disk space, and make # sure it is above a set limit. # disk PATH [MIN=100000] # # PATH: mount path to the disk in question. # MIN: Disks with space below this value will have the Mib's errorFlag set. # Default value = 100000. # Check the / partition and make sure it contains at least 10 megs. #disk / 10000
将
#disk / 10000
前的#号去掉,取消注释
6.修改load average checks配置
在配置文件/etc/snmp/snmpd.conf中找到如下位置
############################################################################### # load average checks # # load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0] # # 1MAX: If the 1 minute load average is above this limit at query # time, the errorFlag will be set. # 5MAX: Similar, but for 5 min average. # 15MAX: Similar, but for 15 min average. # Check for loads: #load 12 14 14
将
#load 12 14 14
前的#去掉,取消注释
7.保存修改,重启snmp服务
#service snmpd restart
8.验证修改配置后的snmp服务
# snmpwalk -v 2c -c xindixindi localhost 1.3.6.1.4.1.2021.11.11.0
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 99
如上,通过本机localhost获取到CPU的空闲率为99%
完成配置
现在可以在solarwinds和Cacti等监控系统中,通过SNMP服务监控该linux服务器了。
在RedHat Linux系统中安装和配置snmp服务,布布扣,bubuko.com