解决生产环境服务启动失败:一次远程Bug排查与修复历程

news2024/11/17 9:39:48

一、问题现象

同事没事一直给服务器断电(直接拔插头那种!!!!)

二、初步排查

首先,我登录到生产服务器,查看服务启动日志。在日志中,我发现了一些异常信息,但并未直接指出具体的问题所在。此时,我意识到需要进一步深入排查。
在这里插入图片描述

三、查看日志命令和反馈

为了更好地了解服务启动过程中的详细信息,使用以下命令查看日志:

tail -f /path/to/your/spring-boot-app.log

通过查看日志,发现服务启动过程中出现了一些错误提示,但仍然没有找到问题的根源。

四、检查端口冲突

根据日志中的线索,怀疑可能是端口冲突导致的。使用以下命令检查了服务所占用的端口:

netstat -tuln | grep 端口号

在这里插入图片描述

五、尝试重启服务

在确认端口冲突后,尝试停止占用端口的进程,并重新启动的服务。然而,服务仍然无法启动。开始怀疑是否还有其他因素影响了服务的正常运行。

六、深入排查

在重启服务失败后,查看MySQL和Redis的运行状态,因为服务依赖于这两个数据库。首先,检查了MySQL和Redis的服务状态:

sudo systemctl status mysqld
sudo systemctl status redis

发现MySQL和Redis服务都在运行,但为了确保万无一失,重启这两个服务。

七、重启MySQL和Redis

首先,我停止了MySQL和Redis服务:

sudo systemctl stop mysqld
sudo systemctl stop redis

然后,重新启动这两个服务:

sudo systemctl start mysqld
sudo systemctl start redis

在MySQL和Redis成功重启后,再次尝试启动我们的服务。这次,服务顺利启动,问题得到了解决。

八、总结

通过这次Bug排查与修复,我总结了以下几点经验:

  1. 在遇到服务启动失败时,首先要查看日志,了解可能的问题所在。
  2. 检查端口冲突,确保服务所需的端口未被占用。
  3. 在重启服务后,如果问题仍未解决,要考虑其他依赖服务是否正常运行。
  4. 重启依赖服务,如MySQL和Redis,可能是解决问题的有效手段。
  5. 远程协助时,遇到redis都不知道是什么的同事真的会疯
    总之,在排查生产环境问题时,我们要保持冷静,逐步分析,逐步排查,直至找到问题根源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2046541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网独家梳理:数字病理图像的常用存储格式以及格式转换的方法|24-08-17

