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


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

    查看重启时间:

    # 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

  • 相关阅读:
    使用JAXB将xml转成Java对象
    MindSpore自定义算子中的张量维度问题
    【Web前端二级导航栏】
    数据结构之单链表基本操作
    Maven的第一天
    java学习day31(redis7)事务
    没想到吧,Spring中还有一招集合注入的写法
    PCLVisualizer显示点云的深层用法
    elk安装篇之 Kibana安装
    购买远程服务器及项目部署
  • 原文地址:https://blog.csdn.net/jiecy/article/details/127982618