龙空技术网

centos7-查看systemd系统日志

linux运维菜 717

前言:

而今兄弟们对“centos7查询软件”大体比较重视,各位老铁们都需要学习一些“centos7查询软件”的相关知识。那么小编也在网上收集了一些关于“centos7查询软件””的相关内容,希望我们能喜欢,大家快快来学习一下吧!

Centos7日志

Centos7已经使用上了systemd,systemd 提供了自己日志系统(logging system),称为 journal。

注:Centos7同时还提供兼容之前框架的日志,同样是在/var/logs/里面,这个还是比较友好的。

查看日志命令

journalctl

默认情况下(当 Storage= 在文件 /etc/systemd/journald.conf 中被设置为 auto),日志记录将被写入 /var/log/journal/。

该目录是 systemd 软件包的一部分。

若被删除,systemd 不会自动创建它,直到下次升级软件包时重建该目录。

如果该目录缺失,systemd 会将日志记录写入 /run/systemd/journal,这意味着,系统重启后日志将丢失。

过滤输出

journalctl可以根据特定字段过滤输出,例如:

显示本次启动后的所有日志:

journalctl -b

上次启动时的日志:

journalctl --since=today | tac | sed -n '/-- Reboot --/{n;:r;/-- Reboot --/q;p;n;b r}' | tac

以上命令输出今天内的所有启动信息。但要注意,如果日志很多,该命令执行时间会比较漫长。

动态跟踪最新信息:

journalctl -f

显示特定程序的所有消息:

journalctl /usr/lib/systemd/systemd

显示特定进程的所有消息:

journalctl _PID=1

显示指定单元的所有消息:

journalctl -u netcfg

详情参阅man journalctl、man systemd.journal-fields。

日志大小限制

如果按上面的操作保留日志的话,默认日志最大限制为所在文件系统容量的 10%,即:如果 /var/log/journal 储存在 50GiB 的根分区中,那么日志最多存储 5GiB 数据。可以修改 /etc/systemd/journald.conf中的 SystemMaxUse 来指定该最大限制。如限制日志最大 50MiB:

SystemMaxUse=50M

详情参见 man journald.conf.

配合 syslog 使用

systemd 提供了 socket /run/systemd/journal/syslog,以兼容传统日志服务。所有系统信息都会被传入。要使传统日志服务工作,需要让服务链接该 socket,而非 /dev/log(官方说明)。Arch 软件仓库中的 syslog-ng 已经包含了需要的配置。

设置开机启动 syslog-ng:

systemctl enable syslog-ng

标签: #centos7查询软件