zoukankan      html  css  js  c++  java
  • linux日志信息

    Linux系统拥有十分强大且灵活的日志系统,用于保存几乎所有的操作记录和服务运行状态,并且按照“报错”“警告”“提示”和“其他”等标注进行了分类。

    运维管理员可以根据所需的信息进行检索,快速找出想要的信息,因此对于了解系统运行状态有着不错的帮助作用。

    在RHEL 8系统中,默认的日志服务程序是rsyslog。可以将rsyslog理解成之前的syslogd服务的增强版本,它更加注重日志的安全性和性能指标。

    为了便于日后的检索,不同的日志信息会被写入到不同的文件中。在Linux系统中,常见的日志文件如下所示。

    常见的日志文件保存路径

    文件路径及命令                                 作用

    /var/log/boot.log              系统开机自检事件及引导过程等信息

    /var/log/lastlog                 用户登录成功时间、终端名称及IP地址等信息

    /var/log/btmp                   记录登录失败的时间、终端名称及IP地址等信息

    /var/log/messages             系统及各个服务的运行和报错信息

    /var/log/secure                 系统安全相关的信息

    /var/log/wtmp                  系统启动与关机等相关信息

    在日常工作中,/var/log/message这个综合性的文件用得最多。

    在处理Linux系统中出现的各种故障时,一般是最先发现故障的症状,而找到故障的原因则一定离不开日志信息的帮忙。

    从理论上讲,日志文件分为下面3种类型。

    系统日志:主要记录系统的运行情况和内核信息。

    用户日志:主要记录用户的访问信息,包含用户名、终端名称、登入及退出时间、来源IP地址和执行过的操作等。

    程序日志:稍微大一些的服务一般都会保存一份与其同名的日志文件,里面记录着服务运行过程中各种事件的信息;每个服务程序都有自己独立的日志文件,且格式相差较大。

    journalctl命令用于检索和管理系统日志信息,英文全称为“journal control”,语法格式为“journalctl参数”。它可以根据事件、类型、服务名称等信息进行信息检索,从而大大提高了日常排错的效率。journalctl命令的常见参数如下所示。

      journalctl命令中常用按键以及作用

    参数                 作用

    -k                   内核日志

    -b                   启动日志

    -u                    指定服务

    -n                   指定条数

    -p                   指定类型

    -f                    时刷新(追踪日志)

    --since             指定时间

    --disk-usage     占用空间

    使用举例:

    [root@linuxprobe ~]# journalctl -n 10    //查看系统中最后10条日志信息

    [root@linuxprobe ~]# journalctl -f         //实时刷新日志信息,效果与#tail -f /var/log/message相同


    在rsyslog服务程序中,日志根据重要程度被分为9个等级,如下所示。这样的好处是,我们可以直击最重要的信息,而不用担心会被海啸般的输出内容所淹没。

    日志信息登记分类

    日志等级                       说明介绍

    emerg            系统出现严重故障,内核崩溃等情况

    alert               应立即修复的故障,数据库损坏等情况

    crit                 危险较高的故障,硬盘损坏导致程序运行失败的情况

    err                 一般危险的故障,某个服务启动或运行失败的情况

    warning         警告信息,某个服务参数或功能错误的情况

    notice            一般无危险的故障,只是需要处理的情况

    info               通用性消息,给用户提示一些有用信息

    debug           调试程序所产生的信息

    none             没有优先级,不做日志记录


    [root@linuxprobe ~]# journalctl -p crit    //查看crit级别的日志信息

    [root@linuxprobe ~]# journalctl -p err    //查看err级别的日志信息

    [root@linuxprobe ~]# journalctl --since today  //查看今天的日志

    [root@linuxprobe ~]# journalctl --since "-1 hour"    //查看最近1小时的日志

    [root@linuxprobe ~]# journalctl --since "8:00" --until "12:00"  //查看8点到12点的日志

    [root@linuxprobe ~]# journalctl --since "2021-07-01" --until "2021-10-31  //查看2021年7月1日至2021年10月31日的日志

    [root@linuxprobe ~]# journalctl -u sshd.service   //查看某个服务(sshd)的日志信息

  • 相关阅读:
    Druid Monitor开启登录界面
    nginx强制使用https访问(http跳转到https)
    技术与架构
    SQLProfiler_SQL抓包
    SQL UPDATE with INNER JOIN
    MYSQL业务数据简单脱敏方案
    阿里云CodePipeline vs Jenkins
    Java Profiling & Profilers
    LINUX操作系统(centos6.9)安装与配置
    分布式ID生成系统 UUID与雪花(snowflake)算法
  • 原文地址:https://www.cnblogs.com/wushuai2018/p/15641148.html
Copyright © 2011-2022 走看看