当前位置: 首页 > news >正文

Envoy网关实例异常重启排查总结

一、事件背景

于10月24日凌晨业务租户有业务应用发版上线,中午收到pod连续5分钟重启严重告警,登录管理节点查看异常重启的应用网关pod日志,存在内核段错误报错信息导致进程终止并触发监控检查异常并重启;

该报错主要是访问的内存超出了系统所给这个程序的内存空间

反馈给三线结论是: 运行面集群istiod镜像版本(1015)与应用网关镜像版本(830)存在不兼容的问题,需要将版本同步一致,该报错也是偶发导致。

10月27日凌晨进行生产变更,配合业务租户升级网关实例镜像版本至1015后验证业务正常。期间至11月6日,业务网关正常运行,无异常重启现象。

11月7日凌晨业务租户有应用发版上线后出现网关自动重启现象。

二、相关版本信息

版本:1015)

系统:BC Linux  21.10

Envoy镜像:ms_proxyv2:22.03.01

三、故障现象

11月7日凌晨业务租户有应用发版上线

11月7日早上又出现电渠应用网关实例pod连续5分钟重启严重告警,业务迅速切走生产流量,业务流量切走后,网关实例再无重启现象。

四、故障分析

4.1问题复现

###确认租户发现异常及时切走业务流量不会影响业务后,申请切入磐基部分生产业务流量

切入流量后,10个网关实例开始陆续发生重启现象,业务侧反馈前台无异常,继续排查异常网关日志。

核查网关重启前日志

kubectl  logs  -p  -n namespace 网关pod

4.2问题排查

核查所有重启网关实例前日志,发现规律,网关重启前访问url都是h5-web应用的请求,初步定位是该应用导致网关实例重启,将请求url反馈给业务同事分析,因为该业务网关同时承载其他电渠业务,其他业务调用网关正常,排除网关问题。

抽一个url解析,应用侧反馈为h5-web应用图片上传业务有关,http请求body为图片base64转码内容

4.3问题分析定位

问题定位

经过业务侧确认,该业务前端未限制上传图片大小。

三线同事反馈:因网关为7层协议,会解析应用的url请求,请求body超过默认大小会造成异常,和日志报错大小有关。

五、解决办法

新增配置envoy网关路由规则调大http请求body大小,需和业务侧确认,业务侧需要上传http包体的最大值。

新疆电子渠道网关配置规则调大到10485760后网关实例再无重启现象,问题解决。

##可在线执行不用重启网关实例。

Kubectl   create  -f  dzqd-trunk-envoyfilter.yaml

##yaml配置说明:

需要修改4处

  1. {istio-ingressgateway-name}替换为网关名
  2. {istio-ingressgateway-ns}替换为网关实例所属namespace
  3. labels:下新增网关实例标签根据实际情况添加,选取网关实例labels,例如

labels:

  app=dzqd-test-envoy

  1.  {max-body-size} 替换为设置http请求body大小上限,默认为1048576,单位byte

apiVersion: networking.istio.io/v1alpha3

kind: EnvoyFilter

metadata:

  name: {istio-ingressgateway-name}

  namespace: {istio-ingressgateway-ns}

spec:

  workloadSelector:

labels:

  configPatches:

  - applyTo: HTTP_FILTER

    match:

      context: GATEWAY

      listener:

        filterChain:

          filter:

            name: envoy.filters.network.http_connection_manager

    patch:

      operation: INSERT_BEFORE

      value:

        name: envoy.filters.http.buffer

        typed_config:

          '@type': type.googleapis.com/udpa.type.v1.TypedStruct

          value:

            maxRequestBytes: {max-body-size}

5.1问题测试延伸

三线反馈磐基2.0-v2022.03.02(1220)及之后版本,支持租户在创建网关时自定义配置max-body-size大小。

后续测试验证:

1220测试环境新建网关测试验证,新建网关crm-test-envoy

配置最大文件值参数10485760,网关创建成功后,自动新建对应的EnvoyFilter资源

六、总结与建议

1、使用磐基网关的业务要重点关注此版本排查有无此隐患;

2、在每个项目交付前,与业务侧沟通:业务侧需要上传http包体的最大尺寸,并进行配置,避免出现此类问题;

3、重要业务的网关实例日志要配置定时任务采集,落在主机节点本地,有问题方便排查。

附例子

[root@srbz-gs-gsyt-b-27-61 srbz]# crontab  -l | tail -2

#网关日志收集

5 *  * * * /bin/bash /root/wg.logs/srbz/srbz.sh >/dev/null 2>&1

