设置cacti每分钟绘图

说明:
由于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)更改为一分钟?

发表评论

邮箱地址不会被公开。 必填项已用*标注