• 服务器重启后的故障原因排查


    一台服务器业务中断,发现系自动重启,于是查了下原因:

    查看重启时间:

    # last reboot

    # history

    发现历史记录只有1K条,而且没有时间显示,于是重新配置了下history:

    1. # vi /root/.bashrc
    2. #export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  "
    3. export HISTTIMEFORMAT=‘%F %T’
    4. export HISTSIZE=99999

    重新显示了一下,虽然历史记录还是1K条,但已经有时间了。看了下,重启相关的位置没有重启命令,就是不是人为操作的了。

    那接着查一下日志:

    #journalctl -p alert..err -b

    发现有提示:

    Nov 22 08:54:34 localhost smartd[909]: DEVICESCAN failed: glob(3) aborted matching pattern /dev/discs/disc*

    这个意思是说:909这个PID进程中的glob(3)语句出现严重错误,需要联系开发进行查看处置了。

    -----------------------------------------------------------------

    、查看所有日志
    # journalctl
    、查看内核日志(不显示应用日志)
    # journalctl -k
    、查看系统本次启动的日志
    journalctl -b
    、查看上一次启动的日志
    需要修改配置文件 /etc/systemd/journald.conf

    # journalctl -b -1

    、跟踪日志:

    #journalctl -f

    、只显示冲突、告警和错误:

    #journalctl -p err..alert

    、显示某个单元日志(也可以同时显示多个增加多个 -u nginx.service -u php-fom.service):journalctl -u nginx.service

    、根据时间查找:

    journalctl --since "20 min ago" #查找20分钟前的日志

    journalctl --since today #查找今天的日志

    journalctl --until 2020-05-27 #查找2020-05-27日期的日志

    、查找指定客户(UID)日志:journalctl _UID=1000

    、#通过进程ID实现查询,需要指定_PID字段

    # journalctl _PID=909

    、查看指定用户的日志

    #journalctl _UID=33 --since today

    、查看指定服务的日志

    #journalctl /usr/lib/systemd/systemd

    、实时滚动显示某个Unit的最新日志

    #journalctl -u nginx.service -f

    、使用journalctl配合-p选项显示特定优先级的信息,从而过滤掉优先级较低的信息。

    由最高到最低优先级:
    0: emerg
    1: alert
    2: crit
    3: err
    4: warning
    5: notice
    6: info
    7: debug

    #journalctl -p cri..err -b

  • 相关阅读:
    MySQL数据库相关操作讲解(一)
    A,B=input().split(“,“)A=eval(A)A=str(A)B=eval(B)print(A*B)
    [Gradle]IDEA GradleUse Gradle from选项
    【学习笔记】Half-GCD
    mac帧 arp
    SpringBoot开发实用篇(3)—整合第三方技术
    C. String Transformation 1(图的思想)
    Go项目踩坑:go get下载超时,goFrame框架下的go项目里将vue项目的dist同步打包发布,go项目打包并压缩
    一文讲完Java常用设计模式(23种)
    基于反馈机制的鲸鱼优化算法-附代码
  • 原文地址:https://blog.csdn.net/jiecy/article/details/127982618