首页 > 其他分享 >监控告警处理之tidb_server_critical_error_total

监控告警处理之tidb_server_critical_error_total

时间:2023-05-03 10:33:06浏览次数:42  
标签:binlog 同步 error server pump critical tidb

作者: Soysauce520



背景:

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



一、原理分析



官方文档binlog.ignor-error介绍

监控告警处理之tidb_server_critical_error_total_重启

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

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



二、现象



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



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

监控告警处理之tidb_server_critical_error_total_数据_02



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

监控告警处理之tidb_server_critical_error_total_配置文件_03

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

 



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

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

监控告警处理之tidb_server_critical_error_total_重启_04

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



四、skip binlog出现的常见情况



3.1 pump磁盘空间满了

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

监控告警处理之tidb_server_critical_error_total_配置文件_05



3.2 大事物超过grpc限制

引用官档

监控告警处理之tidb_server_critical_error_total_重启_06



五、延伸问题

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

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


标签:binlog,同步,error,server,pump,critical,tidb
From: https://blog.51cto.com/u_15550868/6241110

相关文章

  • cublas runtime error : the GPU program failed to execute 报错
    情景在使用pytorch1.0和RTX3060Laptop训练GIN的时候出现了这个错误原因pytorch1.0对应的cuda10.0版本太低了,不支持新的GPU架构解决最终使用了更新版本的pytorch......
  • 常见问题——关于.net WebApi使用Swagger报错:HTTP Error 403.14 - Forbidden
    问题:.netWebApi项目使用Swagger报错:HTTPError403.14-Forbidden解放方案:换一个端口即可推荐——删除解决方案下的.vs文件夹,重新生成即可参考:https://stackoverflow.com/questions/34970088/swagger-gives-me-http-error-403-14-forbidden/53863456......
  • go krotos proto编译引用外部包 was not found or had errors
    前言kratosprotos生成pb.go文件时,会出现引用其他proto文件报错wasnotfoundorhaderrors,因找不到此文件而无法编译。解决首先我们先了解下protoc中import的两条规则:import不允许使用相对路径;import导入路径应该从根开始的绝对路径这个根开始的绝对路径指......
  • [网络安全]Less-1 GET - Error based - Single quotes - String:基于错误的GET单引号
    判断注入类型GET1and1=2仍有正常回显,说明该漏洞类型不是数字型注入。GET1'and'1'='2没有回显,说明该漏洞类型为字符型注入。判断注入点个数GETid=1'orderby4--+回显UnknownGETid=1'orderby3--+回显如下:说明注入点个数为3个即可构造语句如下-1'unionselect......
  • C#开发 B/S架构的实验室管理系统 云LIS系统(MVC + SQLserver + Redis)
    一、云LIS系统是将各种样本、免疫、临检、放免、及实验用的分析仪器,通过网络管理和传输实验分析过程中全部数据。对每一专业,实现检验申请、样本采集、样本核收、联机检验、质量控制、报告审核到报告发布的全环节的信息化管理平台。二、基于B/S架构的云LIS系统,整个系统的运行基于WE......
  • Java 网络编程 —— ServerSocket 详解
    构造ServerSocketServerSocket的构造方法有以下几种重载形式ServerSocket()throwsIOExceptionServerSocket(intport)throwsIOExceptionServerSocket(intport,intbacklog)throwsIOExceptionServerSocket(intport,intbacklog,InetAddressbindAddr)throwsIOE......
  • mysql在删索引时报错ERROR 1075
    问题描述:mysql在删索引时报错ERROR1075,如下所示:数据库:mysql8.0.11系统:centos7.91、问题重现createtabletest_table1(idint(11)notnullauto_increment,namechar(100)notnull,addresschar(100),descriptionchar(100),uniqueindexuniqidx(id),indexmultic......
  • code-server
    Usagecat>docker-compose.yml<<-'EOF'#https://hub.docker.com/r/linuxserver/code-server#Port:8443version:"3"services:code-server:image:linuxserver/code-serverenvironment:-UMASK=022-PASSW......
  • Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple ERROR: Could not fi
    命令行输入:pipinstallmediapipe报错:Lookinginindexes:https://pypi.tuna.tsinghua.edu.cn/simpleERROR:Couldnotfindaversionthatsatisfiestherequirementmediapipe(fromversions:none)ERROR:Nomatchingdistributionfoundformediapipe查看了网......
  • keil中error: #5: cannot open source input file “xxxxx“: No such file or direct
    error:#5:cannotopensourceinputfile“xxx.h“:Nosuchfileordirectory一般是.h没有添加到项目中。将包含.h文件或文件夹添加进去即可 ......