插件窝 干货文章 不同类型的Linux日志文件及设置步骤

不同类型的Linux日志文件及设置步骤

日志 log var 配置 201    来源:    2025-04-09

Linux日志文件类型及设置指南

主要日志文件类型

1. 系统日志

  • 位置: /var/log/syslog (Debian/Ubuntu) 或 /var/log/messages (RHEL/CentOS)
  • 内容: 系统级消息、内核消息和各种服务的通用日志

2. 认证日志

  • 位置: /var/log/auth.log (Debian/Ubuntu) 或 /var/log/secure (RHEL/CentOS)
  • 内容: 用户认证相关事件,如登录、sudo使用等

3. 内核日志

  • 位置: /var/log/kern.log
  • 内容: 内核相关消息和错误

4. 启动日志

  • 位置: /var/log/boot.log
  • 内容: 系统启动过程中的消息

5. 应用程序日志

  • 位置: 通常位于/var/log/下,如:
    • Apache: /var/log/apache2//var/log/httpd/
    • Nginx: /var/log/nginx/
    • MySQL: /var/log/mysql/

6. 系统服务日志

  • 位置: 使用systemd的系统通常在/var/log/journal/
  • 查看命令: journalctl

日志设置与配置

1. 配置rsyslog (传统syslog)

配置文件: /etc/rsyslog.conf

常见设置:

# 设置日志级别
*.info;mail.none;authpriv.none;cron.none    /var/log/messages
authpriv.*                                  /var/log/secure
mail.*                                      -/var/log/maillog
cron.*                                      /var/log/cron
*.emerg                                     :omusrmsg:*

重启服务:

sudo systemctl restart rsyslog

2. 配置journald (systemd日志)

配置文件: /etc/systemd/journald.conf

常见设置:

[Journal]
Storage=persistent  # 持久化存储日志
SystemMaxUse=1G     # 最大日志大小
SystemMaxFiles=100   # 最大日志文件数

应用更改:

sudo systemctl restart systemd-journald

3. 日志轮转配置

配置文件: /etc/logrotate.conf/etc/logrotate.d/目录下的文件

示例配置 (如为nginx配置):

/var/log/nginx/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        /usr/sbin/nginx -s reopen >/dev/null 2>&1 || true
    endscript
}

手动运行测试:

sudo logrotate -vf /etc/logrotate.conf

4. 自定义日志位置

在rsyslog中添加:

# 将所有来自某个设施的日志记录到特定文件
local0.*    /var/log/myapp.log

然后在应用程序中配置使用local0设施记录日志。

日志管理最佳实践

  1. 定期清理: 设置合理的日志轮转策略
  2. 集中管理: 考虑使用ELK Stack (Elasticsearch, Logstash, Kibana) 或 Graylog进行集中日志管理
  3. 监控报警: 设置关键错误的实时报警
  4. 安全存储: 确保日志文件不被未授权访问
  5. 备份策略: 对重要日志进行定期备份

常用日志查看命令

  • tail -f /var/log/syslog - 实时查看日志
  • grep "error" /var/log/syslog - 搜索特定错误
  • journalctl -u nginx --since "2023-01-01" --until "2023-01-02" - 查看特定时间段的服务日志
  • dmesg - 查看内核环形缓冲区消息
  • last - 查看登录记录

通过合理配置和管理日志系统,您可以更好地监控系统状态、排查问题并满足合规性要求。