Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。
它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板。除了基本的 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教学
操作系统的安装不写了,我个人用的是CentOS 6.5最小化安装
装好系统以后关闭防火墙和selinux
#service iptables stop //关闭防火墙服务
#chkconfig iptables off //永久性关闭
#vi /etc/sysconfig/selinux //把SELINUX=enforcing改为SELINUX=disabled
yum install mysql mysql-server mysql-devel php-mysql httpd php php-pdo lm_sensors net-snmp net-snmp-devel openssl-devel php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL net-snmp-libs php-gd
1、修改snmp配置文件
#vim /etc/snmp/snmpd.conf //进入snmpd.conf修改配置文件
1)将41行中的default改为127.0.0.1
更改前:com2sec notConfigUser default public
更改后:com2sec notConfigUser 127.0.0.1 public
2)将62行中的systemview改为all
更改前:access notConfigGroup "" any noauth exact systemview none none
更改后:access notConfigGroup "" any noauth exact all none none
3)将85行的注释"#"号去掉
更改前:#view all included .1 80
更改后:view all included .1 80
4)保存(:wq)
2、启动snmpd/httpd/mysql服务
#service snmpd start //开启snmp服务
#chkconfig snmpd on //设置snmp为开机启动
#service httpd start //开启http服务
#chkconfig httpd on //设置http为开机启动
#service mysqld start //开启mysql服务
#chkconfig mysqld on //设置mysql为开机启动
#Snmpwalk -v 2c -c public localhost //测试snmpd是否正常启动
#mysql -uroot -p //新装的mysql没有密码,直接回车进入mysql数据库
(注:进入mysql后每次输入命令后结尾都要加“;”结束符,命令才能成功输入)
mysql> create database cacti; //首先创建cacti数据库
mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti';
//创建cacti用户并授权
(格式:grant all privileges on 数据库名.* to 用户名@主机名 identified by '密码';)
mysql>use cacti;
mysql>source /var/www/html/cacti/cacti.sql; //导入cacti数据库文件
mysql>exit
1、cacti的安装
wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
tar zxvf cacti-0.8.8b.tar.gz
mv cacti-0.8.8b /var/www/html/cacti
//将cacti-0.8.8b文件夹移到/var/www/html目录下,并将cacti-0.8.8b重命名为cacti
(注:wget时有可能因ssl连接不成功而下载失败,此时应该用root权限桌面模式,浏览器登入www.cacti.net/downloads,下载并解压cacti-0.8.8b.tar.gz到/var/www/html目录,然后把文件夹重命名为cacti)
2、配置cacti
#vim /var/www/html/cacti/include/config.php
$database_type = "mysql"; //连接数据库类型
$database_default = "cacti"; //cacti监控服务的数据库
$database_hostname = "localhost"; //数据库的主机
$database_username = "cactiuser"; //数据库用户名,这里改为“cacti”
(因为先前在数据库建的是"cacti"用户,所以这里默认的"cactiuser"要改为"cacti")
$database_password = "cactiabc"; //数据库密码,这里改为“cacti”
(这里默认的密码我们也要改为 "cacti")
$database_port = "3306"; //数据库端口
$database_ssl = false; //是否启用ssl连接数据库
然后保存退出(:wq)
3、增加 cacti 用户以用来写入rrd和log目录的数据,否则就会生成不了图片
#cd /var/www/html/cacti
#useradd cacti
#cd /var/www/html/cacti
#chown -R cacti rra/ log
(注意log前有空格)
添加任务计划
具体多长时间让cacti生成一次监控图表自己决定,这里以cacti的默认时间5分钟生成一次为例
#cd /var/www/html/cacti
#crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
(加入这一行保存即可)
配置好之后重启进入桌面输入http://ip/cacti,如下图所示
点击NEXT
点击NEXT
直接选择finish即可
如果出现“NOT FOUND”的红色字样这需要手动指定路径
第一次登陆的用户名和密码都是admin
第一次登陆会令你强制修改密码
点击console->configuration->setting 右边勾选Structured RRA Path
因为该版本在删除设备时无法同时删除RRD数据库,选择该选项后方便以后删除host同时在linux 下删除相应hostid的RRD文件。
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7i.tar.gz
//下载spine文件 (注:若wget不了可以进入桌面并登入网址下载)
tar zxvf cacti-spine-0.8.7i.tar.gz //解压spine压缩包
cd cacti-spine-0.8.7i
./configure //配置源代码包
make&&make install //编译安装
cd /usr/local/spine/etc
cp spine.conf.dist spine.conf //重命名配置文档
vi spine.conf //修改配置文档
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
DB_PreG 0
:wq //这里的信息要和mysql的信息一致
在cacti内 console->configuration->settings Paths内的spine poller file path 添加/usr/local/spine/bin/spine如下图所示
在 console->configuration->settings Poller内的 Poller Type 修改为spine
Thold:用于设备异常预警、阀值报警
Settings:用于邮件报警
Monitor:以图形方式显示设备状态
Rrdclean:rrd辅助工具(不太懂)
进入console->User Managerment 点击admin
选择Plugin Managerment然后保存,即可看到左边setting的下方出现plugin managerment
接下来下载插件安装包依次为:settings、monitor、thold和rrdclean,并修改文件名
wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz -O settings.tgz
wget http://docs.cacti.net/_media/plugin:monitor-v1.3-1.tgz -O monitor.tgz
wget http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz -O thold.tgz
wget http://docs.cacti.net/_media/plugin:rrdclean-v0.41.tgz –O rrdclean.tgz
解压安装包
tar zxvf settings.tgz
tar zxvf monitor.tgz
tar zxvf thold.tgz
tar zxvf rrdclean.tgz
把插件放进plugins目录
mv settings monitor thold rrdclean /var/www/html/cacti/plugins/
进入cacti console->configure->plugin managerment 即可看到刚放进去的插件
点击actions 安装和应用,即安装好相对应的插件
插件安装成功!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。