故障描述

今天线上zabbix出现几次数据中断的情况,经排查为DB服务器磁盘空间不足导致的。还好我们目前我们zabbix,falcon两套监控系统并存,哈哈。

故障排查过程没什么技术含量,简单的将故障处理过程记录一下~

1,开始收到DB磁盘空间不足的告警(falcon),DBA查看后表示剩余磁盘大,磁盘空间还有一百多G,没啥问题。

2,十几分钟刚好有业务线在查看监控数据,发现监控数据中断了,把问题报到我们这边。

3,开始着手排查:查看Zabbix Server进程都是OK存在的,端口监听也都没有问题;检查日志发下大量的query failed报错,报错信息如下:

48102:20170324:200108.112 [Z3005] query failed: [1030] Got error 28 from storage engine [insert into history (itemid,clock,ns,value) values (1288566,1490315706,484955330,0.000000),(1287666,1490315706,516539194,0.000000),(1116846,1490315706,517255643,0.230000),(1306326,1490315706,519850399,99.910019),(761887,1490315707,652732960,0.000000),(762427,1490315707,654663788,0.010000),(943207,1490315707,655098203,99.966644),(943567,1490315707,655193288,97.071841),(762367,1490315707,655228276,0.000000),(943147,1490315707,655652053,0.000000);
]

4,上述报错中的关键信息就是“query failed: [1030] Got error 28 from storage engine”,数据在插入DB的时候出问题,赶紧将问题报给DBA进行查看。发现连接数已经几乎没有了。

5,同时google了下,查到这个报错的原因:

Mysql error "28 from storage engine" - means "not enough disk space".

DBA查看之后,发现磁盘空间还有109GB。  

6,尽管空间还有很多,但是日志输出是不会骗人的,赶紧删除可以删除的binlog、历史数据等来腾地儿喽~

7,果然,zabbix server在DB这边的磁盘空间清理之后恢复了写入。

参考链接:

http://stackoverflow.com/questions/10631387/1030-got-error-28-from-storage-engine

https://www.zabbix.com/forum/showthread.php?t=4203

关于故障期间的数据丢失,我们可以通过将zabbix server的日志中插入失败的SQL进行解析,重新写入即可。

后记

此处的故障是解决了,但是我们不该仅仅停留在担当救火队员的角色,我们还应该更深入的分析问题原因,利用技术、非技术的手段来杜绝这样的问题再次发生:

  1. 故障时在磁盘空间占用超过95%之后才出现的问题,因此合理推断在某处有一个门限值的配置,而95%恰巧就是那个门限值,此处暂时将推断留在此处,后面验证之后,我会把排查结果更新在这里
  2. 应该有监控手段来cover类似此处DB写入的状态
  3. 日志监控应该尽快落实、推广,将这些zabbix server等平台的日志进行采集和告警

DB磁盘满导致Zabbix Server Crash一例的更多相关文章

  1. RDS数据库磁盘满导致实例锁定

    问题描述: 阿里云RDS空间不足,进行报警.收到报警后.对数据库中不重要的数据备份后执行delete删除操作.执行成功后发现数据删掉了.但是数据库的空间并没有释放.数据占用空间反而越来越大,最后RDS ...

  2. 技术分享 | MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 在MGR测试中,人为制造磁盘满问题后,节点被oom killed 问题描述 在对 ...

  3. 在线程内关闭thread handle,导致server crash

    很多年以前了,那时tester发现一个server crash,通过测试pager功能很多次,可以把server搞崩溃. 一般来说,能再现的bug都不难改,不过这次因为要跑很多次test,才能再现cr ...

  4. Web服务器磁盘满故障

    问题: 硬盘显示被写满,但是用du -sh /*查看时占用硬盘空间之和还远小于硬盘大小,即找不到硬盘分区是怎么被写满的.今天下午接到同事紧急求助,说生产线服务器硬盘满了.该删的日志都删掉了.可空间还是 ...

  5. (转)Web服务器磁盘满故障深入解析

    Web服务器磁盘满故障深入解析 原文:http://blog.51cto.com/oldboy/612351 ############################################# ...

  6. 阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

    阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例 阿里云技术支持:完颜镇江 问题现象: 磁盘空间满了,第一想到的就是删除无用的服务日志或者升级数据盘. 通常是使用du –sh去分析目录 ...

  7. Zabbix监控之迁移zabbix server

    abbix监控中有时会根据需要对zabbix服务器进行迁移,zabbix迁移是非常简单的,因为zabbix的前端所有的操作都存在zabbix数据库里.所以zabbix迁移只需对zabbix库中相应的表 ...

  8. zabbix server+agent+proxy搭建性能监控平台

    这是新找到了配置文件配置方法但未尝试 每个模块工作职责: Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行: Database Sto ...

  9. Zabbix3.2下Template App Zabbix Server+Template OS Linux Item

    序号 Name Key 返回值 释义1 Agent ping agent.ping 1 就是ping一下2 Avaliable memory vm.memory.size[available] 563 ...

随机推荐

  1. 【windows】窗口锁定状态如何关机

    在锁定界面下方有一个——切换用户,点击,过一会右下角就有一个红色的圆圈,就可以关机了.

  2. Cisco Packet Tracer中两台电脑通信设置

    Cisco Packet Tracer是网络初学者仿真模拟网络环境的必备工具.今天我们来模拟下两台电脑之间的通信. Cisco Packet Tracer版本6.2.0 一.添加设备 1.这里添加一个 ...

  3. 自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】

    在centos6.6上安装apache2.4+php5.6+mysql5.6 关于wget的安装 将之前装系统的.iso文件挂载到光驱 由于我在/home/jinnan/下建立了一个cdrom文件夹 ...

  4. krkr基础篇(一)

    krkr基础篇是我根据krkr的官方教程总结而来 推荐代替记事本的工具:editplus,点我下载 激活码:Vovan 3AG46-JJ48E-CEACC-8E6EW-ECUAW 一:创建新工程 1: ...

  5. alibaba/canal 阿里巴巴 mysql 数据库 binlog 增量订阅&消费组件

    基于日志增量订阅&消费支持的业务: 数据库镜像 数据库实时备份 多级索引 (卖家和买家各自分库索引) search build 业务cache刷新 价格变化等重要业务消息 项目介绍 名称:ca ...

  6. 工程能力之C4模型

    概述 刚在InfoQ上看到一篇介绍C4Model的文章,觉得这个模型设计的很赞,很有指导意义,做个简单的记录. Why,为什么需要架构图? ThoughtWorks中国 文章中有几句话我觉得很有道理, ...

  7. python3.6环境中django2.0与xadmin0.6结合的后台管理

    1.xadmin简介 django的admin管理后台页面很简洁,对个人来说做后台管理非常简单:xadmin的比较admin优化界面,看着也舒服. xadmin界面效果如下: 2.xadmin安装 从 ...

  8. Tomcat ngxin 反向代理

    tomcat nginx 反向代理 安装nginx yum直接安装 yum install nginx –y 也可以编译安装 这是用编译安装,新手可以用yum安装 配置文件在 /etc/nginx/c ...

  9. ES6----Proxy(一)

    Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程. 听起来好像很绕,可以简单这样理解,Proxy相当于 ...

  10. It isn't possible to write into a document from an asynchronously-loaded

    It isn't possible to write into a document from an asynchronously-loaded   今天遇到了一个问题: 通过document.wri ...