说明:
由于cacti默认是5分钟获取数据,如果有攻击了都得几分钟之后才知道。因此就在想,能不能让cacti每分钟更新一下图。
可以看到,上面两图:流量图,负载图已经是1 minute绘制的,默认的是5分钟,30分钟,2小时,1天。
要实现这样的效果,需要1.先编译安装cacti插件spine(用于每分钟获取一次数据,cacti默认cmd.php,5分钟才去获取一次数据,太慢了);2.然后修改对应的Data Templates。
实现:
一.编译安装cacti插件spine
a.编译安装spine
# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz # tar zxvf cacti-spine-0.8.8a.tar.gz # cd cacti-spine-0.8.8a # ./configure --prefix=/usr/local/cacti-spine --with-snmp=/usr/local/net-snmp/ --with-mysql=/usr/local/mysql //这里mysql是编译安装的,因此需要指定mysql的目录 # make && make install
b.修改spine关于数据库的配置文件
# cd /usr/local/cacti-spine/etc/ # cp spine.conf.dist spine.conf # vim spine.conf //修改为以下内容 DB_Host localhost DB_Database cacti DB_User cacti DB_Pass cacti123 DB_Port 3306 DB_PreG 0
c.这里修改对应的mysql用户名和密码,以及连接参数
打开“console”—-“settings”—-“Paths” 中填写spine的路径,然后“save”
d.选择轮询模式
打开“console”—-“settings”—-“Poller”—“save”
e.修改crontab,设置poller.php一分钟执行一次
* * * * * env LANG=C /usr/bin/php /var/www/html/poller.php>/dev/null 2>&1
二.编译安装完spine后,就是修改Data Templates,console | Data Templates | Interface – Traffic,为流量图添加分钟图
Associated RRA’s添加选择Hourly(1 Minute Average);将step改为60(一分钟);将traffic_in和traffic_out的Heartbeat改为120(不要一起改,改一个save一个)。具体见下图
三.为cpu load添加分钟图
1.先查看cpu load使用哪个Data Templates
console | Device | Associated Graph Templates,看下图。
上图显示的是ucd/net – Load Average,因此查找console | Data Templates | ucd/net – Load Average,可以看到有个三个,ucd/net – Load Average – 1 Minute Get ;ucd/net – Load Average – 15 Minute ;ucd/net – Load Average – 5 Minute
参照下图分别修改这三个Data Templates的Associated RRA’s,STEP,heartbeat即可。
其他模板也可以通过这样添加分钟图
附录:
附录1.cacti设置一分钟刷新,这篇文章通过修改数据库,将原来5分钟绘图改成1分钟绘一次。因为自己未尝试,先留着!
1、在数据库运行
DELETE FROM rra; — 4 rows affected
INSERT INTO rra VALUES (1,’c21df5178e5c955013591239eb0afd46′,’Daily (1
Minute Average)’,0.5,1,8000,86400);
INSERT INTO rra VALUES (2,’0d9c0af8b8acdc7807943937b3208e29′,’Weekly (30
Minute Average)’,0.5,30,1600,604800);
INSERT INTO rra VALUES (3,’6fc2d038fb42950138b0ce3e9874cc60′,’Monthly (2
Hour Average)’,0.5,120,1600,2678400);
INSERT INTO rra VALUES (4,’e36f3adb9f152adfa5dc50fd2b23337e’,’Yearly (1 Day
Average)’,0.5,1440,1600,33053184);
UPDATE data_template_data SET rrd_step=60 WHERE rrd_step=300;
UPDATE data_template_rrd SET rrd_heartbeat=120 WHERE rrd_heartbeat=600;
UPDATE poller_item SET rrd_step = 60 WHERE rrd_step = 300;
2、把Crontab的时间改为一分钟。
3、就是放弃原来以每5分钟取得的数据,把rra目录下的文件都删除了
通过,以上的操作之后,将会取得以每分钟SNMP信息。
附录2.如何将cacti的取样间隔(polling interval)更改为一分钟?