LINUX7(日志管理)

  • 系统日志文件

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

LINUX7(日志管理)

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

systemctl restart rsyslog.service

LINUX7(日志管理)

  •  查看日志

  • 手动发送syslog消息

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

logger -p user.info "hello"

LINUX7(日志管理)

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

LINUX7(日志管理) 

  •  日志文件轮转

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

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

vi /etc/logrotate.conf

LINUX7(日志管理)

  •  查看systemd日志条目

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

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理) 

  •  保存systemd日志

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

LINUX7(日志管理)

/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

LINUX7(日志管理)

  • 显示时区库
timedatectl list-timezones

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理)

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

LINUX7(日志管理)

LINUX7(日志管理)

上一篇:进程的调用


下一篇:Mac安装Tomcat