CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统;SNMP(简单网络管理协议)能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题。本文主要介绍如何在CentOS系统中安装配置SNMP服务。

工具/原料
  • CentOS操作系统

方法/步骤
  1. 1

    使用SNMP服务前需要在服务器上安装SNMP:

    使用ROOT用户登陆在服务器,输入:

    yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils php-snmp

    进行下载。

    如何在CentOS系统中安装配置SNMP服务

  2. 2

    上面的程序首先会校验需要升级的文件和需要下载安装的文件,然后列来,告诉你有多大,会提示您是不是这些,需要继续不,输入Y,就开始下载了。

    如何在CentOS系统中安装配置SNMP服务

  3. 3

    下载完成后,会自动解包安装,整个过程是自动的,无需要人工操作。安装完成没有错误会提示:Complete!

    如何在CentOS系统中安装配置SNMP服务

  4. 4

    安装完SNMP服务后,就需要进行相关配置了,SNMP的配置文件在:

    yum安装snmpd的配置文件为 /etc/snmp/snmpd.conf

    如何在CentOS系统中安装配置SNMP服务

  5. 5

    如果您不会在命令模式下使用vi编辑器的话,建议把snmpd.conf配置文件下载到本地,然后用UE等文本编辑软件打开编辑更改。

    如何在CentOS系统中安装配置SNMP服务

  6. 6

    配置snmpd.conf文件需要更改五个地方(默认配置基础上):

    1、配置snmp团体名(默认是public): com2sec notConfigUser default public 建议更改public为您使用的团体名称

    2、将access notConfigGroup "" any noauth exact systemview none none更改为access notConfigGroup "" any noauth exact all none none

    3、将如下两行前面的注释去掉

    ## incl/excl subtree maskview all included .1 80## -or just the mib2 tree-view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

    4、将下面一行前面的注释去掉

    #access notConfigGroup "" any noauth exact roview rwview noneaccess notConfigGroup "" any noauth exact mib2 none none

    注意以前您在复制搜索时请使用中间的关键搜索,因为配置文件中字符间隔长,如图

    如何在CentOS系统中安装配置SNMP服务

  7. 7

    配置文件修改完后,保存,上传到服务器中。

    然后输入 :service snmpd restart 重新启动snmp服务

    最后还需要执行如下命令:chkconfig snmpd on 意思是把服务加到开机启动中,开机自动运行。

    可以使用一个简单命令判断snmp服务是否已经成功启动:

    netstat -ln | grep 161

    如何在CentOS系统中安装配置SNMP服务

    END

注意事项
  • 服务器防火墙需要开放UDP 161端口

另外一个介绍
2、安装以上的几个rpm包

若系统中没有安装以上包,则先安装。

使用命令:rpm –ivh 包名

c8762efd-8324-39e0-afa8-bcdbe5286a51.jpg

安装完后,使用命令:$ rpm -qa|grep snmp,检查是否已经安装成功。

dc5b3369-7340-377b-93e0-09d4aebfe168.jpg

YUM 安装

1  yum install -y net-snmp net-snmp-utils

3、启动snmp服务

若安装成功,则可使用命令:

$ service snmpd start

提示:Starting snmpd: [  OK  ],则启动snmp服务成功。

c3dd37dd-e86c-3bcb-9786-b334825f1ce0.jpg

你可以将snmp服务设置为开机自启动,这样免去手动启动的麻烦。

使用命令:$ chkconfig snmpd on,将snmpd服务设为开机自启动。

2ab238e7-b702-3e15-ad2c-c1905cb00e35.jpg

然后使用命令:$ chkconfig --list | grep snmpd,查看是否已经设置成功。

c95e24a1-58c4-3296-9673-035504fb09ea.jpg

4、验证snmp服务

(1)使用snmpwalk命令,查看本机localhost的主机名:

9bb1b41f-0894-3215-8edd-d0f4270e6d4e.jpg

如上,获取到本机主机名为oracle.domain.com,则表示snmp服务已经可以正常使用。

(2)使用snmptranslate命令,检查snmp工具是否可以使用:

9951ad86-97cf-36db-8164-4de5ca7d94bc.jpg

如上,查出了部分oid,则表示snmp工具可以正常使用。

(3)测试远端主机是否可以获取数据。

我这里登陆了另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:

7d18226c-119f-323d-9692-187cbd6d4db7.jpg

如上,可以看到通过远端主机获取到的主机名,与在本机获取到的主机名是一致的。

二、配置snmp服务

以上安装完成后,使用的是snmp的默认配置,通过这些默认配置,我们只能获取主机的部分信息。但一些其他的重要信息,无法获取。如主机的CPU使用情况,内存使用情况等。

803a35ea-cc69-39f6-8460-c7023ec28ddf.jpg

如上,无法获取CPU的空闲率(注:1.3.6.1.4.1.2021.11.11.0是主机CPU空闲率的oid)。

这时候,若要获取主机的一些重要信息,则要修改snmp的默认配置。

配置方法:修改/etc/snmp/snmpd.conf文件

2040e17e-d937-3e9d-bd1d-8a4b7c4a688a.jpg

1、修改查看设备节点的权限

在该文件中,找到如下位置:

da3debe0-b3e9-3548-8c17-563a6d5dd9a8.jpg

view:定义了可以查看哪些节点设备的信息。

snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,所以无法获取这些数据。

因此,可以修改这个配置,如下:

07fddc2b-ff84-3212-a33a-b075754f53c8.jpg

在此处添加了一行:

view    systemview    included   .1

表示可以查看.1节点下的所有设备信息。

2、修改Process checks的配置

找到如下位置:

2ae9544c-1cb7-3a2d-9bd7-d278ef06a5dd.jpg

# proc mountd

# proc ntalkd 4

# proc sendmail 10 1

三行前的“#”号去掉,取消注释,结果为:

29d63791-c0bc-3d33-9d97-8384fa451044.jpg

3、修改Executables/scripts配置

找到如下位置:

dad187ec-5897-3480-bda8-7a1bd48f5ba1.jpg

#exec echotest /bin/echo hello world

一行前的“#”号去掉,取消注释。

4、修改disk checks配置

找到如下位置:

88d4f327-f3d8-3ee9-90ef-e3fded8fb4ee.jpg

#disk / 10000

一行前的“#”号去掉,取消注释。

5、修改load average checks配置

找到如下位置:

afc276f5-3516-3f6f-98bd-ff15ac3740fa.jpg

将 #load 12 14 14

一行前的“#”号去掉,取消注释。

6、保存修改,重启snmp服务

c6968d50-78e6-375a-97df-c7440e576588.jpg

7、验证修改配置后的snmp服务

efab2c2c-5e79-3ac3-b50b-7946edde5811.jpg

如上,通过本机localhost获取到CPU的空闲率为97%。

b18355f9-2c7f-33b6-9072-5a625bfa9a50.jpg

如上,通过远端主机获取到CPU的空闲率为93%。