小罗碎碎念 这一期推文,跟你们分享一些比较底层,并且顶刊中不会涉及但是又至关重要的内容。 我们在做任何一个病理AI的项目前,有两样东西是一定会拿到手的——切片&对应的临床基线表。(如果做多组学/多模态的项目,…

宠物空气净化器推荐购买吗?真的能除毛去味吗?

自从做了猫咖店老板,我这生活真的是美滋滋,每天都可以摸到不同品种的可爱的小猫咪,在赚钱养家的同时还能肆意和猫咪贴贴,连朋友都说想和我干一样的工作了。每天接待的顾客也不少,店里面的空气质量也还不错,…

模块一(任务2):SDH系统原理解读

一、PDH与SDH标准速率介绍 OTN网络技术是基于SDH系统和WDM系统设计的,所以学习OTN系统原理必须要掌握SDH和WDM量大系统原理 1、PDH与SDH概念及特点 二、SDH的帧结构 目前通信常见的数据结构有两种: 报文:基于以太网通信的数据结构 帧&am…

真诚巨作:全文一万字教你快速熟悉项目|文心快码帮你快速熟悉~

写在前面 : 上了好多年的学,终于毕业进入职场啦~在公司也有一段时间了,慢慢地也变成了纯正的社畜了。近来开始熟悉部门的项目代码,说实话公司的代码真跟以前接触的不一样,内部各种自建框架,让人看得眼花缭乱…

ARCGIS PRO 要素标注背景色透明度的设置

使用ArcGIS Pro 设置标注背景色的透明度 一、点击标注属性 二、点击符号、注释 三、下拉框选择背景 四、背景符号 五、点击颜色 六、编辑颜色 七、应用

Java语言程序设计基础篇_编程练习题**16.26(模拟:升旗并播放国歌)

目录 题目:**16.26(模拟:升旗并播放国歌) 习题思路: 代码示例 结果展示 音频来源 题目:**16.26(模拟:升旗并播放国歌) 创建一个显示升国旗的程序,如图15-14…

还在使用百度翻译?这4款翻译工具也能帮你打破语言壁垒!

是谁像我一样,一提到翻译工具第一想到的就是百度翻译。它可以是用了好久的翻译工具,可是随着学习的深入, 我还是发觉了一些其他的实用翻译工具。比如下面这四款: 1、365翻译工具 直达链接:https://fanyi.pdf365.cn/ …

NLP之transformer:transformer-explainer的简介、安装和使用方法、案例应用之详细攻略

NLP之transformer:transformer-explainer的简介、安装和使用方法、案例应用之详细攻略 目录 相关论文 《Transformer Explainer: Interactive Learning of Text-Generative Models》翻译与解读 transformer-explainer的简介 transformer-explainer的安装和使用方…

尚硅谷MYSQL(12-13章)

第十二章数据类型 比如说tinyint(4)这个四表示的是那个取值范围的位数 他只是一个显示 比如说int后面应该是int(11)这是有符号的 无符号int是int(10) 如果写成int(3)但是存的数据是…

论文写作新神器!10款可以写论文的人工智能软件

在当今快速发展的数字时代,人工智能(AI)技术已经渗透到各个领域,包括学术研究和论文写作。为了帮助学者和学生提高写作效率和质量,市场上涌现了许多优秀的AI写作工具。本文将详细介绍10款可以写论文的人工智能软件&…

STM32F103C8T6单片机原理图设计(PCB板)

先了解了以下stm32f103c8t6的引脚使用: 对比过一些原理图,我发现除了特定协议的引脚功能,只要功能正确,可以自己选择连接对应的引脚。可以根据使用的LED/BEEP/DHT11/BH1750/ESP8266等模块的功能对应相应的引脚: WIFI(…

[开源] 安卓系统发送modbus协议到硬件设备下位机

最近是在研究安卓板子上的modbus通信,于是写了这个maven依赖。 项目中主要用到的功能是读写寄存器,所以依赖中重点测试了读写多个寄存器的协议。 另外你可以自定义协议pdu交给程序进行封装及发送。 如果使用中发现了什么问题,可以到仓库添…

DHU OJ 循环结构 整除的尾数

思路及代码 //input T int >0 //input a,b int 0< <10000 10< <100 #include<iostream> #include<iomanip> using namespace std; int main(){int T;cin >> T;while (--T > 0){int a, b;cin >> a >> b; //solution // (a*100…

Tomcat初篇

目录 Tomcat主要特点Tomcat的核心组件Tomcat使用安装Tomcat配置Tomcat启动和停止Tomcat Tomcat工作原理目录结构配置文件性能优化策略 Tomcat Apache Tomcat是一个开源的Servlet容器和Web服务器&#xff0c;广泛用于运行基于Java的Web应用程序。它实现了Java Servlet和JavaSer…

【Web开发手礼】探索Web开发的秘密(十八)-Vue2(4)部门管理页面、路由、打包部署

主要介绍了部门管理页面、路由、打包部署&#xff01;&#xff01;&#xff01; 文章目录 前言 部门管理页面 Vue路由 打包部署 打包 部署 总结 前言 主要介绍了部门管理页面、路由、打包部署&#xff01;&#xff01;&#xff01; 部门管理页面 <template><div>&…

module ‘pkgutil‘ has no attribute ‘ImpImporter‘. Did you mean_ ‘zipimporter‘_

错误详情&#xff1a; Traceback (most recent call last):File "<frozen runpy>", line 198, in _run_module_as_mainFile "<frozen runpy>", line 88, in _run_codeFile "C:\ProgramData\anaconda3\envs\py312\Scripts\mim.exe\__main…

数值计算引擎:搭建远程容器开发环境

Build VS Code Remote Docker Development Environment 大型CAE软件开发技术栈通常依赖多个第三方库&#xff0c;因此从零开始配置开发、编译、运行等环境通常较为繁琐。但随着公司的发展壮大&#xff0c;却经常需要为新加入的成员配备相应的开发环境&#xff1b;另外&#xf…

深入理解 go unsafe

往期精选文章推荐&#xff1a; 深入理解 go mapgo 常用关键字深入理解 Go 数组、切片、字符串深入理解channel深入理解 go context深入 go interface 底层原理深入理解 go reflect深入理解 go unsafe 为什么有go unsafe Go 是支持指针的语言&#xff0c;但是为了保持简洁、安…

HW高耗电提醒竞品调研

摘要 高耗电提醒通知的规则,天生存在打扰用户的特点,故在触发高耗电检测阈值还要根据是否非可感知场景,进一步修正高耗电提醒的准确率。同时消息通知的交互设计中也进行少打扰静默设计 一、功耗高耗电通知监控规则 1.1 高耗电上报规则和文案 支持的耗电类型 上报高耗电通…

CTF-mysql

整数型 输入1发现有回显 发现and11有回显12没有 判断字段数 1 order by 2 确定回显点 -1 union select 1,2 查看数据库名称 -1 union selecr 1,database() 查看数据库名 -1 union slelct group_concat(schema_name)from information_schema.schemata 查看表名 -1 union s…