企业除了需要具备系统和设备的监控功能外,还需要对其网络使用状况进行周密的监控、处理和优化,才能切实地保证企业信息安全。本文将选择Cacti工具来进行介绍。
启用Cacti轮询
从/etc/cron.d/cacti crontab文件行的左端删除哈希标记来启用Cacti轮询。这个文件中的*/5条目导致crond每五分钟执行该脚本一次。
$ cat /etc/cron.d/cacti
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
配置Cacti
启动或重新启动Apache后,在运行Cacti机器的Web浏览器中指向localhost/cacti; Apache重定向浏览器到Cacti安装页面localhost/cacti/install,并显示Cacti安装页面的画面。单击Next。
确认Cacti安装指南画面上的信息(图1),并单击Next。
图1 Cacti安装指南屏幕
下一个画面显示多个路径名和已安装的Net-SNMP和rrdtool版本信息。查看此信息,并单击Finish。
接下来,Cacti显示用户登录画面。使用用户名admin和密码admin登录。然后Cacti强制更改cacti数据库的admin用户的密码。更改密码后,Cacti显示主控制台画面(图2)。画面名称出现在画面左上角控制台选项卡的正下方。
图2 Cacti主控制台画面
基本Cacti管理
默认情况下,Cacti从localhost(安装系统的机器)收集数据。经过几次轮询周期(为Cacti添加crond作业后约15分钟),Cacti将显示此信息。如果想监控本地系统,则必须在本地系统上安装snmpd。必须在本地系统上安装snmpd来监视本地系统如果想监控本地系统,则必须在本地系统上安装和配置snmpd,就像在远程系统上一样。
从主控制台画面上,单击View your new graphs,或单击画面上方的Graphs(图形)选项卡。Cacti以树模式显示localhost的默认图表(图3)。
图3 localhost默认图表
Cacti为以下数据源创建图表:内存使用量、平均负载、登录用户和进程数。如果点击一个图表,Cacti显示一页,包含所点击数据源的四个图表:每天、每周、每月和每年。这些图表大部分会是空白的,直到Cacti收集足够的数据来填补它们。
Cacti使用RRDTool存储它收集的数据并显示图形。Cacti图形在短时间跨度内显示较多细节,在长时间跨度内(平均或以其它汇总方式)显示较少细节。
要放大图形,点击右侧的图形放大镜图标;Cacti显示单个图形,并且鼠标指针改变为十字线。把十字线水平拖过你感兴趣的时间段表示的图形部分,Cacti会为这段时间重新生成图形。
可以使用画面右上角边缘的选项卡来控制图表。Settings(设置)选项卡允许你设置显示图形的偏好;Tree View(树视图)选项卡显示一个层次结构图,让你选择感兴趣的设备或图表;List View(列表视图)选项卡显示所有可用的图表列表;Preview(预览)选项卡显示所有可用图表的缩略图。此外,这些选项卡在屏幕的顶部都提供了一个过滤器,可显示图表的子集。
单击Console(控制台)选项卡显示主控制台画面,可以在此管理Cacti。主控制台画面左侧有一个菜单,显示了在控制台选项卡正下方所示画面的路径名。画面的右上角是用户名称(admin)和Logout(注销)按钮。
设置远程数据源并使用
可以设置运行SNMP的任何设备作为Cacti监测和报告的数据源。下面详细介绍如何设置本地网络上的远程系统作为数据源以及如何设置Cacti监视该数据源。设置本地数据源与设置远程数据源类似。
1.先决配置条件
在Cacti要监视的远程系统上安装以下软件包。如果要监视本地系统,必须在本地系统上安装和配置这些软件包,它们不会与cacti软件包一起安装。
net-snmp
net-snmp-utils (可选)
/etc/snmp/snmpd.conf文件控制snmpd守护程序。保存已安装的snmpd.conf文件,以便以后参考。设置下面的snmpd.conf文件,该文件设置SNMP为public,并允许从localhost和172.16.192.151(系统运行Cacti,用本地Cacti服务器地址替换此地址)进行查询:
$ cat /etc/snmp/snmpd.conf
rocommunity public localhost
rocommunity public 172.16.192.151
当系统进入多用户模式时,运行chkconfig使snmpd启动:
# chkconfig snmpd on
在Ubuntu和其它基于Debian的系统下,/etc/default/snmpd文件控制snmpd守护进程的各个方面。例如,它指定snmpd查询监听的地址。Fedora/RHEL系统不使用此文件。如果想让snmpd从远程系统查询监听,必须编辑以下行,它指定运行snmpd所使用的选项:
$ cat /etc/default/snmpd
...
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
...
更改127.0.0.1到本地系统的IP地址,因为这是系统运行的地址,Cacti会查询本地系统。如果不进行此更改,本地系统将不对远程系统的snmpd查询进行响应。
2.添加设备
在连接到Cacti的Web浏览器中,单击Console选项卡,选择ConfigurationSettings,然后单击General选项卡,然后从SNMP Version(非SNMP Utility Version)下拉列表选择Version 1。默认情况下,SNMP使用设置为public的社区运行;不要更改此设置,除非有理由这样做。点击Save。
下一步选择ManagementDevices,并在画面右上角单击Add。或者,可以选择CreateNew Graphs,然后单击Create New Host。Cacti显示一个画面,允许指定一个新设备(图4)。
图4 添加新设备
如果已经按照刚才介绍的那样设置了SNMP版本(即Version 1),SNMP设置会如图4所示的那样。把要监视系统的恰当描述填入Description文本框中。在Hostname文本框输入IP地址或完全合格的域名。从Host Template下拉列表选择一个合适的项。该例子使用Generic SNMP-enabled Host。另外,可以使用Local Linux Machine。请确保Downed Device Detection设置为SNMP,SNMP Version设置为Version 1。点击Create。
Cacti使用SNMP从设备收集信息。如果一切顺利,将报告Save Successful,并显示靠近画面上方(图5)新系统的有关信息。
图5 关于新系统的信息
3.创建图表
单击Create Graphs for this Host。Cacti显示Create New Graph(创建新图表)页面,其中包含Create下拉列表。从下拉列表(例如,UNIX的平均负载)选择要创建的图表类型,并单击Create。Cacti在屏幕上方显示消息,告诉你它创建的图表类型(图6)。为要创建的每个图表重复上述步骤。
图6 查询列表和新设备的数据源
4.在图表树中添加节点
选择ManagementGraph Trees,然后单击Add以添加节点到图表树。输入一个新节点的名称(例如,Servers),并单击Create。
现在点击Add(右)添加项目后,从Tree Item Type下拉列表中选择Host(主机),选择刚刚添加的主机(Cacti可能会为你添加Host),然后单击Create。
5.等待
等待10或15分钟以让Cacti轮询新设备几次。
6.显示图表
单击Graphs选项卡。新节点的名称出现在画面左侧的设备树中。当你单击节点名称左侧的加号(+),Cacti扩展该树,并显示刚才添加的节点。单击节点的名称以显示该设备的图形(图7)。
图7 新设备的Cacti图表
现在,可以浏览正在生成的图表,选择感兴趣的时间周期,并了解更多设备和网络的有关行为。