[root@srbz-gs-gsyt-b-27-61 srbz]# cat srbz.sh

kubectl logs -n srbz-gs-gsyt-admin srbz-gs-gsyt-gw1-xntr2 --since=5m  | grep -V   'HTTP/1.1" 200'  >>/root/wg.logs/srbz/srbz.log

[root@srbz-gs-gsyt-b-27-61 srbz]#

相关文章:

Envoy网关实例异常重启排查总结

一、事件背景 于10月24日凌晨业务租户有业务应用发版上线,中午收到pod连续5分钟重启严重告警,登录管理节点查看异常重启的应用网关pod日志,存在内核段错误报错信息导致进程终止并触发监控检查异常并重启; 该报错主要是访问的内存超出了系统…...

WinForm真入门(13)——ListBox控件详解

WinForm ListBox 详解与案例 一、核心概念 ‌ListBox‌ 是 Windows 窗体中用于展示可滚动列表项的控件,支持单选或多选操作,适用于需要用户从固定数据集中选择一项或多项的场景‌。 二、核心属性 属性说明‌Items‌管理列表项的集合,支持动…...

【Linux网络编程】UDP Echo Server的实现

本文专栏:Linux网络编程 目录 一,Socket编程基础 1,IP地址和端口号 端口号划分范围 理解端口号和进程ID 源端口号和目的端口号 理解Socket 2,传输层的典型代表 3,网络字节序 4,Socket编程接口 s…...

8.3.5 ToolStripContainer(工具栏容器)控件

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 ToolStripContainer控件是一个容器,可以包含菜单和工具条、状态栏。 在设计窗体中放入一个ToolStripContainer&#xff1…...

代码随想录-06-二叉树-05.05 N叉树的层序遍历

N叉树的层序遍历 #模板题 题目描述 给定一个 N 叉树,返回其节点值的_层序遍历_。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 具体思路 …...

【NEPVR】《A Lightweight Palm Vein Recognition Algorithm NEPVR》

[1]马莉,刘子良,谭振林,等.一种轻量级掌静脉识别算法NEPVR[J].计算机技术与发展,2024,34(12):213-220.DOI:10.20165/j.cnki.ISSN1673-629X.2024.0248. 文章目录 1、背景2、相关工作3、创新点4、NEPVR 手掌静脉识别算法5、实验结果及分析6、总结 / 未来工作 1、背景 手掌静脉独…...

牟乃夏《ArcGIS Engine地理信息系统开发教程》学习笔记1

(适合GIS开发入门者,通俗解析核心知识点) 目录 一、ArcGIS Engine是什么? 二、ArcGIS Engine能做什么? 三、ArcGIS Engine与ArcObjects的区别 四、开发资源与学习路径 五、对象模型图(OMD)…...

架构师论文《论模型驱动软件开发方法在智能制造转型实践中的应用》

摘要: 本人现任某大型装备制造企业智能制造研究院首席架构师,主导集团级数字化工厂平台建设。面对多品种小批量生产模式下普遍存在的交付周期超预期(平均延期21天)、设备综合效率OEE不足65%的痛点,我司于2021年启动基…...

探索MCP.so:AI生态的创新枢纽

今天在研究MCP时发现了一个还不错的网站,分享给大家。后续会基于这些mcp servers做一些有趣的应用。 在人工智能飞速发展的当下,AI与各类工具、数据源的协同合作变得愈发关键。MCP.so这个平台,正悄然成为AI领域的重要枢纽,为众多开发者和AI爱好者打开了新的大门。 MCP,即…...

JVM底层详解

