一、Cacti日志出现大量错误

最近查看Cacti日志,出现大量红色告警,并且每五分钟出现1次,虽然不影响流量的查看,但是肯定会有问题。

错误日志如下

ERROR: A DB Exec Failed!, Error:'145', SQL:"INSERT INTO `cacti`.`syslog_hosts` (host) (SELECT DISTINCT host FROM `cacti`.`syslog_incoming`) ON DUPLICATE KEY UPDATE host=VALUES(host), last_updated=NOW()'
RROR: A DB Exec Failed!, Error:'145', SQL:"DELETE FROM `cacti`.`syslog_statistics` WHERE insert_time<
ERROR: A DB Exec Failed!, Error:'145', SQL:"INSERT INTO `cacti`.`syslog` (logtime, priority_id, facility_id, host_id, message) SELECT TIMESTAMP(`date`, `time`), priority_id, facility_id, host_id, message FROM (SELECT date, time, priority_id, facility_id, host_id, message FROM syslog_incoming AS si INNER JOIN syslog_facilities AS sf ON sf.facility=si.facility INNER JOIN syslog_priorities AS sp ON sp.priority=si.priority INNER JOIN syslog_hosts AS sh ON sh.host=si.host WHERE status=5) AS merge'

错误信息显示:

数据库中已经存在这台主机,再插入就失败了。

解决办法:

1、登入后台服务器,进入数据库
#mysql(我的后台数据库没有密码,直接进入)
2、查看数据库
mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti |
| mysql |
+--------------------+
4 rows in set (0.00 sec)
3、进入cacti表
mysql> use cacti
4、显示数据库中的表
mysql> show tables;
+---------------------------------------+
| Tables_in_cacti |
+---------------------------------------+
| cdef |
| cdef_items |
| colors |
| data_input |
| data_input_data |
| data_input_fields |
| data_local |
| data_template |
| data_template_data |
| data_template_data_rra |
| data_template_rrd |
| graph_local |
| graph_template_input |
| graph_template_input_defs |
| graph_templates |
| graph_templates_gprint |
| graph_templates_graph |
| graph_templates_item |
| graph_tree |
| graph_tree_items |
| host |
| host_graph |
| host_snmp_cache |
| host_snmp_query |
| host_template |
| host_template_graph |
| host_template_snmp_query |
| plugin_aggregate_color_template_items |
| plugin_aggregate_color_templates |
| plugin_config |
| plugin_db_changes |
| plugin_hooks |
| plugin_realms |
| plugin_thold_contacts |
| plugin_thold_log |
| plugin_thold_template_contact |
| plugin_thold_threshold_contact |
| poller |
| poller_command |
| poller_item |
| poller_output |
| poller_output_rt |
| poller_reindex |
| poller_time |
| rra |
| rra_cf |
| settings |
| settings_graphs |
| settings_tree |
| snmp_query |
| snmp_query_graph |
| snmp_query_graph_rrd |
| snmp_query_graph_rrd_sv |
| snmp_query_graph_sv |
| syslog |
| syslog_alarm_log |
| syslog_alert |
| syslog_facilities |
| syslog_host_facilities |
| syslog_hosts |
| syslog_incoming |
| syslog_logs |
| syslog_priorities |
| syslog_remove |
| syslog_removed |
| syslog_reports |
| syslog_statistics |
| thold_data |
| thold_template |
| user_auth |
| user_auth_perms |
| user_auth_realm |
| user_log |
| version |
| weathermap_auth |
| weathermap_data |
| weathermap_groups |
| weathermap_maps |
| weathermap_settings |
+---------------------------------------+
79 rows in set (0.00 sec)
5、访问有问题的表
mysql> describe syslog_hosts;
ERROR 145 (HY000): Table './cacti/syslog_hosts' is marked as crashed and should be repaired
提示该表损坏需要修复。
6、修复数据库中的所有表
#mysqlcheck -A -o -r  -p
7、修复完成后,再次进入数据库访问有错误的表

mysql> describe syslog_hosts;
+--------------+------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+-------------------+-----------------------------+
| host_id | int(10) unsigned | NO | MUL | NULL | auto_increment |
| host | varchar(128) | NO | PRI | NULL | |
| last_updated | timestamp | NO | MUL | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+--------------+------------------+------+-----+-------------------+-----------------------------+
3 rows in set (0.00 sec)
可以正常访问了,错误日志也不在出现了

二、Cacti不出图

错误日志如下:

1、CMDPHP: Poller[0] ERROR: SQL Assoc Failed!, Error:'1017'
2、ERROR 1017 (HY000): Can't find file: 'poller_output' (errno: 2)
3、CMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:'1062'
按照1、2、3的顺序依次出现了以上三个错误(Cacti Log中截取的),其中第二项错误是在MySQL中执行select count(*) from poller_output;时出现的。重新启动Apache、MySQL、snmp等进程均未能解决问题,在网上查找资料得知是Cacti数据库的问题。

问题原因:

Cacti数据库的poller_output表出现问题。

解决办法:

进入MySQL后执行truncate table poller_output;清空poller_output表后 Cacti恢复正常。
 
