监控告警处理之tidb_server_critical_error_total

当监控面板中tidb_server_critical_error_total指标不为0时,可能表示binlog写入失败,影响下游同步。文章介绍了如何通过设置binlog.ignore-error参数、处理不同同步情况(如任务取消、文件同步异常、灾备同步异常)以及应对磁盘空间和大事务问题来解决问题。此外,skip的binlog中的DDL可能导致Drainer异常重启。
摘要由CSDN通过智能技术生成

作者: Soysauce520 原文来源: https://tidb.net/blog/7b595188

背景:

    **监控面板中tidb\_server\_critical\_error\_total不为0,存在其它数值,表明binlog写入失败,会影响下游系统同步,需要修正。**

一、原理分析

官方文档binlog.ignor-error介绍

image.png

  **实际使用中,在使用pump、drainer组件往下游同步数据的时候,我们为保护主库运行,把binlog.ignore-error参数开启,避免因binlog写入失败导致tidb主集群处于不可用状态。**

题外话: 不要拉踩 ,Oracle DataGuard是通过archive模式进行同步的,存在一个归档空间满,主库hang住的情况。相较于Oracle,tidb多了一个选择,可以丢弃归档日志保障主库业务的连续性,不保证下游数据和上游数据一致性。

二、现象

2.1 监控位置:Tidb---->server---->skip binlog count

image.png

2.2 curl http://127.0.0.1:10080/info/all

image.png

2.3 查看binlog_status 状态,此时一般为 skipping

三、 处理方式

考虑下游同步的三种情况,分别处理

情况一:同步任务取消

不再需要将数据同步到某个下游,所以下线对应的 Pump\Drainer。

  1. 编辑集群配置文件

tiup cluster edit-config {cluster_name}

  1. 打开集群配置文件,在server_config下,tidb下添加或修改配置

binlog.enable: false

  1. 滚动重启tidb-server

tiup cluster reload {cluster_name} -R tidb

  1. 执行命令

mysql -uroot -h {host} -P {port} -p {passwd} -e "SHOW CONFIG WHERE type ='tidb' and name like 'binlog%'"

验证两指标binlog.enable和binlog.ignore-error的状态为true

情况二:文件同步任务异常

drainer同步方式为file文件,下游读取文件异常。

修复过程(二选一):

  1. 使用 tidb-server 的 API,然后尽快安排重新全备。

在tidb服务器上对binlog进行recover,

curl http://{TiDBIP}:10080/binlog/recover

image.png

  1. 重启 tidb-server,然后尽快安排重新全备。

情况三:灾备同步任务异常,官方文档

drainer同步方式为binlog文件,灾备中备库数据异常。

image.png

恢复后查看监控checkpoint是否变化,若变化则正常。

四、skip binlog出现的常见情况

3.1 pump磁盘空间满了

导数时需要注意日志空间,同时需要关注pump中stop-write-at-available-space参数,默认为10G。有可能不是空间满,而是pump参数设置不合理导致。

image.png

3.2 大事物超过grpc限制

引用官档

image.png

五、延伸问题

skip的binlog如果存在ddl,会导致drainer异常重启,报错 not found table id

社区案例: https://asktug.com/t/topic/575578/1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值