百度
360搜索
搜狗搜索

如何开启linux服务器日志记录详细介绍

在 Linux 服务器上开启日志记录通常涉及配置系统级日志服务(如 rsyslogsystemd-journald)或特定服务的日志模块。以下是分步指南:

一、确认日志服务类型

Linux 主流日志系统有两种:

  1. 传统日志系统(rsyslog/syslog-ng):适用于大多数发行版(如 Ubuntu/Debian/CentOS 7 及以下),日志文件通常存放在 /var/log/ 目录(如 syslogauth.logdaemon.log 等)。
  2. systemd-journald:适用于使用 systemd 的发行版(如 CentOS 8+/Rocky Linux、Ubuntu 16.04+),日志通过 journalctl 命令查看,默认存储在内存中,重启后可能丢失,需配置持久化。

二、开启传统日志记录(以 rsyslog 为例)

1.
检查 rsyslog 服务状态

bash

systemctl status rsyslog

systemctl start rsyslog

systemctl rsyslog

2.
配置 rsyslog 规则

日志配置文件为 /etc/rsyslog.conf/etc/rsyslog.d/ 目录下的自定义文件(.conf 结尾)。

  • 启用本地日志记录(默认已开启,如需修改日志级别或路径):
    编辑配置文件,找到类似以下规则(日志级别和目标路径可调整):conf
    # 记录所有等级的系统日志到 /var/log/syslog

    *.info;mail.none;authpriv.none;cron.none /var/log/syslog

    # 记录认证相关日志到 /var/log/auth.log

    authpriv.* /var/log/auth.log

    # 记录邮件日志到 /var/log/mail.log(若启用邮件服务)

    mail.* -/var/log/mail.log

  • 启用远程日志接收(可选,接收其他服务器日志):
    取消注释并修改以下行(允许 UDP/TCP 514 端口接收日志):conf
    # 启用 UDP 接收(传统 syslog 协议)

    $ModLoad imudp

    $UDPServerRun 514

    # 启用 TCP 接收(适合可靠传输)

    $ModLoad imtcp

    $InputTCPServerRun 514

3.
重启 rsyslog 使配置生效

bash

systemctl restart rsyslog

4.
验证日志生成

检查日志文件是否存在且有新条目:
bash

  /var/log/syslog  

/var/log/auth.log

三、开启 systemd-journald 持久化日志(适用于新系统)

journald 日志默认存储在内存中,重启后丢失,需配置持久化:

1.
修改 journald 配置

bash

  /etc/systemd/journald.conf

找到以下行并取消注释,设置存储方式为持久化:
conf

Storage=persistent  # 日志存储到磁盘(/var/log/journal/)

# 可选:设置日志保留时间(如 7 天)

# SystemMaxRetentionSec=7d

2.
重启 journald 服务

bash

systemctl restart systemd-journald

3.
查看持久化日志

bash

journalctl -1  

journalctl

四、开启特定服务的日志(如 SSH、Web 服务)

不同服务需单独配置日志,示例如下:

1.
SSH 日志(sshd)

确保 /etc/ssh/sshd_config 中日志级别正确(默认已记录认证日志到 auth.log):
conf

SyslogFacility AUTHPRIV  # 日志类型

LogLevel INFO # 日志级别(DEBUG 可记录更详细信息)

重启 SSH 服务:
bash

systemctl restart sshd

2.
Apache/Nginx 日志

  • Apache:修改 /etc/apache2/apache2.conf 或虚拟主机配置,启用访问 / 错误日志:conf
    LogLevel warn

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

  • Nginx:修改 /etc/nginx/nginx.conf,启用日志:conf
    access_log /var/log/nginx/access.log;

    error_log /var/log/nginx/error.log warn;

重启服务:
bash

systemctl restart apache2  

五、日志管理最佳实践

  1. 日志轮换:通过 logrotate(配置文件在 /etc/logrotate.conf/etc/logrotate.d/)自动切割、压缩旧日志,避免磁盘爆满。
  2. 权限控制:确保日志文件仅可被 root 或授权用户访问:bash
      /var/log/auth.log  

  3. 远程集中存储:使用工具(如 ELK Stack、Graylog、Splunk)集中管理多服务器日志,便于分析和监控。
  4. 安全加固:禁止远程直接修改日志文件,定期审计日志完整性。

总结

  • 传统系统:使用 rsyslog 管理 /var/log/ 目录下的日志,通过配置文件启用所需日志级别和路径。
  • systemd 系统:配置 journald 持久化存储,并结合 journalctl 命令查看日志。
  • 服务日志:每个服务(如 SSH、Web 服务器)需单独在其配置文件中启用日志记录。

根据具体需求选择合适的日志系统,并结合日志管理工具提升运维效率。

阅读更多 >>>  如何在xp下安装linux双系统

网站数据信息

"如何开启linux服务器日志记录"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:如何开启linux服务器日志记录的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!