导读
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。
前期准备工作:
Cacti官网:http://www.cacti.net
下载地址: http://www.cacti.net/downloads/cacti-0.8.8g.tar.gz
下载地址: http://www.cacti.net/downloads/spine/cacti-spine-0.8.8g.tar.gz
准备所需要的软件包
Apache http://www.apache.org/
Mysql http://www.mysql.com/
Php http://www.php.net
Rrdtool http://oss.oetiker.ch/rrdtool/
Net-snmp http://www.net-snmp.org/
Cacti http://www.cacti.net/
openssl-devel
其中apache、mysql、php通过yum安装
checkconfig –list 查看服务启动情况
Checkconfig --level 3 vmware-tool off 关闭vm工具服务
一、安装完毕RHEL5.4后,修改主机名
完整:
第一步:
#hostname cacti
第二步:
修改/etc/sysconfig/network中的hostname
第三步:
修改/etc/hosts文件
二,修改yum源为本地光驱
修改光驱位yum
1、加载光驱
Mount –t iso9660 /dev/cdrom /mnt/cdrom
2、
mount -t cifs -o user=llbob@outlook.com,pass=xd00 //192.168.2.1/u3 /mnt/share
2、修改yum路径
Vi /etc/yum.repos.d/rhel-debguinfo.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Cluster
baseurl= file:///mnt/cdrom/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - ClusterStorage
baseurl= file:///mnt/cdrom/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Server
baseurl= file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
name=Red Hat Enterprise Linux $releasever - $basearch - VT
baseurl= file:///mnt/cdrom/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
3、yum clean all
三、 安装snmp支持工具
可以yum安装,也可以源码安装,比如
Wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.2.1/net-snmp-5.6.2.1.tar.gz/download
yum -y install net-snmp
yum -y install net-snmp-utils
启动snmpd服务并且加入启动列表
service snmpd start
chkconfig snmpd on
四、 安装LAMP
[root@cacti ~]# yum -y install httpd mysql-server php php-mysql mysql-devel libart_lgpl-devel openssl-devel
[root@cacti ~]# chkconfig httpd on
[root@cacti ~]# chkconfig mysqld on
[root@cacti ~]# /etc/init.d/httpd start
[root@cacti ~]# /etc/init.d/mysqld start
编辑httpd.conf在配置文件中加入以下内容
修改DirectoryIndex内容
使用php探针测试
cd /usr/local/apache/htdocs/
cat test.php
<?php
phpinfo();
?>
http://192.168.2.24/test.php
处理mysql
mysqladmin -uroot password '123456'
修改MySQL root用户的密码为123456
mysql -uroot -p 输入密码之后登陆
建立cacti数据库,用来数据库导入。
create database cacti;
grant all on cacti.* to cacti@localhost identified by 'cacti';
flush privileges;
exit
service mysqld restart
重启MySQL服务
7、添加用来执行cacti的用户
useradd cacti
echo cacti | passwd --stdin cacti
8、将提前下载好的cacti软件复制到我们cact目录下,我的cacti下载的是cacti_web.zip,然后解压到目录中来。
cp -r /cacti/cacti-0.8.8g /var/www/html/cacti
9、将cacti文件夹中的数据库导入到建立好的cacti数据库中
mysql -uroot –p123456 cacti</web/cacti/cacti/cacti.sql
更改 cacti目录下rra以及log的属主和属组。以及目录权限
chmod -R 777 /web/cacti/cacti/*
chown cacti.cacti /web/cacti/cacti/{rra log}
vi /web/cacti/cacti/include/config.php
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;
保存退出
10、为cacti用户建立轮训周期计划
crontab -ucacti -e
*/5 * * * * /usr/bin/php /web/cacti/cacti/poller.php &>/dev/null
保存退出
11、安装rrdtool-1.4.7 建议 网络安装
tar -zxvf rrdtool-1.4.7.tar.gz
[root@hmg2 src]#./configure --prefix=/usr/local/rrdtool && make && make install
另一种yum安装
#wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@hmg2 src]#rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
[root@hmg2 src]#yum -y install rrdtool*
运行rrdtool –v测试安装成功没有:
如果网路安装不成功,可以修改rpmforge更换试试
Rpmforge卸载
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -e rpmforge-release
五、登陆、设置、测试CACTI
登陆cacti http://192.168.2.24/cacti
看到页面里面都是ok就可以点完成即可。
点击next,继续下一步,其他的都死默认选项,默认登录用户名密码是admin:
为了测试需要,用户名和密码还是admin
增加被监控端,编辑/etc/snmp/snmpd.conf
1 2 3 4 5 6 7 8 9 10 | #将下边这行中的default com2secnotConfigUser default public #改为192.168.112.130(cacti)服务器的地址) com2secnotConfigUser 192.168.112.130 public #将下边这行中的systemview access notConfigGroup "" any noauth exact systemview none none #改为all access notConfigGroup "" any noauth exact all none none #将下边这行的注释“#”号去掉 #view all included .1 80 |
|
|
重启snmp服务
1 | serivce snmpd restart |
在监控端执行命令检查是否可以抓取数据
1 | snmpwalk -c public -v 2c 192.168.56.129 |
创建新的主机
填写主机信息
修改模版
如果出现SNMP ERROR说明snmp配置错误或者防火墙端口没有开放
最后用graph tree可以看到被监控主机puppetclient已经添加进来,可以完成正常的监控了
puppetclient主机的网络流量
puppetclient主机的内存使用率
其中部分知识借鉴与以下博友:
http://blog.itpub.net/26230597/viewspace-1170579/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/2630988/viewspace-2062595/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/2630988/viewspace-2062595/