解决Zabbix添加/克隆主机SQL报错问题

1、 通常是出现在删除某个监控主机,然后重新添加回来,数据库关联的外键没有删除干净;2、 数据库架构问题,例如高可用的主主架构,如果某些事项不注意,例如每个系统时间不同步,会导致数据写入延迟或出错;3、 zabbix在运行一段时间后,由于默认的自增长等外键大小限制问题。
解决方法:
1、 搭建NTP同步时间服务器,设置定时任务,每个多久执行一次时间同步,教程请参考以下链接:
2、 当出现添加/克隆 [10.127.3.4XXXXX]主机失败。错误信息(SQL statement execution has failed “INSERT INTO XXXX”)等类似的问题,可以通过update语句把报错的表的有关联外键xxxid的字段更新。
举例:
如图一下所示,当出现 INSERT INTO items …… Duplicae entry ‘69263’ for key ‘PRIMARY’,意思是和某个对象的itemid重复了,很多的表是通过itemsitemid字段关联的,也就是外键;
D4fKc0GC62f0bfa98f019.png
解决办法,登录数据库执行下面的update语句即可:
UPDATE ids set nextid=(select max(itemid) from items) where  table_name=”items”;
    图二是执行图一的SQL后,添加主机的报错,这里也是通过triggerid 关联的,因为在删除主机的时候,没有删除干净,再添加时,触发器不能创建。执行下面的语句即可:
    UPDATE ids set nextid=(select max(triggerid) from triggers) where  table_name=”triggers”;
图二
jVKnFZTJ62f0bfafd38e0.png
同理,出现图三的问题,SQL statement execution had failed “INSERT INTO item_discovery ……”这里的itemid是和itemsitemid关联的,也是执行update语句:
UPDATE ids set nextid=(select max(itemid) from item_discovery) where  table_name=”item_discovery”;
图三
XmUWF1yB62f0bfb7de847.png
总之,如果有其他的表也报错,也是执行相应的update语句,根据报错提示,update相关的表的xxxid字段即可。
技术交流欢迎加入Q群:177428068

0 条评论

请先 登录 后评论
乐维君
乐维君

344 篇文章

作家榜 »

  1. 乐维君 344 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 我是一只小菜鸡 12 文章
  5. 细雨闲花 11 文章
  6. 御前侍卫张五哥 9 文章
  7. 。。。 8 文章
  8. 小黄人 8 文章