JVM底层详解 目录 JVM概述JVM内存模型垃圾回收机制类加载过程JIT编译JVM调优JVM监控与故障排查JVM与多线程JVM与性能优化JVM发展历程与未来JVM实战案例分析JVM高级特性JVM安全机制JVM与容器化 一、JVM概述 1.1 什么是JVM Java虚拟机(Java Virtual Machine&…...

多点:分布式升级助力新零售转型,成本节省超80% | OceanBase 案例

本文作者:多点数据库DBA团队 编者按:多点是零售行业数字(智)化的先行者,为全球企业提供创新的数字化解决方案。然而,在数字化转型的过程中,多点原有的数据库架构逐渐暴露出架构复杂、成本上升等…...

Java权限修饰符深度解析

Java权限修饰符深度解析与最佳实践 一、权限修饰符总览 Java提供四种访问控制修饰符,按访问范围从宽到窄排序如下: 修饰符类内部同包类不同包子类全局范围public✔️✔️✔️✔️protected✔️✔️✔️❌默认(无)✔️✔️❌❌pr…...

RocketMQ和kafka 的区别

一、数据可靠性与容错机制 数据可靠性 RocketMQ支持同步刷盘和同步复制,确保消息写入磁盘后才返回确认,单机可靠性高达10个9,即使操作系统崩溃也不会丢失数据159。而Kafka默认采用异步刷盘和异步复制,虽然吞吐量高,但极…...

分布式限流器框架 eval-rate-limiter

分布式限流器框架 eval-rate-limiter 文章目录 分布式限流器框架 eval-rate-limiter前言设计流程图 核心方法tryAcquire 获取通信证增加访问次数 incrementRequestCount生成分布式 key generateRateLimiterKey 测试测试代码结果Redis 客户端 前言 基于 redis 实现的分布式限流…...

使用Docker部署Java项目的完整指南

前言 Docker是一个轻量级的容器化平台,可将应用及其依赖打包成标准化单元,实现快速部署和环境隔离。本文以Spring Boot项目为例,演示如何通过Dockerfile部署Java应用。 准备工作 本地环境 安装Docker Desktop(官网下载&#xff0…...

机器学习数据需求与应用分析

监督学习、无监督学习和强化学习作为机器学习的核心范式,对数据条件的需求存在显著差异。以下是具体分析: 一、监督学习的数据条件 数据要求 监督学习需要带标签(labeled)的数据集,即每个输入样本都有对应的目标输出&a…...

【机器学习算法】基于python商品销量数据分析大屏可视化预测系统(完整系统源码+数据库+开发笔记+详细启动教程)✅

目录 一、项目背景 二、技术思路 三、算法介绍 四、项目创新点 五、开发技术介绍 六、项目展示 一、项目背景 本项目基于Python技术栈构建了"商品销量数据分析与预测系统",通过自动化爬取淘宝商品多维数据(价格、销量、评价、品类等&a…...

springboot集成springcloud vault读值示例

接上三篇 Vault---机密信息管理工具安装及常用示例 Vault机密管理工具集群配置示例 vault签发根证书、中间证书、ca证书流程记录 项目里打算把所有密码都放到vault里管理,vault提供了springcloud vault用来在springboot里连接vault,启动加载vault里的值放…...

BERT 模型是什么

BERT 模型是什么? BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer架构的深度学习模型,由Google于2018年提出。它在自然语言处理领域取得了显著成就,成为众多NLP任务的基础。 …...

三元电池正极材料除杂工艺介绍

三元电池正极材料的除杂工艺对于提高电池性能、安全性和稳定性至关重要。以下是对三元电池正极材料除杂工艺的详细介绍: 物理除杂工艺 磁选 原理:利用磁场对磁性杂质的吸引作用实现分离。在三元电池正极材料生产中,常混入铁、钴、镍等磁性金…...

wx212基于ssm+vue+uniapp的科创微应用平台小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...

Multi Agents Collaboration OS:数据与知识协同构建数据工作流自动化

1-背景 传统数据系统与业务数字化的开发与维护面临诸多挑战:行业知识获取壁垒高、需求变化快导致开发周期长、系统复杂度高以及人力与资源投入成本巨大。同时,用户在使用过程中也常遇到痛点:手动录入数据繁琐低效、数据分散于各模块难以整合…...

elemenPlus中,如何去掉el-input中 文本域 textarea自带的边框和角标

1、去掉角标 :deep(.el-textarea__inner) {resize: none !important; // 去除右下角图标 }2、去除边框&#xff0c;并自定义背景色 <el-inputref"textareaRef"v-model"tempContent":style"{--el-border-color: rgba(255,255,255,0.0),--el-input-…...

Excel 动态比较两列数据:实现灵活的数据验证

目录 动态比较两列数据的需求动态公式的实现使用INDIRECT和ROW函数公式解释应用 动态公式的优点 快速添加一列公式的技巧使用快捷键Ctrl D使用VBA宏自动化使用“表格”功能自动填充 实际应用场景数据验证动态报告数据清洗 注意事项总结 在数据处理和分析中&#xff0c;Excel 是…...

谷歌推出可免费使用的Firebase Studio:Gemini全栈AI开发利器

谷歌刚刚发布了Firebase Studio,这是其打造的一款沉浸式代码开发平台,旨在与Cursor、Lovable、Bolt和V0等工具竞争。如果你是一名网页开发者,可能只知道Firebase是谷歌的数据库工具。 但现在,它已远不止于此。 Firebase已发展成一个完整的生态系统,如今能帮助你从头到尾…...

spark(二)

本节课接上节课继续对于RDD进行学习&#xff0c;首先是对于创建RDD的不同方式&#xff0c;接着学习了RDD的三种转换算子&#xff1a;Value类型、双Value类型、Key-Value类型&#xff0c;以及各个转换算子的不同使用方式。 学习到如下的区别&#xff1a; map 与 mapPartitions…...

Fay 数字人部署环境需求

D:\ai\Fay>python main.py pygame 2.6.1 (SDL 2.28.4, Python 3.11.9) Hello from the pygame community. https://www.pygame.org/contribute.html [2025-04-11 00:10:16.7][系统] 注册命令... [2025-04-11 00:10:16.8][系统] restart 重启服务 [2025-04-11 00:10:16.8][…...

【Harmony】端云一体化(云函数)

一、云函数的概述 1、什么是云函数 官方解释 云函数是一项Serverless计算服务&#xff0c;提供FaaS&#xff08;Function as a Service&#xff09;能力&#xff0c;一方面云函数将开发测试的对象聚焦到函数级别&#xff0c;可以帮助您大幅简化应用开发与运维相关的事务&…...

利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案

以下是一个利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案: 方案流程 数据读取:从 Excel 文件中读取数据。文本向量化:使用大模型将文本数据转换为向量表示。聚类分析:运用聚类算法对向量进行分组,将相似度高的数据归为…...

通过远程桌面连接wsl2中安装的ubuntu24.04

要介绍的这种方式其实跟直接用wsl来执行命令差不多&#xff0c;是在终端去操作ubuntu。WSL2 默认只提供命令行界面&#xff0c;本文安装xrdp后通过windows远程桌面连接过去。 1、更新软件包列表 sudo apt update 确保你的软件包列表是最新的&#xff0c;否则可能找不到某些包…...

对接和使用国内稳定无水印的 Suno API

随着 AI 的应用日益广泛&#xff0c;各种 AI 程序已经融入我们的日常生活。从最早的写作&#xff0c;到医疗、教育&#xff0c;如今甚至扩展到了音乐领域。 Suno 是一个专注于高质量 AI 歌曲和音乐创作的平台。用户只需输入简单的文本提示词&#xff0c;便可以按照流派风格和歌…...

LeetCode算法题(Go语言实现)_38

我将按照您提供的文档结构为您整理二叉树最近公共祖先&#xff08;LCA&#xff09;问题的解决方案&#xff1a; 一、代码实现 type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode }func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {if root nil ||…...

Linux学习笔记 1

1.发展史 略...... 2.xshell的使用方法 2.1登录 ssh root公网地址 输入密码&#xff0c;用 uname -r 指令来鉴定是否登录成功。之后就可以进行命令行操作了。 alt enter 全屏、退出 设置多用户指令&#xff0c;新建用户 adduser 名字 passwd 密码 销毁用户&#xf…...

微信小程序跳4

formatMillisecondsTime: function(milliseconds, formatStr) { // 创建一个新的Date对象&#xff0c;传入毫秒值 const date new Date(milliseconds); // 获取年月日时分秒&#xff0c;并确保它们都是两位数 const year date.getFullYear(); const month (date.getMonth() …...

STM32单片机入门学习——第31节: [10-1] I2C通信协议

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难&#xff0c;但我还是想去做&#xff01; 本文写于&#xff1a;2025.04.10 STM32开发板学习——第31节: [10-1] I2C通信协议 前言开发板说明引用解答和科普一…...

OpenCV 图形API(24)图像滤波-----双边滤波函数bilateralFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 应用双边滤波到图像。 该函数对输入图像应用双边滤波&#xff0c;如 http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Fil…...

【图像处理基石】什么是影调?并用python实现一个哈苏色彩影调

影调是摄影语言的核心&#xff0c;通过控制明暗、虚实与色彩&#xff0c;可精准传达创作意图。实际选择需结合主题情感、光线条件及画面结构&#xff0c;灵活运用高调、低调或冷暖色调&#xff0c;以强化视觉表现力。 一、影调的定义 影调指画面中明暗、虚实、色彩的层次与对比…...

融智学三大定律:打开人机协同智慧大门的钥匙

...

MySQL行列转换

创建一个sc表并插入数据 方法一: select distinct uid, (select score from sc where s.uiduid and course语文)语文, (select score from sc where s.uiduid and course数学)数学, (select score from sc where s.uiduid and course英语)英语 from sc s; 方法二: select * fro…...

cookie和session哪个生成的时间早

Cookie 和 Session 的出现时间都可以追溯到 Web 开发的早期阶段&#xff0c;但它们的生成顺序在实际应用中通常是先生成 Session&#xff0c;然后通过 Cookie 来存储 Session ID。 详细解释&#xff1a; Session 的生成过程 • 用户请求服务器&#xff1a; • 用户首次访问网…...

sh脚本删除指定后缀.txt的文件,保留6个月的数据

1、linux下脚本删除指定后缀.txt和.path的文件&#xff0c;保留6个月的数据&#xff1a; 下面代码内容&#xff1a; #!/bin/bash # 指定要删除文件的路径列表 paths("/data/fail")# 获取当前系统日期6个月之前的日期 six_months_ago$(date -d "-6 months"…...

嵌入式Linux按键监控模块详解:实现设备重启与长按检测

嵌入式Linux按键监控模块详解&#xff1a;实现设备重启与长按检测 在嵌入式Linux设备开发中&#xff0c;物理按键仍然是用户与设备交互的重要方式。本文将分享一个轻量级但功能完整的按键监控模块&#xff0c;它可以精确识别按键的短按和长按事件&#xff0c;并执行对应操作如…...

[错误经验 坑]关于UDP服务器和客户端通信使用的recvfrom的输出型参数len没有被初始化导致的问题

[错误经验 坑]关于UDP服务器和客户端通信使用的recvfrom的输出型参数len没有被初始化导致的问题 水墨不写bug 文章目录 一、困惑&#xff1a;二、解答&#xff1a;&#xff08;1&#xff09;函数原型1. int sockfd2. void *buf3. size_t len4. int flags5. struct sockaddr *sr…...

KaiwuDB:面向AIoT场景的多模融合数据库,赋能企业数字化转型

引言 在万物互联的AIoT时代&#xff0c;企业面临着海量时序数据处理、多模数据融合和实时分析等挑战。KaiwuDB应运而生&#xff0c;作为一款面向AIoT场景的分布式、多模融合、支持原生AI的数据库产品&#xff0c;为企业提供了一站式数据管理解决方案。 产品概述 KaiwuDB是一…...

Web3 的云基础设施正在成型,Polkadot 2.0 用三项技术改写“上链成本”

在Web3基础设施内卷加剧的今天&#xff0c;“如何以更低成本、更大灵活性部署一条高性能应用链”正成为开发者们最关心的问题。而刚刚走出“技术慢热”误区的Polkadot&#xff0c;正在用一套名为 Polkadot 2.0 的架构升级方案&#xff0c;重新定义这一问题的解法。 这套升级最…...

Elasticsearch 学习规划

Elasticsearch 学习规划 明确学习目标与动机 场景化需求分析 - **S**&#xff1a;掌握Elasticsearch架构体系&#xff0c;熟练使用Elasticsearch 进行数据分析,Elasticsearch结合java 项目落地案例 - **M**&#xff1a;搜索和Elasticsearch相关GitHub项目 - **A**&#xff1a;每…...

OpenHarmony如何编译安装系统应用(以settings设置为例)

开发环境 1.OpenHarmony 2.DevEco Studio 3 .Full Sdk 实现步骤 1.获取设置应用源码 https://gitee.com/openharmony/applications_settings/tree/OpenHarmony-v5.0.0-Release/ 2,使用 DevEco Studio 和 Full SDK对系统应用进行签名,默认工程是未配置签名的状态,所构建…...

手撕 STL 之—— list

目录 引言 1, list_node类及其构造函数 2, list类的创建 3, list基本功能函数 3_1&#xff0c; 构造函数 3_2&#xff0c;push_back 3_3&#xff0c;push_front 3_4&#xff0c; pop_back 3_5&#xff0c;pop_front 4&#xff0c;迭代器 (重点) 4_1&#xff0c;如何设…...

Med-R1论文阅读理解

论文介绍 这篇论文介绍了一个名为 Med-R1 的新方法&#xff0c;用于提升多模态视觉语言模型&#xff08;VLM&#xff09;在医学图像理解和推理任务中的泛化能力和可解释性。下面是对整篇论文的简洁总结&#xff1a; ⸻ &#x1f9e0; 核心思想 • 当前医学 VLM 多依赖于监督…...

微服务相关

1.SpringCloud有哪些常用组件&#xff1f;分别是什么作用&#xff1f; 注册中心&#xff1a;nacos 负载均衡&#xff1a;rabbion/LoadBalancer 网关&#xff1a;gateway 服务熔断&#xff1a;sential 服务调用&#xff1a;Feign 2.服务注册发现的基本流程是怎样的&#x…...