首页 > 数据库 >KingbaseES V8R3数据库运维案例之---不完整的启动包(incomplete startup packet)复现

KingbaseES V8R3数据库运维案例之---不完整的启动包(incomplete startup packet)复现

时间:2023-01-11 20:34:32浏览次数:45  
标签:V8R3 运维 数据库 startup packet client 日志 incomplete

案例说明:
在KingbaseES V8R3数据库的sys_log日志中,出现以下故障信息“不完整的启动包(incomplete startup packet)”日志信息。本案例复现此日志信息发生的原因。
如下图所示,日志信息:

适用版本:
KingbaseES V8R3

1、查询PostgreSQL官方文档
In PostgreSQL, for each client connection request to Postmaster (listens on port 5432 by default), a backend process will be created.It then processes the startup packet from the client. Refer to src/backend/postmaster/postmaster.c for the source code.
Each client connection request is expected to send a startup message to the PostgreSQL server, and this information in the startup packet is used for setting up the backend process. But there are many more things happening when we deploy PostgreSQL in a datacenter. There could be different monitoring solutions, security scanners, port scanners, HA Solutions, etc hitting on PostgreSQL Port 5432.
PostgreSQL starts processing these incoming connections for establishing a client-server communication channel. But many of these tools may have a different intention and won’t be participating in a good client-server protocol.
Historically, PostgreSQL generates a log entry for each of these suspected/bad hits. This can result in log files growing to a huge size and can cause unwanted log-related IO.
收到到客户端连接请求,等待client startup package,但是不同的客户端连接目的不同(有的只是看看远端数据库端口是否联通),不会发送startup报文给数据库,这种情况下,PG12以前的版本,数据库就会打印incomplete startup packet错误日志。
PostgreSQL 12 不再打印某些监控探测数据库是否存活导致的日志。(incomplete startup packet)
从以上文档来看,“incomplete startup packet”日志信息是和客户端访问数据库服务器的访问连接有关系。

2、复现日志信息
通过系统工具nc执行对数据库端口(54321)的TCP扫描:

#测试脚本:
[kingbase@node101 ~]$ cat nc.sh
#!/bin/bash

for i in {1..100}; do
     nc -zv localhost 54321 ;
done

执行脚本:

如下所示,client没有向Server端发送数据包。

查看数据库sys_log日志:

---如上图所示,在sys_log日志中出现了“incomplete startup packet”的日志信息,client向Server端(数据库服务器)发送连接的请求,Server端收到client的request,但是client没有发送startup packet包,在Server端的日志信息就会显示“incomplete startup packet”。
如下图所示libpq的通讯流程图:

3、总结
1、对于“incomplete startup packet”日志信息,和数据库启动无关,只是与client和server的通讯有关。
2、此日志信息在Kingbase V8R3版本数据库中会出现,在KingbaseES V8R6数据库中一般已经不再记录此类型日志。

标签:V8R3,运维,数据库,startup,packet,client,日志,incomplete
From: https://www.cnblogs.com/kingbase/p/16880671.html

相关文章

  • percona-toolkit运维工具
    参考MySQL基础运维——percona-toolkit运维工具_ITPUB博客一、percona-toolkit工具percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦......
  • KingbaseES V8R6运维案例之---普通表toast表故障修复
    案例说明:数据库在日常的维护过程中,在执行表查询(select),如下图所示,出现“couldnotreadblock0infile"base/16385/16408":readonly512of8192bytes”故障,通过对“......
  • 生产数据新增子表(用于保存历史数据)解决方案 ,含数据运维
    先说需求,可以简化为学生提交作业的一个需求,之前是学生提交作业->老师评价作业,每个学生每个作业只会有一条数据,学生再次提交是去更新他的作业现在需要改成 学生提交作业->......
  • 运维基础
    阿里云镜像:https://developer.aliyun.com/mirror/centos上有很多第三方的软件,yum需要安装epel源,才能进行下载#查看进程ps-ef#查看端口netstat-tunlp#CURLlinux......
  • jenkins 运维管理及备份恢复
    一、运维管理二、备份恢复系统管理->系统配置  cpconfig.xml/usr/local/jenkinsbf/cp-rjobs/usr/local/jenkinsbf/cp-rusers/usr/local/jenkinsbf......
  • K8S 三种探针 ReadinessProbe、LivenessProbe和StartupProbe 之探索
    事件背景因为k8s中采用大量的异步机制、以及多种对象关系设计上的解耦,当应用实例数增加/删除、或者应用版本发生变化触发滚动升级时,系统并不能保证应用相关的service......
  • 网络运维实用小工具
    常用工具一:tcping.exe我们需要测试tcp端口,ping命令虽然好用,但​不能测试端口,因为ping基于ICMP协议,属于IP层协议,所以无法测试传输层的TCP/UDP端口。1、WIN+R按键,输入CMD打开......
  • 无监控,不运维!深入浅出介绍ChengYing监控设计和使用
    监控系统俗称「第三只眼」,几乎是我们每天都会打交道的系统,它也一直是IT系统中的核心组成部分,负责问题的发现以及辅助性的定位。ChengYing作为一站式全自动化全生命周期大......
  • Linux运维笔记[9]-磁盘管理
    RAID简介[https://zhuanlan.zhihu.com/p/356299159][https://www.cnblogs.com/qi-yuan/p/11735525.html]磁盘阵列(RedundantArraysofIndependentDisks,RAID),有“独立磁......
  • sysAK(青囊)系统运维工具集:如何实现高效自动化运维?
    系统运维SIG已在龙蜥社区建立SIG组。目前sysAK工具集已经在龙蜥社区开源,并且在系统运维SIG、跟踪诊断SIG一起共建,希望大家后期加入SIG一起讨论共建。本文将从技......