CACTI 满足整月数据修改为5分钟取值,并符合95计费需求

生产环境需求

在生产环境中,CACTI主要的用处是用来计费,CDN计费规则一般是95计费,(95计费规则:在一个整月,每5分钟取一个值,将所有值从大到小排序,去掉最高的5%的数据,那个值就是所谓的95值)。但是新搭建的CACTI存在以下几点问题:

1、Cacti默认导出整月数据是以每15分钟或2小时(Cacti v0.8版本是以2小时取值的,Cacti v1.2版本是以15分钟取值的),这个是不符合CDN 95计费规则的。
2、Cacti从0.8.7版本开始,也就是说在2007年(13年前)设置了时间戳的值为1600000000,转换成时间为2020-09-13 20:26:40,表示在2020年9月13日20点26分40秒后,选择过滤图形时间会导致失效,图形过滤器出现BUG。

解决办法

一、CACTI整月数据修改为5分钟取值

v0.8版本:

1、控制台-->数据源-->循环归档(将所有的步进都修改成1)

2、删除CACTI路径下rra目录下的所有文件,以重新生成图形。

rm -rf /var/www/html/rra/*
#我用的是apache的默认路径,如果找不到这个目录可以用find命令查找
find / -name rra -type d
#命令解读:查找根目录下,-name名字为rra,-type类型为目录

3、控制台--->系统工具--->重建采集器缓存。

4、刷新浏览器,等待生成图形。

V1.2版本:

1、CACTI v1.2 版本与 v0.8 版本修改方式完全不一样,v0.8 版本的CACTI可以在图形化界面直接修改。v1.2 版本的需要进入数据库,修改datadata_source_profiles_rra表的steps字段的值,全部修改为1。

1、mysql -uroot -p #进入数据库
2、MariaDB [none]> show databases; #查看所有数据库

3、MariaDB [none]>use cacti; #进入cacti数据库
4、MariaDB [cacti]>show tables; #查看cacti数据库中所有的表
5、MariaDB [cacti]>select * from data_source_profiles_rra; #查看这个表下所有字段的值

6、将steps字段下所有的值修改成1
7、MariaDB [cacti]>update data_source_profiles_rra set steps = 1; #更新data_source_profiles_rra的steps字段的值为1
8、MariaDB [cacti]>select * from data_source_profiles_rra;#再次查看一下

9、rm -rf /var/www/html/rra/* #删除cacti路径下rra目录下的所有文件
10、进入浏览器重建资源缓存
控制台-->系统工具-->重建poller缓存-->重建资源缓存

2、等待cacti出图,再次导出整月csv数据都是每5分钟取值的

二、CACTI时间过滤器问题

v0.8版本:

修改当前web根目录下的graph_xport.php和graph_image.php两个文件,查找1600000000,每个文件中会有两个这个值,将其全部改成2088385563,修改后无需重启任何服务,直接刷新当前浏览器即可!

1、cd /var/www/html/ #进入到cacti目录下
2、sed -i 's/1600000000/2088385563/g' graph_xport.php graph_image.php

v1.2版本:

修改当前web根目录下的graph_image.php、graph_json.php、graph_xport.php、remote_agent.php这四个文件,查找1600000000,将其全部改成2088385563,修改后无需重启任何服务,直接刷新当前浏览器即可!

1、cd /var/www/html/ #进入到cacti目录下
2、sed -i 's/1600000000/2088385563/g' graph_image.php graph_json.php graph_xport.php remote_agent.php

转载自:https://blog.csdn.net/m0_49679565/article/details/123543253

THE END