Cacti使用问题汇总

问题一:获取项名称显示不完整

解决方法:修改最大字段长度后重新添加设备

修改最大字段长度

问题二:飞塔防火墙显示SNMP错误

解决方法:由于host.php中先要验证sysdesc的信息是否为空,所以需要在飞塔SNMP配置中将描述加上

验证sysdesc的信息是否为空

添加描述

问题三:导入模板时提示“Error: XML: Hash version does not exist.”

解决方法:根据Cacti版本号替换其中的Hash值,例如0021(0.8.7.g)替换0024(0.8.8.a)

https://docs.cacti.net/howto:determine_cacti_template_version

问题四:深信服SSL VPN不出图

解决方法:接口不出图,默认接口SNMP 流量64位 OID不匹配,改成非64位

改成非64位

问题五:CPU、vpn用户数不出图

解决方法:OID要完整,末尾要补上0

末尾要补上0

问题六:锐捷防火墙oid

  • 多个CPU的总利用率 SysCpuUsage.0 .1.3.6.1.4.1.4881.101.4.1.3.0 1-100(%) 60秒
  • 并发连接数 SysSesCount.0 .1.3.6.1.4.1.4881.101.4.1.8.0 数字 10秒
  • 内存利用率 SysMemUsage.0 .1.3.6.1.4.1.4881.101.4.1.4.0 1-100(%) 60秒

问题七:不出图,日志报错:

日志报错

解决办法:

1
2
3
4
mysql cacti
mysql> repair table poller_item;
mysql> repair table poller_output;
mysql> repair table syslog_statistics;

问题八:服务器重启后不出图

解决方法:

1
/usr/bin/php /var/www/html/poller.php

问题九:图形无法放大,无法时间筛选

解决方法:早期版本开发时相关代码中加入了Unix时间戳,筛选时间必须在北京时间2020年9月12日20点26分40秒前(时间戳1600000000)。改大相关代码中的此时间戳,Cacti根目录下的graph_image.php文件和graph_xport.php文件

1
2
3
4
5
6
7
8
/* override: graph start time (unix time) */
if (!empty($_GET["graph_start"]) && is_numeric($_GET["graph_start"]) && $_GET["graph_start"] < 1600000000) {
$graph_data_array["graph_start"] = get_request_var("graph_start");
}
/* override: graph end time (unix time) */
if (!empty($_GET["graph_end"]) && is_numeric($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
$graph_data_array["graph_end"] = get_request_var("graph_end");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* override: graph end time (unix time) */
if (!empty($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
$graph_data_array["graph_end"] = $_GET["graph_end"];
}

/* override: graph height (in pixels) */
if (!empty($_GET["graph_height"]) && $_GET["graph_height"] < 3000) {
$graph_data_array["graph_height"] = $_GET["graph_height"];
}/* override: graph end time (unix time) */
if (!empty($_GET["graph_end"]) && $_GET["graph_end"] < 1600000000) {
$graph_data_array["graph_end"] = $_GET["graph_end"];
}

/* override: graph height (in pixels) */
if (!empty($_GET["graph_height"]) && $_GET["graph_height"] < 3000) {
$graph_data_array["graph_height"] = $_GET["graph_height"];
}

Cacti使用问题汇总
https://yilx.top/2023/04/07/Cacti使用问题汇总/
作者
Nick
发布于
2023年4月7日
许可协议