Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408001
  • 博文数量: 403
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -70
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-05 12:45
文章分类

全部博文(403)

文章存档

2014年(3)

2013年(1)

2012年(3)

2011年(21)

2010年(13)

2009年(64)

2008年(9)

2007年(36)

2006年(253)

分类: 系统运维

2011-05-23 16:00:31

CACTI:SPINE: Poller[0] ERROR: SQL Failed! Error:'1062', Message:'Duplicate entry ..' 解决方法
 
 

我的版本是0.8.7d,这个问题已经好久没有找到办法解决,最近将cacti从0.8.7d升级为0.8.7e,但还是报插入重复键错误

最后仔细找了下原因,终于解决了:

 

SPINE: Poller[0] ERROR: SQL Failed! Error:'1062', Message:'Duplicate entry '68-cpu-2011-02-16 18:00:03' for key 1'

如图:

由于之前安装的是cacti 0.8.7d for windows版本,不知道是版本本身的bug还是配置的问题,一直出现已添加的host主机不能删除的情况,后来索性就手工到mysql内删除,但由于对cacti配置库各表关系不清楚,导致在某些表留下了垃圾数据,Duplicate entry应该和这些垃圾数据有关。
这些垃圾数据,在cacti数据库的host表已经不存在,但其Data Sources数据依然存在,查找办法:

1.以"Message:'Duplicate entry '216-cpu-2011-02-16 18:00:03' for key 1'"为例:

在console-->System Utilities-->Poller Cache-->Search里搜cpu_216.

2.根据上面的Search结果,可以看到Data Source name为192.168.0.216,然后在Data Sources里Search这个ip.

选中和192.168.0.216相关的结果,然后选中右下角的delete,将其删除(删除之前,可以去Devices里查一下是否存在该host,一般是不存在)。

这样就可以把这些多余的垃圾data sources删除了。

其实还有一个办法,就是去mysql的cacti数据库,SELECT * FROM poller_item p;

在结果里查找有行为none的数据,然后在rrd_pach列里,可以找到这些垃圾data sources,然后通过cacti WEB界面将其删除。

 

 


 

 
阅读(2482) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~