11.linux日志监控与时间同步

Linux 日志监控与时间同步

1. 日志监控 (Log Monitoring)

  • 目的: 系统管理中非常重要的一部分,用于分析系统事件和故障排除。
  • 日志目录: /var/log
  • 常见日志文件/目录:
    • boot: 系统启动日志
    • chronyd: NTP (Network Time Protocol) 服务日志
    • cron: 计划任务日志
    • maillog: 邮件服务日志
    • secure: 安全相关日志 (如认证失败)
    • messages: 核心系统日志
    • httpd: Web 服务器 (Apache) 日志

VirtualBoxVM_jsOwGTYJhf.png

VirtualBoxVM_DA5KNbi58H.png

对于那些root所有权的文件,我们作为一个普通用户是无权的。需要提权之后才能查看。
(当然有一部分并不是不能看,还记得我们的文件权限吗?那些最后对于所有人开放r权限的就可以看。)

切换到root用户后,我们尝试来看一个日志。

VirtualBoxVM_kuvzsNnH8H.png

现在看的这个是boot.log,是启动日志。你的每一次开机新产生的启动日志都会覆盖这个文件。

对于这些日志具体有什么内容,请你自行学习。作为一个合格的管理员,你应该要知道出现什么样的问题需要看哪一个日志。


2. 维护精确时间 (Maintaining Accurate Time)

  • 重要性:
    • 对于跨多个系统的日志文件分析至关重要。
    • 是生产环境中敏感应用程序 (如数据库) 的要求。
  • NTP (Network Time Protocol):
    • 机器与 NTP 服务器同步时间的标准方式。
    • NTP 服务器是专门的机器/计算机,响应客户端的时间同步请求。
  • chronyd:
    • 在较新的 Linux 版本中用于时间同步的 NTP 服务。

2.1. 时间管理相关命令

  • 显示系统时间/日期:
    1
    date
  • 时间/日期和 NTP 设置命令: timedatectl
    • 获取帮助:
      1
      timedatectl --help
    • 查看时区列表:
      1
      timedatectl list-timezones
    • 设置时区:
      1
      timedatectl set-timezone America/New_York
    • 设置时间 (HH:MM:SS):
      1
      timedatectl set-time HH:MM:SS
    • 设置时间与日期 (YYYY-MM-DD HH:MM:SS):
      1
      2
      timedatectl set-time 'YYYY-MM-DD HH:MM:SS'
      # 示例: timedatectl set-time '2021-08-18 20:15:50'
    • 启用 NTP 同步:
      1
      timedatectl set-ntp true

VirtualBoxVM_kzrc58cNQp.png

2.2. chronyd 详情

  • 目的: 时间同步
  • 包名: chronyd
  • 配置文件: /etc/chrony.conf
  • 日志文件: /var/log/chrony
  • 服务管理:
    1
    systemctl start/restart chronyd
  • 程序命令: chronyc

VirtualBoxVM_0fBDrctMqs.png

如果你没有chronyd,请运行yum install chrony.

VirtualBoxVM_mTxlrJbiq0.png

VirtualBoxVM_56qInuPznr.png

使用chronyc进入程序,你可以使用help来查看所支持的命令:

VirtualBoxVM_0nXkuDhQUc.png

这里给了一个使用示范,我使用sources查看正在使用的。

VirtualBoxVM_QwqPhB9EeR.png

最后题外话:

RHEL 7 (Red Hat Enterprise Linux 7) 和 CentOS 7 开始,Red Hat 就已经将默认的 NTP 客户端从 ntpd 换成了 chrony

  • chrony (即 chronyd 服务) 被证实同步速度更快资源占用更低
  • 它对虚拟机(VM)和网络连接不稳定的设备(比如笔记本电脑)支持得更好。

因此,在你现在使用的大多数现代 RHEL/CentOS/Rocky Linux/AlmaLinux 系统上:

  1. ntpd 服务(来自 ntp 软件包)默认不再安装
  2. chronyd 服务(来自 chrony 软件包)是默认安装并启用的

如果你想查看时间同步服务,你应该检查 chrony 的状态:

1
systemctl status chronyd

如果你确实特别需要使用 ntpd,你仍然可以手动安装它(比如 sudo yum install ntp),但在安装前你必须先停止并禁用 chrony,因为它们会占用相同的端口(UDP 123)而产生冲突。

不过,除非有特殊的老旧应用需求,否则强烈推荐使用现代的 chrony