介绍
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。 Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
安装
1.关闭selinux
修改文件:/etc/sysconfig/selinux把SELINUX=enforcing 修改为 SELINUX=disabled
2.关闭防火墙
service iptables stopchkconfig iptables off
3.安装依赖包
yum install httpd php php-mysql php-snmp php-gd mysql mysql-server mysql-devel net-snmp net-snmp-utils net-snmp-devel rrdtool pango rsyslog-mysql gcc make wget -y
#注意:如果rrdtool没有安装成功,参照一下步骤安装
//创建yum源>vi /etc/yum.repos.d/dag.repo[dag]name=Dag RPM Repository for Red Hat Enterprise Linuxbaseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/daggpgcheck=1gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txtenabled=1//安装依赖包>yum -y install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel//安装rrdtool>yum install -y rrdtool perl-rrdtool rrdtool-devel
4.配置数据库
#启动mysqlservice mysqld start#创建数据库/usr/bin/mysqladmin --user=root create cacti#创建用户并赋予权限mysql -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'"
5.cacti安装
#下载安装包
cacti-0.8.7g(http://image.wohenniucha.com/upload/2018/05/cacti-0.8.7g.zip)
#解压
cd /main/softunzip cacti-0.8.7g.zipmv cacti-0.8.7g /var/www/html/cacti
#导入数据
mysql -ucactiuser -pcactiuser cacti < /var/www/html/cacti/cacti.sql
#修改cacti配置文件
vi /var/www/html/cacti/include/config.php##主要更改以下信息,但对于本文档来说红色字体部分不需要做任何修改,因为创建的用户、密码都是默认的:$database_type = "mysql";$database_default = "cacti";$database_hostname = "localhost";$database_username = "cactiuser";$database_password = "cactiuser";$database_port = "3306";$database_ssl = false;##如果当初数据库的用户、密码不是cactiuser的话,则需要做相应改动。
#给相应的文件读写权限
chmod 777 rra/ log/
#设置定时任务
crontab –e添加:*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php
#配置SNMP服务
vi /etc/snmp/snmpd.conf#view all included .1 80 把前面的#去掉#access notConfigGroup "" any noauth exact systemview none none#把上面一行注释,并添加下面一行,其实目的是把systemview 改成 allaccess notConfigGroup "" any noauth exact all none none其它默认不改,正式商用的时候有可能需要改动,在此文档不作深入
#重启所有服务
service httpd restartchkconfig httpd onservice snmpd restartchkconfig snmpd onservice mysqld restartchkconfig mysqld onservice crond restartchkconfig crond on
6.安装cacti-plugin插件
#下载安装包(需要和cacti版本对应)
cacti-plugin-0.8.7g-PA-v2.8(http://image.wohenniucha.com/upload/2018/05/cacti-plugin-0.8.7g-PA-v2.8.tar.gz)
#解压
tar zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
#拷贝文件到cacti目录
cp -r cacti-plugin-arch/* /var/www/html/cacti/
#导入数据
mysql -ucactiuser -pcactiuser cacti < pa.sql
#打补丁
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
注意:
此步估计会出错:1 out of 7 hunks FAILED -- saving rejects to file data_sources.php.rej类似的错误。解决方法是:拷贝files-0.8.7g下的文件到cacti直接覆盖文件rsync -avz files-0.8.7e/* .
#编辑config.php文件
vi /var/www/html/cacti/include/config.php(添加如下内容)$database_ssl = false;$plugins = array();$url_path = "/cacti/";备注(在第7步操作):console---user management---admin---realm permissions 勾选Plugin Management
7.使用cacti
#访问
http://192.168.1.115/cacti
#验证
输入用户名/密码(admin/admin)
第一次登录后,会提示更改密码:
#相应改动
console→Devices→Localhost默认不是我们想要的,把SNMP Options改成Version 2
#注意:
为了以后添加其它主机时,默认是Version 2 需要进 console→Settings→General在SNMP Defaults项中 设成 Version 2。为了方便以后添加主机某些配置,需要进控制台左侧Setting→General,把SNMP Version 改成“Version 2 ”按目前业内使用一般情况,应该选Version 2,保存!
#正常的画图展示
8.插件安装
#下载安装包
settings(http://image.wohenniucha.com/upload/2018/05/settings-v0.71-1.tgz)
thold(http://image.wohenniucha.com/upload/2018/05/thold-v0.5.0.tgz)
monitor(http://image.wohenniucha.com/upload/2018/05/monitor-v1.3-1.tgz)
realtime(http://image.wohenniucha.com/upload/2018/05/realtime-v0.5-2.tgz)
spine(http://image.wohenniucha.com/upload/2018/05/cacti-spine-0.8.7g.tar.gz)
#解压
tar zxf monitor-v1.3-1.tgztar zxf realtime-v0.5-2.tgztar zxf settings-v0.71-1.tgztar zxf thold-v0.5.0.tgztar zxf cacti-spine-0.8.7g.tar.gz
#放置到/var/www/html/cacti/plugins
mv settings /var/www/html/cacti/pluginsmv thold /var/www/html/cacti/pluginsmv monitor /var/www/html/cacti/pluginsmv realtime /var/www/html/cacti/plugins
#然后在web界面操作
Console→Plugin Management→
9.Spine的安装
Spine是代替 consoleSettingsPoller 中的Poller Type [cmd.php]
Spine 可以提高采集数据的效率,适合监控服务器数量比较多的Cacti,而cmd.php适合小型、测试、学习所用。
#解压
tar zxf cacti-spine-0.8.7g.tar.gz
#安装
cd cacti-spine-0.8.7g./configuremakemake install#复制配置文件cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
#配置sphine
console→Settings→Paths Spine Poller File Path 填写成/usr/local/spine/bin/spine 保存后如果正常。console→Settings→Poller 中的Poller Type设成 [spine]。