找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 技术 查看内容

Systemd服务简介

2014-07-09 20:05    评论: 9 收藏: 9 分享: 11    

日志

systemd 提供了自己日志系统(logging system),称为 journal. 使用 systemd 日志,无需额外安装日志服务(syslog)。读取日志的命令:

# journalctl

默认情况下(当 Storage= 在文件 /etc/systemd/journald.conf 中被设置为 auto),日志记录将被写入 /var/log/journal/。该目录是 systemd 软件包的一部分。若被删除,systemd 不会自动创建它,直到下次升级软件包时重建该目录。如果该目录缺失,systemd 会将日志记录写入 /run/systemd/journal。这意味着,系统重启后日志将丢失。

过滤输出

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

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

# journalctl -b

不过,一般大家更关心的不是本次启动后的日志,而是上次启动时的(例如,刚刚系统崩溃了)。目前还没有这项功能,正在 systemd-devel@lists.freedesktop.org 讨论中。

目前的折中方案是:

# 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,以及 Lennert 的这篇博文

日志大小限制

如果按上面的操作保留日志的话,默认日志最大限制为所在文件系统容量的 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

这里有一份很不错的 journalctl 指南。

查看其它分页:

最新评论

我也要发表评论

netb2c 2014-07-13 00:03 2 回复
赶紧掌握,这就是技术前沿.
大圣万万岁 2014-07-10 09:27  新浪微博网友评论 回复
//@Linux中国:RHEL/CentOS 7已经来了,还不懂systemd的系统管理员要赶快学习啦。
大狗驴 2014-07-10 09:03  新浪微博网友评论 回复
//@Linux中国:RHEL/CentOS 7已经来了,还不懂systemd的系统管理员要赶快学习啦。
无名的城堡 2014-07-10 09:03  新浪微博网友评论 回复
XuYuanzhen 2014-07-10 09:03  新浪微博网友评论 回复
//@Linux中国:RHEL/CentOS 7已经来了,还不懂systemd的系统管理员要赶快学习啦。
Linux中国 2014-07-10 09:03  新浪微博网友评论 回复
RHEL/CentOS 7已经来了,还不懂systemd的系统管理员要赶快学习啦。
Rbmac 2014-07-09 21:03  新浪微博网友评论 回复
赞啊。。//@机智的阿卡林酱: 大坑
标叔叔叔叔叔叔叔叔 2014-07-09 21:03  新浪微博网友评论 回复
转发微博。
机智的阿卡林酱 2014-07-09 20:13  新浪微博网友评论 回复
大坑

收藏

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。