TranslateProject/translated/tech/20150601 How to monitor Linux servers with SNMP and Cacti.md

7.2 KiB
Raw Blame History

使用SNMP和Cacti监控Linux服务器

SNMP或者叫简单网络管理协议用于收集设备内部发生的数据如负载、磁盘状态、带宽之类。像Cacti这样的网络监控工具用这些数据来生成图标以达到监控的目的。

在一个典型的Cacti和SNMP部署中会有一台或多台启用了SNMP的设备以及一台独立的用来从那些设备收集SNMP回馈的监控服务器。请记住所有需要监控的设备必须启用SNMP。在本教程中出于演示目的我们将在同一台Linux服务器上配置Cacti和SNMP。

在Debian或Ubuntu上配置SNMP

要安装SNMP代理snmpd到基于Debian的系统请运行以下命令

root@server:~# apt-get install snmpd

然后,如下编辑配置文件。

root@server:~# vim /etc/snmp/snmpd.conf

# this will make snmpd listen on all interfaces
agentAddress  udp:161

# a read only community 'myCommunity' and the source network is defined
rocommunity myCommunity 172.17.1.0/24

sysLocation    Earth
sysContact     email@domain.tld

在编辑完配置文件后重启snmpd。

root@server:~# service snmpd restart

在CentOS或RHEL上配置SNMP

要安装SNMP工具和库请运行以下命令。

root@server:~# sudo yum install net-snmp

然后如下编辑SNMP配置文件。

root@server:~# vim /etc/snmp/snmpd.conf

# A user 'myUser' is being defined with the community string 'myCommunity' and source network 172.17.1.0/24
com2sec myUser 172.17.1.0/24 myCommunity

# myUser is added into the group 'myGroup' and the permission of the group is defined
group    myGroup    v1        myUser
group    myGroup    v2c        myUser
view all included .1
access myGroup    ""    any    noauth     exact    all    all    none

root@server:~# service snmpd restart
root@server:~# chkconfig snmpd on

重启snmpd服务然后添加到启动服务列表。

测试SNMP

SNMP可以通过运行snmpwalk命令进行测试。如果SNMP已经配置成功该命令会生成大量输出。

root@server:~# snmpwalk -c myCommunity 172.17.1.44 -v1

iso.3.6.1.2.1.1.1.0 = STRING: "Linux mrtg 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (2097) 0:00:20.97

~~ OUTPUT TRUNCATED ~~

iso.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440
iso.3.6.1.2.1.92.1.2.1.0 = Counter32: 1
iso.3.6.1.2.1.92.1.2.2.0 = Counter32: 0
iso.3.6.1.2.1.92.1.3.1.1.2.7.100.101.102.97.117.108.116.1 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.92.1.3.1.1.3.7.100.101.102.97.117.108.116.1 = Hex-STRING: 07 DD 0B 12 00 39 27 00 2B 06 00 

配置带有SNMP的Cacti

在本教程中我们将在同一台Linux服务器上设置Cacti和SNMP。所以去[安装Cacti][2]到刚刚配置SNMP的Linux服务器上吧。

安装完后Cacti网页接口可以通过“http://172.17.1.44/cacti”来访问当然在你的环境中请将IP地址换成你的服务器的地址

安装过程中Cacti的路径一般都是正确的但是如有必要请再次检查以下。

在首次安装过程中Cacti默认的用户名和密码是“admin”和“admin”。在首次登录后会强制你修改密码。

添加设备到Cacti并管理

Cacti将根据先前配置的SNMP字符串注册设备。在本教程中我们将只添加启用了SNMP的本地服务器。

要添加设备我们必须以管理员登录然后转到Cacti管理员面板中的控制台。点击控制台 > 设备。

那里可能已经有一个名为localhost的设备。我们不需要它因为我们要创建全新的图表。我们可以将该设备从列表中删除使用“添加”按钮来添加新设备。

接下来,我们设置设备参数。

由于设备已经添加,我们来指定想要创建的图表模板。你可以在该页的最后章节中找到本节内容。

然后,我们继续来创建图表。

这里我们创建用于平均负载、RAM和硬盘、处理器的图表。

接口图表和64位计数器

默认情况下Cacti在SNMP查询中使用32位计数器。32位计数器对于大多数带宽图表而言已经足够了但是对于超过100Mbps的带宽它就无能为力了。如果已经知道带宽会超过100Mbps建议你使用64位计数器。使用64位计数器一点也不麻烦。

注意 Cacti会花费大约15分钟来产生新图表除了耐心等待你别无选择。

创建图表树

这些截图展示了如何创建图表树,以及如何添加图表到这些树中。

我们可以验证图表树中的图表。

用户管理

最后我们创建一个只具有查看我们刚创建的图表权限的用户。Cacti内建了用户管理系统而且是高度可定制的。

在完成这些步骤后我们可以使用user1来登录进去并验证只有该用户可以查看该图表。

至此我们在网络监控系统中部署了一台Cacti服务器。Cacti服务器比较稳定可以处理大量图表而不会出问题。

希望本文对你有所帮助。


via: http://xmodulo.com/monitor-linux-servers-snmp-cacti.html

作者:Sarmed Rahman 译者:GOLinux 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出