常见不出图或有图无数据

解决办法之二

登录CactiEZ中文版V10,点击“工具”菜单中的“系统工具”,然后点击“重建采集器缓存”。几分钟之后再查看是否正常,该办法能解决大多数问题。

Cacti断图、大量报错故障的更多相关文章

  1. xhprof查看性能测试图一直报错:failed to execute cmd: " dot -Tpng"多种因素解决方案

    xhprof查看性能测试图一直报错:failed to execute cmd: ” dot -Tpng”多种因素解决方案最近在新环境进行php代码性能测试,用了xhprof这个工具,搭建好以后,点击 ...

  2. python抓取不得姐动图(报错 urllib.error.HTTPError: HTTP Error 403: Forbidden)

    抓取不得姐动图(报错) # -*- coding:utf-8 -*- #__author__ :kusy #__content__:文件说明 #__date__:2018/7/23 17:01 imp ...

  3. ceph集群jewel版本 rbd 块map 报错-故障排查

    测试信息如下: [root@ceph_1 ~]# ceph osd pool lsrbdchy_123swimmingpool #新建rbd 块: rbd create swimmingpool/ba ...

  4. python-----贴图 和 报错:OSError: image file is truncated (8 bytes not processed)的处理

    将一张图片贴到另一张图片上,代码如下: from PIL import Image import os from PIL import ImageFile ImageFile.LOAD_TRUNCAT ...

  5. 【pheatmap热图scale报错】Error in hclust(d, method = method):NA/NaN/Inf in foreign function call (arg 11)

    初始数据类似如下: 填充下缺失值 data[data==0] <- NA data[is.na(data)] <- min(data,na.rm = T)*0.01 pheatmap(lo ...

  6. (转)cacti无图无数据等常见问题排查

    推荐阅读:零基础学习Nagios http://www.51ou.com/browse/nagios/52001.htmlNagios安装配置教程 http://www.51ou.com/browse ...

  7. ABP 多租户 对应多数据库 租户启动报错

    什么是多租户? “软件多租户是指一个软件体系结构,其中一个软件实例在一个服务器上运行,并为多个租户提供服务*租户是一组共享具有软件实例特定权限的公共访问权限的用户. 架构中,软件应用程序旨在为每个租户 ...

  8. VirtualBox报错:不能为虚拟电脑XXX打开一个新任务

    报错产生的背景 今天在这里下载了一个用于VirtualBox的Kali Linux虚拟机文件(使用VirtualBox可以直接打开使用,不用执行安装过程).但是将该文件导入到VirtualBox中之后 ...

  9. 解决MySQL报错ERROR 2002 (HY000)【转】

    今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...

随机推荐

  1. tomcat 添加 ssl 证书

    1. 将证书提供方给的证书(server.crt)及密钥文件(server.key)上传到服务器 tomcat 的 conf 目录 2. 在tomcat conf 目录下执行如下命令 (1) 生成P1 ...

  2. ruoyi-plus-server(一):引入Mybatis-Plus

    背景:著名开源管理系统ruoyi-vue是基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统(https://gitee.c ...

  3. Enjoy the pain about Moloch

    这echo出来的啥子嘛?意思是小姐姐有自虐倾向?可若是moloch有汉化包或翻译文件,小姐姐至于这么“享受”install的过程吗? 过程都走过了,那就记录一下吧:1.找个Ubuntu镜像,阿里云镜像 ...

  4. Vue路由的hash模式与history模式的区别?

    1.首先router有两种模式:hash模式(默认).history模式(需配置mode: 'history') hash和history的区别?   hash                    ...

  5. BZOJ 1070 拆点 费用流

    1070: [SCOI2007]修车 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 5860  Solved: 2487[Submit][Status] ...

  6. 【Java】【JVM】Sychronized底层加锁原理详解

    我们首先先看看JMM模型,话不多说,上图: JMM对应的8大原子操作: read(读取):从主内存读取数据 load(载入):将主内存读取到的数据写入工作内存 use(使用):从工作内存读取数据来计算 ...

  7. 当 RocketMQ 遇上 Serverless,会碰撞出怎样的火花?

    作者 | 元毅  阿里巴巴高级开发工程师 阿里巴巴云原生公众号后台回复 Knative,免费下载<Knative 云原生应用开发指南>电子书! 想必大家都比较了解 RocketMQ 消息服 ...

  8. yum CentOS7安装mysql

    配置阿里云yum源 [root@bogon ~]# cd /etc/yum.repos.d/ [root@bogon yum.repos.d]# mkdir repo_bak [root@bogon ...

  9. Android_AndroidX简介&Junit4

    AndroidX简介: Android 9.0(API level 28)发布时,AndroidX也作为一个新的支持库发布出来了.AndroidX时Jetpack的一部分,它包含了现有的支持库和最新的 ...

  10. NOIP 2017 P3959 宝藏 (状态压缩DP板子)

    洛谷题目传送门!! 题目的N这么小,当然是选择用状压DP啦!  等等,我好像不会状缩.... 首先,我们当然是要写状态转移方程了!! 那么,如果我们设  f[s]  状态s下,所要的最小花费,那么很显 ...