Cacti的简介
cacti是一套基于php、mysql、snmp及rrdtool开发的网络流量检测图形分析工具。Cactil通过snmpget来获取数据,使用rrdtool绘画图形管理功能。Rrdtool提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看的树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
Cacti的原理
cacti本身是一个PHP脚本,它的所有功能都是由其插件完成的,cacti通过snmp协议与被监控主机取得通信,被监控主机的监控参数保存在cacti目录下的一个rra文件中,通过rrdtool这个工具定时地到这个文件中读取数据,然后做成表格,呈现到客户端。
Cacti的工作流程
步骤一,snmp协议收集远程服务器的数据
步骤二,将snmp收集的数据内容保存到rrd数据库中
步骤三,若用户查看某台设备上的流量或其它状态信息
步骤四,在mysql数据库中查找该设备对应的rra数据库文件的名称
步骤五,通过rrdtool命令进行绘图即可
Cacti的配置
Cacti是个PHP程序是基于LAMP环境运行的
环境准备: 客户端是物理机,cacti监控的服务器是虚拟机
客户端:redhat7.2 172.25.31.250
服务器:redhat6.5 172.25.31.1(server1)
1.安装lamp环境
cacti本身就是一个php程序因此需要有php,cacti在工作的过程中会有很多数据,这些数据保存在mysql中,所以需要安装mysql数据库。
系统版本:Redhat6.5
—安装Apache
yum install httpd -y
/etc/init.d/httpd start
—安装mysql
yum install -y mysql mysql-server mysql-devel
/etc/init.d/mysqld start ##数据库服务开启
mysqladmin -u root password "westos" ##为root用户设置密码,或是数据库安全初始化
mysql -uroot -pwestos ##登陆测试
—安装php及php支持
yum install -y php php-mysql
vim /var/www/html/index.php ##编写测试页
访问测试:
以上,lamp构建成功。
2.安装cacti及cacti所需要的支持工具
—安装snmp
cacti工作所使用的是snmp协议,即简单网络管理协议,因此安装snmp提供协议基础
yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils -y
/etc/init.d/snmpd start
vim /etc/snmp/snmpd.conf 修改配置文件
41 com2sec notConfigUser 127.0.0.1 public ##default 改为127.0.0.1
62 access notConfigGroup "" any noauth exact all none none ##systemview改为all
85 view all included .1 80 ##去掉注释
/etc/init.d/snmpd restart ##服务重启
—安装cacti
可去到cacti的官网网站(www.cacti.net)下载cacti的软件包
以此版本”cacti-0.8.8c.tar.gz”为例:
tar -xvf cacti-0.8.8c.tar.gz **解压软件包**
mv cacti-0.8.8c /var/www/html/cacti/ **cacti-0.8.8c安装路径**
—安装绘图工具rrdtool
yum install -y rrdtool
3.准备工作
—创建cacti用户
useradd cacti
id cacti
—数据库连接
cd /var/www/html/cacti/
mysql -u root -p ##进入数据库中
mysql>create database cacti; ##创建数据库cacti
mysql>grant all on cacti.* to cacti@localhost identified by 'cacti'; ##为创建的用户cacti授权
mysql>grant all on cacti.* to cacti@127.0.0.1 identified by 'cacti';
mysql>flush privileges;
退出数据库,在当前目录下
mysql -u cacti -p cacti < cacti.sql ##输入cacti用户密码
—config.php文件修改
vim /var/www/html/cacti/include/config.php
29 $database_username = "cacti"; ##数据库名称
30 $database_password = "westos"; ##登陆密码
39 $url_path = "/cacti/"; ##去掉注释
—设置cacti收集数据的默认的任务计划
crontab -e -u cacti
*/5 * * * * php /var/www/html/cacti/poller.php > dev/null 2>&1##定义每5分钟采集一次数据
手动验证一下任务计划是否成功执行
出现报错,因为php.ini的时区设置的不对,修改一下时区
[root@server1 cacti]# vim /etc/php.ini
date.timezone = Asia/Shanghai
/etc/init.d/httpd restart ##重启服务
再次测试:
[root@server1 cacti]# su - cacti
[cacti@server1 ~]$ php /var/www/html/cacti/poller.php
[root@server1 cacti]# chown -R cacti:cacti log/ rra/ #修改一下cacti程序中的log和rra目录的所属者与所属组
[cacti@server1 cacti]$ php /var/www/html/cacti/poller.php
OK
4.进入cacti界面
物理机的浏览器中: http://172.25.62.4/cacti/
—点击next,选择全新安装New Install
—检查界面,需要注意的是所有选型都是绿色才可以,如果出现红色,说明有一项没有安装需要在服务器中重新安装,再次刷新页面。
—确认没有问题后点击finish,出现用户登陆页面
默认的账号和密码都是admin,login后系统会强制重新设置密码
—修改后save成功进入cacti的界面
配置Cacti监控本机
首先点击“Devices”标签,出下以下界面,从图中可以看出,默认的主机就是Localhost
接下来点击“Localhost”主机,出现以下界面
“SNMP Options”:只要选择SNMP版本为“Version2”,其它是默认的配置点击下面的“Save”即可
选择右上脚的“Create Graphs for this Host”(为这个主机增加监控图形),选择监控本地主机的磁盘空间,点击“Create”即可
点击最上面的“Graph”标签
过几分钟出现最终效果图
配置Cacti监控localhost就全部完成