天天看点

在RHEL5下构建Cacti监测系统

在Linux系统下监控系统性能工具很多,Cacti是在大型网络中较常见的性能监测软件,可以对CPU负载、内存占用、运行进程数、磁盘空间、网卡流量等各种数据信息进行监控。

Cacti是基于PHP语言编写的一个管理套件,需要使用Net-SNMP工具采集监测数据,并结合RRDtool(轮询数据库工具)记录数据及绘制图片,然后通过Web页面的形式展现给管理员用户。接下来开始构建Cacti监测系统:

Cacti和RRDtool工具可以分别从以下两个站点下载:

<a href="http://oss.oetiker.ch/rrdtool/">http://oss.oetiker.ch/rrdtool/</a>

<a href="http://www.cacti.net/">http://www.cacti.net</a>

一.配置监测服务端(192.168.0.66):

配置Cacti监测服务端需要AMP(Apache、Mysql、PHP)平台的支持,另外也需要安装gd、zlib等软件包。AMP平台可以采用编译安装源码包的方式构建,也可以采用RPM软件包来构建,为节约时间,本文采用安装RHEL5系统光盘自带RPM包方式来构建AMP平台。

1.分别安装构建APM平台需要的RPM软件包:(安装过程略)

httpd-2.2.3-31.el5

mysql-5.0.77-3.el5、mysql-connector-odbc-3.51.26r1127-1.el5、mysql-server-5.0.77-3.el5

php-common-5.1.6-23.2.el5_3、php-pdo-5.1.6-23.2.el5_3、php-5.1.6-23.2.el5_3

php-mysql-5.1.6-23.2.el5_3

安装完成后分别启动各服务。

2.使用rpm-qa |grep gd、rpm -qa |grep zlib命令查看软件包是否安装,如未安装就挂载RHEL5光盘进行安装。

3.安装net-snmp-utils软件包:

分别安装lm_sensors、net-snmp、net-snmp-utils三个软件包:

[root@linux5234 ~]#rpm -ivh lm_sensors 

[root@linux5234 ~]#rpm -ivh net-snmp 

[root@linux5234 ~]#rpm -ivh net-snmp-utils

4.安装rrdtool软件包:

[root@linux5234 ~]#tar zxf rrdtool-1.2.27.tar.gz 

[root@linux5234 ~]#cd rrdtool-1.2.27 

[root@linux5234 ~]#.configure --prefix=/usr/local 

[root@linux5234 ~]#make &amp;&amp; make install

5.安装配置Cacti服务器套件:(使用 tar zxf /media/6/cacti-0.8.7b-cn-utf8.tar.gz    

中文软件包)

    1&gt;安装Cacti软件包:先挂载安装软件包,然后解压至Web服务器网页目录,同时添加用于读写监测数据的用户cacti。

[root@linux5234 ~]# mount /dev/cdrom /media/ 

mount: block device /dev/cdrom is write-protected, mounting read-only 

[root@linux5234 ~]# cd /media/6/ 

[root@linux5234 6]# cd /var/www/html/ 

[root@linux5234 html]# tar zxf /media/6/cacti-0.8.7b-cn-utf8.tar.gz    

[root@linux5234 html]# mv cacti-0.8.7b-cn-utf8 cacti 

[root@linux5234 html]# useradd cacti 

[root@linux5234 html]# chown -R cacti.cacti cacti/rra/ cacti/log/

    2&gt;设置监测数据库:建立保存监测数据的数据库、表,设置好授权访问数据库的用户和密码。

[root@linux5234 html]# mysql -u root 

Welcome to the MySQL monitor.    Commands end with ; or \g. 

Your MySQL connection id is 2 

Server version: 5.0.77 Source distribution 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

mysql&gt; create database cactidb default character set utf8;  //创建数据库并设置默认字符集

Query OK, 1 row affected (0.00 sec) 

mysql&gt; grant all on cactidb.* to cacti@localhost identified by 'pwd@123'; 

Query OK, 0 rows affected (0.00 sec) 

mysql&gt; quit 

Bye 

[root@linux5234 html]# mysql -u cacti -p cactidb &lt; cacti/cacti.sql    //导入数据表

Enter password:  //输入密码后导入成功

     3&gt;修改Cacti配置文件:

[root@linux5234 html]# cd cacti/ 

[root@linux5234 cacti]# vi include/config.php   //需要修改的内容如下 

$database_type = "mysql"; 

$database_default = "cactidb";   //要访问的数据库名

$database_hostname = "localhost";  //数据库服务器的地址

$database_username = "cacti";   //授权访问数据库的用户

$database_port = "3306";       //mysql数据库服务的端口

$config['url_path'] = "/";    //指定Cacti目录相对于网站根目录的位置

6.修改httpd.conf配置文件,使其支持php网页,并将utf-8作为默认的中文页面字符集:

[root@linux5234 cacti]# vi /etc/httpd/conf/httpd.conf    

DocumentRoot "/var/www/html/cacti"  //设置网站文件根目录

&lt;Directory "/var/www/html/cacti"&gt;   //设置目录权限

                Options None 

                AllowOverride None 

                Order allow,deny 

                Allow from all 

&lt;/Directory&gt; 

DirectoryIndex index.php index.html    //设置默认的索引页

AddDefaultCharset UTF-8    //设置网页默认的字符集

重新启动httpd服务:service httpd restart

二.配置被监测的Linux服务器(192.168.0.77):

1.安装net-snmp软件包:

