首页 > 其他分享 >遇到问题一定要学会看日志

遇到问题一定要学会看日志

时间:2023-07-13 16:44:47浏览次数:32  
标签:截图 持久 遇到 学会 redis 问题 磁盘 日志

如果你生病了到医院,医生首先会问你哪里不舒服,然后通过你的描述来确认病情,如果还无法确认就得让你去验血或者拍片。最后根据结果来进一步确认你到底有什么病。

这个道理大家都明白,其实作为一个运维人,服务器在我们眼里就是我们的病人,而我们就是给它看病的医生。如何确认病情?我们自然是有自己的一些套路的。

其中有一项最重要的手段就是看日志。我平时在培训课程里也会经常强调这个事情,但有的同学就是记不住,遇到问题总是喜欢直接截图丢群里问,其实这样很难快速成长,下次遇到类似问题你还是不会解决。

昨天我兼职维护的网站突然有问题了,运营同学发了一个截图给我:

 

根据截图上的错误信息提示,我首先判定问题在于redis持久化出了问题。至于是因为什么呢?还不能确定。根据以往经验,很有可能是磁盘写出了问题,比如磁盘满了或者磁盘变只读了。

于是,我登录服务器首先看看磁盘使用情况,df查看没问题,接着我又touch了一个新文件,也没问题。

此时,就需要进一步继续排查问题了。如果换作是你,接下来你会做什么呢?正确做法是要查看redis日志!

但我,并没有去看日志,而是又去手动尝试做持久化操作,我只是想验证一下持久化到底是否正常。然而,我这个决定让我在此问题上多花了至少半小时时间。我手动执行了save操作,大概十几秒也成功了。此时,我意识到这个持久化耗时太久,这期间很有可能就会导致问题。

于是,我又查看了持久化文件dump.rdb,1.2G了,这个确实不小,但不至于导致问题发生。

既然,问题出在持久化上,那解决它有两个思路:1)关闭持久化(这个前提是你的业务不需要做持久化),2)想办法将持久化的速度提升。

经过和开发同学确认,redis持久化可以关闭,于是我直接关掉了持久化,然后重启服务。

此时的我,突然意识到要看一下redis日志。当然,也查到了该问题的根本原因。

妈的,我傻眼了,这么明显的问题,我竟然没有第一时间查日志。这不就是内存不够了么,临时解决办法只要重启一下服务就行了。当然长久之计肯定是要加内存的。好在,我们的业务不用持久化,干脆关闭持久化即可。

我分享这个小故事的目的就是要提醒各位,以后遇到问题一定要记得第一时间先去看日志!千万别像我似的,白白浪费了抢救业务的宝贵时间,这如果是线上十分赚钱的业务出问题,急需修复,我这样做很有可能就会损失好几个小目标了。

标签:截图,持久,遇到,学会,redis,问题,磁盘,日志
From: https://www.cnblogs.com/msjhw/p/17551363.html

相关文章

  • 发送请求忘记指定协议方式,日志com.jcraft.jsch.JSchException: java.net.ConnectExcep
      2023-07-1319:06:51.487-ERROR17629---[http-nio-192.168.2.206-36093-exec-8]c.t.b.p.b.c.common.util.sftp.SftpPool:com.jcraft.jsch.JSchException:java.net.ConnectException:拒绝连接(Connectionrefused)_atcom.jcraft.jsch.Util.createSocket(......
  • Kubernetes轻量级日志工具Loki安装及踩坑记录
    Loki简介Loki是Grafana出品的一个轻量级日志系统,熟悉ELK的都知道ELK使用起来的成本,而且仅仅是日志检索使用ELK的话有点大材小用了。Loki8技术栈中使用了以下组件。Promtail用来将容器日志发送到Loki或者Grafana服务上的日志收集工具,该工具主要包括发现采集目标以及给日志......
  • 学会这5个关键要素,成为原型图制作的专家!
    在当今的软件开发和用户体验设计中,原型图扮演着至关重要的角色。它是将想法转化为可视化概念的关键步骤,旨在帮助设计师、开发人员和企业更好地理解和验证产品的功能、交互和用户流程。本文将深入探讨制作原型图的五个关键要素,以帮助你在设计过程中更加高效和专业。 在介绍制作......
  • expect 保存日志文件
    1.$expect_out(buffer)这种方式需要注意不能在shell嵌套expect的情况下使用,因为在这种情况下expect脚本中的$xx变量会被解析成shell部分传入的参数,无法起到原本在expect脚本下的作用。其次,$expect_out(buffer)需要和send内容在两个不同的expect循环中出现。#!/bin/expectse......
  • 如何实现怎样实时监测Android系统打印的日志信息的具体操作步骤
    怎样实时监测Android系统打印的日志信息在开发Android应用程序的过程中,日志信息是非常重要的调试工具。通过日志信息,我们可以了解应用程序的运行状态、错误信息以及其他关键信息。为了更好地调试和分析应用程序的日志信息,我们可以实时监测Android系统打印的日志信息。本文将介绍如......
  • springboot下遇到的跨域问题
    后端跨域处理springboot项目注解@CrossOrigin实现WebMvcConfigurer接口中addCorsMappings(CorsRegistryregistry)方法配置CorsFilterfilter过滤器使用注意都可以单独使用,全部配置可能会导致不生效的问题addCorsMappings方法@Overridepublic......
  • ubuntu22.04安装vsftp遇到的问题
    问题FileZilla连接文件服务器时出现”无法读取文件目录“,随后出现“20秒后无活动,连接超时”、“无法连接到服务器”文件目录无法读取的问题。该问题的出现是因为防火墙关闭导致数据包无法通过,进而无法显示文件目录。解决办法:1、开启服务器防火墙sudoufwallow20:21/tcpsu......
  • 一文学会TextureID渲染到Surface
    最近遇到一个需求,要求将一个GL_TEXTURE_2D类型的纹理ID写入到ImageReader生成的Surface中。其实这个需求与我之前写过的一篇文章一文学会MediaCodeC与OpenGL录制mp4视频需求比较接近,只需要对该案例源码进行一些改造即可。在正式介绍实现之前,需先明确:什么是android.view.Su......
  • 企业网络日志分析的关键利器【EventLog Analyzer】
    在数字化时代,企业网络的安全和运维管理变得至关重要。随着企业规模的扩大和信息系统的复杂化,网络日志分析成为了不可或缺的一环。EventLogAnalyzer(以下简称EventLogAnalyzer)作为一款强大的日志分析工具,为企业提供了关键的功能和洞察力,帮助其实现网络安全的保护和高效的运维管理。......
  • MySql开启日志 --记录每条执行的SQL语句
    --第一条SETGLOBALlog_output='TABLE';SETGLOBALgeneral_log='ON';--在重启mysql重启Mysql详情请看:(10条消息)如何重启MySQL,正确启动MySQL_mysqlrestart_wuyepiaoxue789的博客-CSDN博客--重启完成之后可以去数据库`Mysql`中的general_log表里查看,也可以执行一下的......