CentOS开启自带SNMP实现服务器性能监控

有自己的服务器,自然少不了对服务器的监控,特别是Vpser们,怕VPS线路抽风影响客户的访问。国内外很多网站监控类的网站,不过不太适合英文水平较低的站长。不过国内的监控宝(JianKongBao.Com)也蛮不错,相信绝大部分的站长都认识它。

网站监控有多种,如针对单项的:HTTP、FTP、Ping等,如果要监控服务器的CPU、内存、硬盘等信息,就需要安装SNMP,监控宝提供了项“服务器性能监控”就是利用SNMP获取服务器信息。但是监控宝推荐的Net-Snmp对于部分小白们来说比较难上手,所以这里不按照监控宝的说明配置。(注意:如果需要Diskio即磁盘I/O监控,可能要重新编译SNMP

以下由OpenVZ的VPS作为演示:

CentOS自带了SNMP,只不过默认没有开启服务。

0、检查是否有SNMP服务,若没有,请先安装

service snmpd status     #检查是否有SNMP服务
yum install -y net-snmp #若没有则安装

1、先编辑Snmp的配置文件,设置安全的验证方式

vi /etc/snmp/snmpd.conf 

2、验证方式有两种,v2c和v3,推荐后者。

(1)v2c验证方式添加比较简单,在snmpd.conf中添加以下内容

rocommunity kwxgd 60.195.249.83
rocommunity kwxgd 60.195.252.107
rocommunity kwxgd 60.195.252.110

以上代码解释:
rocommunity 表示一个只读的访问权限
kwxgd表示v2c的帐号
后面的IP表示授权访问IP(以上三组为监控宝监控点的IP,意味着只有监控宝才能访问您CentOS的SNMP)
以上配置中只有“kwxgd”是需要进行修改的,在监控宝上添加被监控的服务器时需要提供这个字符串。


(2)添加v3验证方式

LinuxVPS学习者建议您使用v3这种最新的验证方式。早期的Linux发行版中默认的SNMP可能不支持v3,需要自己手工编译其它支持v3的SNMP(如Net-SNMP 5以上版本,CentOS 5.5测试通过。)
同样,在snmpd.conf中添加以下内容

rouser kwxgd auth
createUser kwxgd MD5 mypassword

第一行“rouser”用于设定只读帐号的类型,“kwxgd”设定用户名,“auth”指明连接时需要验证。
第二行的意思是创建一个名为“kwxgd”的用户,密码为“mypassword”,并用MD5进行加密传输。
注意,创建用户的密码要8个字节以上,否则设置会失败。而且一旦snmpd启动后,出于安全考虑,以上两行配置会被snmpd自动删除,但它会将这些配置以密文的形式记录在其它文件中,重启snmpd不需要再次重复添加以上内容,除非你希望创建新的用户(或覆盖帐户,如修改帐户密码密码)。
snmp1.jpg

3、设置完毕,开关SNMP


(1)开启SNMP

在SSH输入以下指令即可运行:

service snmpd start

(2)关闭SNMP

在SSH输入以下指令即可关闭:

service snmpd stop

(3)重启SNMP

在SSH输入以下指令即可重启:

service snmpd restart

snmp2.jpg
4、成功开启后,在监控宝中进行设置(以v3为例)

(1)进入监控宝“服务器性能监控”

jkb.jpg(2)添加服务器(如图)

jkb2.jpg

以上图片解释:
IP为您服务器的IP。SNMP默认端口为161
Security Name(安全帐户)为您之前在snmpd.conf添加的帐户名。
Pass Phrase(通行短语)为您在snmpd.conf设置的密码(需要8个字符以上,否则无法连接)。
Auth Protocol(验证协议)为之前在snmpd.conf设置的MD5。

(3)添加成功后监控宝提示(图)

jkb3.jpg

(4)回到“服务器性能监控”,选择刚添加的服务器,选择“SNMP性能监控”,并添加监控项目。(图)

jkb4.jpg

(5)添加监控项目(图),选择您要监控的项目。

jkb5.jpg

上图,由于测试服务器用的是OpenVZ的VPS,OpenVZ不支持Diskio模块,所以磁盘I/O无法监控(手动编译的Diskio也无效),为此请不要勾选。

(7)成功添加项目后即可使用,但需要等待监控宝服务器获取信息。(估计5-10分钟即可)

jkb6.jpg

监控宝内“服务器性能监控”添加完毕。

5、设置SNMP开机自动启动

成功配置完毕,建议将SNMP设置为开机自动启动(或取消)。

(1)设置开机自动启动,在SSH中输入以下命令

chkconfig snmpd on

(2)关闭开机自动启动,在SSH中输入以下命令

chkconfig snmpd off

 

6、增强的SNMP安全性

(2011年11月8日更新)

网络上无聊的人很多,为了确保安全,建议在Iptables加上以下规则

在SSH中执行以下命令,关于Iptables的基本操作,请参阅《iptablesf防火墙的基本应用

iptables -A INPUT  -p udp -s 60.195.249.83 --dport 161 -j ACCEPT
iptables -A INPUT  -p udp -s 60.195.252.107 --dport 161 -j ACCEPT
iptables -A INPUT  -p udp -s 60.195.252.110 --dport 161 -j ACCEPT

以上命令执行完毕后,执行以下命令将规则写入到iptables配置文件中,下次开机时依然生效。

service iptables save

以上做的目的,就是只让指定的监控服务器(IP)才能与您的SNMP服务建立连接。



转载内容请注明出处: 转载自V5.Net(原文:https://v5.net/CentOSApp/CentOS-SNMP.html