[root@localhost ~]# mount /dev/cdrom /media/ 

[root@localhost ~]# cd /media/Server/ 

[root@localhost Server]# rpm -ivh lm_sensors-2.10.7-4.el5.i386.rpm    

[root@localhost Server]# rpm -ivh net-snmp-5.3.2.2-7.el5.i386.rpm    

2.修改snmpd服务配置文件及启动服务:

[root@localhost ~]# vi /etc/snmp/snmpd.conf

41行 

com2sec notConfigUser    192.168.0.66             public   //192.168.0.66为Cacti监测服务器的IP地址

62行 

access    notConfigGroup ""            any             noauth        exact    all none none    //将SystemViem 修改为all或read,提供访问权限

85行 

view all     included    .1                80  //去掉此行前面的#号

启动服务并设置服务自启动:

[root@localhost ~]# service snmpd start 

[root@localhost ~]# chkconfig --level 35 snmpd on

三.初始化Cacti系统:

在客户端Web浏览器访问Cacti服务器(192.168.0.66),第一次访问cacti界面,页面将跳转至Cacti的初始化安装向导界面:

点击“下一步”即可:

选择“全新安装”,点击“下一步”即可。

设置各种工具命令的路径,如果没有找到,需要手动修改。此时需要注意,如果是编译安装的AMP平台,有些路径需要作对应改变。

四.使用Cacti监测系统:

1.登录管理平台,完成Cacti初始化安装之后,直接进入web登录界面,如下图所示,输入默认的管理员用户名和密码(admin/admin):

2.首次登录强制要求更改密码,更改完成后保存就可以进入管理界面了:

3.设置RRDtool工具的版本和字体的路径:在Cacti的控制台界面中,点击左侧栏的“设置”,打开Cacti的系统设置界面,确认“常规”标签页中的“RRDtool应用程序版本”设置为“RRDtool1.2.x”。

找到“路径”选项卡中的“RRDtool默认字体路径”,将字体路径设置为“/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf”:

4.添加被监测的设备或主机:(本实验添加一台Linux ftp服务器为监控对象)

连接主机,在Cacti控制台中,点击左侧栏“管理”下的“设备”,然后单击上方的“添加”按钮,进入添加新设备的页面:

本实验添加的设备为“Linux Vsftp服务器”,设备IP地址为“192.168.0.77",设备模板选择“ucd/net SNMP设备”,“SNMP版本”选择“版本1”,然后击“创建”完成添加并进行初次连接:

指定监测项目:成功连接被监测的主机(192.168.0.77)后,可以看到“保存成功”的提示信息,可以在页面下方看到默认监测的项目,另外可以根据实际需要自行添加需要图像模板和数据查询名称:

然后保存设置:

5.生成监控图像:

创建图像,点击Cacti控制台左侧栏的“新建图像”,进入图像创建页面,在“设备”下拉菜单处指定需要绘制图像的主机,勾选需要创建图像的监测项目上,最后点击页面右下方的“创建”,在出现的页面中再次单击“创建”按钮即可完成:

添加图像至监测树:

单击Cacti控制台左侧栏“管理”下的“图像树”,在右侧点击“默认”,可以对默认的监测树进行管理,点击右侧的“添加”,可以为默认监测树添加“树枝”节点项目,有“设备”、“图像”、“标头”三类,本实验添加“设备”节点,最后单周“创建”:

6.在Cacti监控服务端执行首次初始化并添加计划任务,定期采集监控数据:

[root@linux5234 cacti]# su - cacti 

[cacti@linux5234 ~]$ php /var/www/html/cacti/poller.php   //执行首次初化必须使用cacti用户,出现以下数据,表示初始化成功,可以查看到监控图像,如果没有以下数据,将不会看到正常的监控图像 

OK u:0.00 s:0.14 r:2.82 

OK u:0.00 s:0.14 r:2.83 

OK u:0.00 s:0.15 r:2.85 

OK u:0.00 s:0.18 r:2.89 

OK u:0.00 s:0.18 r:4.85 

OK u:0.00 s:0.18 r:5.93 

OK u:0.00 s:0.18 r:5.94 

OK u:0.00 s:0.18 r:5.99 

OK u:0.00 s:0.18 r:6.00 

OK u:0.00 s:0.18 r:7.04 

OK u:0.00 s:0.19 r:7.04 

OK u:0.00 s:0.19 r:7.05 

10/21/2010 11:42:31 AM - SYSTEM STATS: Time:9.2262 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProcess:3 DataSources:25 RRDsProcessed:21 

OK u:0.00 s:0.19 r:8.11 

OK u:0.01 s:0.19 r:8.11 

[cacti@linux5234 ~]$ crontab -e //添加计划任务

*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &amp;&gt; /dev/null 

[cacti@linux5234 ~]$ exit 

[root@linux5234 cacti]# service crond start 

[root@linux5234 cacti]# chkconfig --level 35 crond on

7.查看监测的结果:(监控图像界面)

单击Cacti控制台上方的“查看图像”标签,然后展开左侧栏的“默认”监测树,点击需要查看的设备(“Linux Vsftp服务器”),查看到监测项目的图示列表信息:

Cacti到此为止,配置已经完成,另外就是Cacti的使用,根据实际需要进行设置,另外还可以添加一些Cacti支持的插件,获得一些扩展的服务。

本文转自 kk5234 51CTO博客,原文链接:http://blog.51cto.com/kk5234/408628,如需转载请自行联系原作者