zoukankan      html  css  js  c++  java
  • LINUX笔记7(日志管理)

    • 系统日志文件

    rsyslog主要是用来收集系统产生的各种日志,日志文件默认放在/var/log目录下。

    • 常用日志

    /var/log/boot.log 存储服务启动与停止信息
    /var/log/dmesg 存储系统启动时显示在屏幕的内核信息,包含了系统中硬件状态的检查信息。
    /var/log/messages  提供大多数日志信息
    /var/log/secure 存储与系统安全有关的信息
    /var/log/lastlog 保存每个用户的最后一次登陆信息
    /var/log/wtmp 二进制文件,保存所有用户的登陆、退出、系统启动、重启、宕机等记录
    /var/log/btmp 保存用户登陆时白的日志文件

    日志文件由rsyslog服务维护。/var/log目录中包含各种特定于某些服务的日志文件。

    • 配置系统日志

    • 优先级(priority)

    许多程序使用sysog协议将时间记录到系统每一日志消息根据设备(消息的类型)和优先级。

    信息来源 优先级 说明
    debug 7 调试排错信息,仅对程序开发人员有用
    info 6 一般信息,可以忽略
    notice 5 正常提示信息
    warn 4 可能是有问题的警告信息
    err 3 一般的错误信息
    crit 2 关键状态信息
    alert 1 需特别注意的警告信息,一般要迅速更正
    emerg 0 最要做,紧急状态,一般是系统不可用
    • 日志配置文件示例

    在/etc/rsyslog.conf中添加一条记录。将所有info优先级的日志记录记录到/var/log/log_test.log中。

    *.info        /var/log/log_test.log

    注意:修改配置后,重启rsyslog服务

    systemctl restart rsyslog.service

    •  查看日志

    • 手动发送syslog消息

    使用logger命令可以发送消息到rsyslog服务。若要向rsyslog服务发送消息并记录到日志文件中,可以执行下面这个命令:

    logger -p user.info "hello"

    •  使用tail命令查询最新的日志记录
    tail -f /var/log/log_test.log

     

    •  日志文件轮转

    • 用日志轮转服务logrotate来自动实现日志文件的定期清理。

    在/etc/cron.daily目录中有一个名为logrotate的脚本文件用来启动logrotate程序。cron作业每日运行一次logrotate程序,以查看是否有任何日志需要轮转。轮转配置文件为/etc/logrotate.conf的默认配置

    vi /etc/logrotate.conf

    •  查看systemd日志条目

    • 显示最新的10个日志条目
    journalctl -n 10

    •  实施滚动显示最新日志(最新的10条)
    journalctl -f

    •  使用选项-p指定日志过滤级别
    journalctl -p err

    •  只查看内核日志(不显示应用日志)
    journalctl -k

    •  查询与systemd单元文件sshd.service启动相关的日志条目
    journalctl _SYSTEMD_UNIT="sshd.service"

    •  显示今天的日志条目
    journalctl --since today

    •  查看指定时间段的日志条目
    journalctl --since "2020-06-21 10:00:00" --until "2020-06-21 13:00:00"

     

    •  保存systemd日志

    默认情况下,系统日志保存在/run/log/journal目录中,这意味着系统重启时这些日志会被清除。可以在/etc/systemd/journald.conf文件中更改systemd-journald服务的配置,使日志系统在重启后保留下来。

    /etc/systemd/journald.conf文件中的storage参数决定系统日志以易失性方式存储,还是在系统重启后持久保留。按照如下所示,将该参数设为persistent、volatile或auto

    参数 说明
    persistent 将日志存储在/var/log/journal目录中,这可在系统重启后持久保留。
    如果/var/log/journal目录不存在,systemd-journald服务会创建它。
    volatile 将日志存储在易失性/run/log/journal目录中。
    因为/run文件系统是临时的,仅存在于运行时内存中,存储在其中的数据(包括系统日志)不会在系统启后持久保留。
    auto rsyslog决定要使用持久存储还是易失性存储。如果/var/log/journal目录存在,那么rsyslog会使用持久存储,否则使用易如果未设置 Storage参数,此为默认操作。失性存储。
    • 时区设置

    timedatectl命令简要显示当前的时间相关系统设置,如系统的当前时间、时区和NTP同步设置。

    • 查询当前时区状态
    timedatectl status

    • 显示时区库
    timedatectl list-timezones

    • 更改当前时区为中国上海
    timedatectl set-timezone "Asia/Shanghai"

    • 不自动同步时间
    timedatectl set-ntp false

    •  自动同步时间
    timedatectl set-ntp true

    网安小菜鸡
  • 相关阅读:
    AngularJS定时器任务
    ssh常用
    HTTPClient模块的HttpGet和HttpPost
    eclipse下设置tomcat,修改Java代码不必重启tomcat
    【转】调试Release发布版程序的Crash错误
    C/C++ 函数压栈方式
    PHP 安全三板斧:过滤、验证和转义之转义篇 & Blade模板引擎避免XSS攻击原理探究
    让 MySQL 支持 emoji 存储
    Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程
    常见的Web实时消息交互方式和SignalR
  • 原文地址:https://www.cnblogs.com/jdr-gbl/p/13171220.html
Copyright © 2011-2022 走看看