Cacti 研究了有段时间了,中间遇到点问题,最终还是搭建起来了.这里记下自己安装的过程,以免以后忘记还要重新查看资料。同时也提供给感兴趣的朋友!
一.Cacti的介绍
三.Cacti工作原理
四.名词解释
1. RRDtools
使用RRDtool来存储和处理通过SNMP收集到的数据开始。这些数据很可能是某个网络或计算机接收或发送的字节数(比特数)。它也可以用来显示潮水的波浪、阳光射线、电力消耗、展会的参观人员、机场附近的噪音等级、你喜欢的度假区的温度、电冰箱的温度、以及任何你可以想象的东西。 你最需要一个度量数据,以及能够提供这些数据给RRDtool的感应器就可以了。RRDtool会让你创建数据库、存储数据、提取数据、创建用于在Web浏览器中显示的PNG格式的图像。这些PNG图像以来于你收集的数据,它可以是网络平均使用率、峰值。 2.RRD Round Robin Database环状数据库3.SNMP
snmp(Simple Network Management Protocal, 简单网络管理协议)在架构体系的监控子系统中将扮演重要角色。大体上,其基本原理是,在每一个被监控的主机或节点上 (如交换机)都运行了一个 agent,用来收集这个节点的所有相关的信息,同时监听 snmp 的 port,也就是 UDP 161,并从这个端口接收来自监控主机的指令(查询和设置)。 如果使用 RHEL5 的 net-snmp,那么被监控主机需要安装 net-snmp(包含了 snmpd 这个 agent),而监控端需要安装 net-snmp-utils。如果自行编译,需要 beecrypt(libbeecrypt)和 elf(libraryelf)的库。每一个 agent 维护一个树形的数据库,称为 MID(Management Information Base, 管理信息库),其每一个节点称为 Object Identifier(OID),这在使用 net-snmp-utils 的工具时会用到。这些节点就表示了这台主机系统的设备如网卡的接口描述(eth0 等)、物理地址(MAC)、接口类型等,也可能是系统的信息,或者是需要监控的进程等...
五.应用场景极其优点
常见应用
服务器资源:CPU、内存、磁盘、进程、连接数等 服务器类型:WEB、Mail、FTP、数据库、中间件 网络接口:流量、转发速度、丢包率 设备运行状态:风扇、电源、温度 机房运行环境:电流、电压、温湿度优点:
开源性;
界面 相对其它监控软件漂亮,能划出漂亮的数据图;
跨平台监控;
可扩展性
开始安装过程:
cacti 需要LAMP环境的支持:
1.安装apache
tar zxvf httpd-2.0.64.tar.gz
cd httpd-2.0.64
./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite
make && make insatall
2.安装mysql
tar zxvf mysql-5.5.22-linux2.6-i686.tar.gz
cp -ra mysql-5.5.22-linux2.6-i686 /usr/lcoa/mysql
useradd mysql
cd /usr/local/mysql
cp support-files/my-medium.cnf support-files/my.cnf
chown -R mysql.mysql /usr/local/mysql
scripts/mysql_install_db --user=mysql (初始化数据库)
cp support-files/mysql.server /etc/init.d/mysql
ln –s /usr/local/mysql/bin/* /usr/local/bin/
/usr/local/mysql/bin/mysqld_safe --user=mysql (启动数据库)
3.安装PHP
因为cacti需要很多php支持,建议yum install php
或者
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-xml --enable-mbstring --enable-sockets
make && make install
cp php.ini-development /usr/local/lib/php.ini
ln –s /usr/local/php/bin/* /usr/local/bin/
# vi /usr/local/apache/conf/httpd.conf
查找AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在其下加入
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
修改DirectoryIndex 行,添加index.php
修改为DirectoryIndex index.php index.html index.html.var
# vi /usr/local/apache/htdocs/test.php
添加以下行:
<?php
Phpinfo();
?>
wq 保存退出。
# /usr/local/apache/bin/apachectl restart
在浏览器中输入:http://www.yourdomain.com/test.php 进行测试。
然后配置apache支持php
4.安装RRDtools
RRDtools 同样需要很多库文件的支持,只需要在安装操作系统的时候将开发软件包都装上就可以了。
tar zxf rrdtool-1.4.4.tar.gz
cd rrdtool-1.4.4
./configure --prefix=/uar/local/rrdtool --disable-tcl
make && make install
//完成后建立符号连接
ln –s /usr/local/rrdtool/bin/* /usr/local/bin/
5.安装net-snmp
建议 yum install net-snmp
vim /etc/snmp/snmpd.conf
修改如下内容:
#com2sec notConfigUser default public
修改为:com2sec notConfigUser 127.0.0.1 public(同时去掉#)
#access notConfigGroup "" any noauth exact systemview none none
修改为:access notConfigGroup "" any noauth exact all none none
#view all included .1 这一行去掉注释#
service snmpd start
OK!
6.安装cacti
useradd cacti
tar zxvf cacti-0.8.7i.tar.gz
cp -ra cacti-0.87i /usr/local/apache2/htdocs/cacti
chown -R cacti.cacti /usr/loca/apache2/htdocs/cacti
vi /usr/local/apache/htdocs/cacti/include/config.php
修改如下:
7.数据库配置
mysql -u root
create database cacti;
grant all on cacti.* to identified by "cacti";
flush priviledges;
exit;
mysqladmin -u root password("mysql")
mysql -uroot -pmysql cacti < /usr/local/apache/htdocs/cacti/cacti.sql
Chmod 777 /usr/local/apache/htdocs/cacti/log
Chmod 777 /usr/local/apache/htdocs/cacti/rra
8. 完成cacti 的安装
在浏览器中输入:http://ip/cacti/
默认用户名:admin 密码:admin
设置cacti用到的命令的绝对路径
snmpwalk Binary Path /usr/local/ bin/snmpwalk snmpget Binary Path /usr/local/ bin/snmpget RRDTool Binary Path /usr/local/ bin/rrdtool PHP Binary Path /usr/local/bin/php Cacti Log File Path /usr/local/apache/htdocs/cacti/log/cacti.log Cactid Poller File Path /usr/local/cactid/cactid安装完成后,就可以通过浏览器 来web监控了.
9.安装问题
我在安装过程中,也就是执行第8步骤的时候遇到很多warn 信息,比如warn date:
网上有很多解决方案,但是好像我在使用的时候怎么改没奏效。
经过摸索,我发现其实只需更改一个文件就可以了:
vim /usr/local/apache2/htdocs/cacti/lib/functions.php
在首行加入如下时区定义:
date_default_timezone_set('Asia/Shanghai');
重启apache
重新打开浏览器访问即可!
大功告成!!!