HCRM博客

CentOS 7日志,如何有效管理和解读系统日志文件?

CentOS 7 常用查看日志命令

1、系统日志

CentOS 7日志,如何有效管理和解读系统日志文件?-图1
(图片来源网络,侵权删除)

/var/log/messages:系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一。

/var/log/secure:与安全相关的日志信息,如登录、sudo操作等。

/var/log/maillog:与邮件相关的日志信息。

/var/log/cron:与定时任务相关的日志信息。

/var/log/boot.log:守护进程启动和停止相关的日志消息。

2、查看日志的方法

CentOS 7日志,如何有效管理和解读系统日志文件?-图2
(图片来源网络,侵权删除)

cat:用于查看整个日志文件内容,例如cat /var/log/messages

less分页查看日志文件,可以方便地浏览大文件,例如less /var/log/messages

tail:查看文件末尾部分的内容,通常用于查看最新的日志条目,例如tail n 20 /var/log/messages(显示最后20行)。

grep:筛选包含特定关键词的日志行,例如grep "error" /var/log/messages

journalctl:用于查看由systemd管理的日志,支持多种过滤和搜索功能,例如journalctl u httpd.service(查看httpd服务的日志)。

日志管理工具 journalctl

CentOS 7日志,如何有效管理和解读系统日志文件?-图3
(图片来源网络,侵权删除)

1、基本使用

查看所有日志journalctl

查看内核日志journalctl k

查看系统本次启动的日志journalctl b

查看上一次启动的日志:需更改设置以启用永久存储,然后使用journalctl b 1

查看指定时间的日志:使用sinceuntil选项,例如journalctl since "20171030 18:10:30"

2、按服务过滤日志

查看特定服务的日志journalctl u <服务名>.service,例如journalctl u httpd.service

按进程ID过滤日志journalctl _PID=<进程ID>

按用户或群组ID过滤日志journalctl _UID=<用户ID>journalctl _GID=<群组ID>

3、高级用法

实时滚动显示最新日志journalctl f

合并显示多个服务的日志journalctl u nginx.service u phpfpm.service since today

按优先级过滤日志journalctl p <优先级>,例如journalctl p err(只显示错误级别及以上的日志)。

日志配置与优化

1、持久化存储

创建/var/log/journal目录并重启日志服务:

```bash

sudo mkdir /var/log/journal

sudo chown root:systemdjournal /var/log/journal

sudo chmod 2775 /var/log/journal

sudo systemctl restart systemdjournald.service

```

修改配置文件/etc/systemd/journald.conf,将Storageauto改为persistent,然后重启日志服务。

2、日志数据清理

按大小清理日志:journalctl vacuumsize=1G

按时间清理日志:journalctl vacuumtime=1d

3、配置日志容量限制

编辑/etc/systemd/journald.conf文件,设置以下参数:

SystemMaxUse:指定日志所能使用的最高持久存储容量。

SystemKeepFree:指定在添加新条目时需要保留的剩余空间。

SystemMaxFileSize:控制单一日志文件大小。

RuntimeMaxUse:指定易失性存储中的最大可用磁盘容量。

RuntimeKeepFree:指定向易失性存储内写入数据时为其它应用保留的空间量。

RuntimeMaxFileSize:指定单一日志文件可占用的最大易失性存储容量。

相关问答 FAQs

1、如何查看CentOS 7中某个服务的日志?

可以使用journalctl u <服务名>.service命令来查看某个服务的日志,要查看httpd服务的日志,可以执行journalctl u httpd.service

2、如何在CentOS 7中持久化保存日志?

可以通过以下步骤实现日志的持久化保存:

1. 创建/var/log/journal目录并设置权限:

```bash

sudo mkdir /var/log/journal

sudo chown root:systemdjournal /var/log/journal

sudo chmod 2775 /var/log/journal

```

2. 修改/etc/systemd/journald.conf配置文件,将Storageauto改为persistent

3. 重启systemdjournald服务:sudo systemctl restart systemdjournald.service

分享:
扫描分享到社交APP
上一篇
下一篇