Linux服务器管理员Journald初级指南

运维 系统运维
Journald是为Linux服务器打造的新系统日志方式,它标志着文本日志文件的终结。现在日志信息写入到二进制文件,使用journalctl阅读,要获得这些信息,Linux管理员将需要一些实践。

Journald是为Linux服务器打造的新系统日志方式,它标志着文本日志文件的终结。现在日志信息写入到二进制文件,使用journalctl阅读,要获得这些信息,Linux管理员将需要一些实践。

Red Hat Enterprise Linux 7与SUSE Linux Enterprise Server 12这些下一代的Linux发行版本使用systemd管理服务。journal是systemd的一个组件,由journald处理。它捕获系统日志信息、内核日志信息,以及来自原始RAM磁盘的信息,早期启动信息以及所有服务中写入STDOUT和STDERR数据流的信息。Journald快速改变着服务器如何处理日志信息与管理员如何访问的方式。

对日志文件说再见

在systemd与journald世界中没有日志文件的位置。journald日志写入二进制文件,在红帽系统上,位于/run/log/journal中。你不应该也不能使用页面打开文件。反之,使用journalctl查看内容。该命令显示所有登录到服务器的信息(见表1)。

表1:journalctl输出表默认格式的样子。

  1. Apr 04 09:48:59 localhost.localdomain chronyd[768]: Can't synchronise: no majority 
  2. Apr 04 09:50:01 localhost.localdomain systemd[1]: Starting Session 3 of user root. 
  3. Apr 04 09:50:01 localhost.localdomain systemd[1]: Started Session 3 of user root. 
  4. Apr 04 09:50:01 localhost.localdomain CROND[3699]: (root) CMD (/usr/lib64/sa/sa1 1 1) 
  5. Apr 04 09:50:03 localhost.localdomain chronyd[768]: Selected source 46.249.47.127 
  6. Apr 04 09:50:03 localhost.localdomain chronyd[768]: System clock wrong by -2.417074 seconds, adjustment started 
  7. Apr 04 09:50:36 localhost.localdomain pulseaudio[3163]: [alsa-sink] alsa-sink.c: ALSA woke us up to write new data to the device, but there 
  8. Apr 04 09:50:36 localhost.localdomain pulseaudio[3163]: [alsa-sink] alsa-sink.c: Most likely this is a bug in the ALSA driver 'snd_ens1371'. 
  9. Apr 04 09:50:36 localhost.localdomain pulseaudio[3163]: [alsa-sink] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent s 
  10. Apr 04 09:51:07 localhost.localdomain chronyd[768]: Selected source 81.171.44.131 
  11. Apr 04 09:52:12 localhost.localdomain chronyd[768]: System clock wrong by 0.669116 seconds, adjustment started 
  12. Apr 04 09:53:17 localhost.lo 

无需担心,journalctl有很多过滤选项。Journalctl -b过滤在启动时产生的信息。Journalctl --since=yesterday只显示自从昨天登录开始的信息。管理员可以从具体的天数范围搜索信息:例如,journalctl --since=2014-03-15 --until="2014-03-17 23:59:59"。使用journalctl -u httpd since=00:00 --until=8:00查看昨晚登录的httpd进程。如果管理员掌握了高级的journald过滤选项,分析日志文件就更加轻松。

某些情况下,journalctl显示的默认日志信息在细节上还不够。要获得更多信息,将输出格式设置为verbose,使用命令journalctl -o verbose -n。

表2:通过显示verbose日志信息,Linux管理员可以从日志文件获取更多信息。

  1. Fri 2014-04-04 10:12:32.072521 CEST [s=a52ddd97575747a18c6378d388b2b9ff;i=955;b=bc03fb52eddb41 
  2. b0bb4829ae19c1c286;m=8f1dd 5f2;t=4f633145a58d9
  3. PRIORITY=6 
  4. _UID=0 
  5. _GID=0 
  6. _BOOT_ID=bc03fb52eddb41b0bb4829ae19c1c286 
  7. _MACHINE_ID=1fbfd90ac4fc49919fe1b63d6bcf9097 
  8. _HOSTNAME=localhost.localdomain 
  9. SYSLOG_FACILITY=3 
  10. _TRANSPORT=syslog 
  11. _SYSTEMD_CGROUP=/system.slice/network.service 
  12. _SYSTEMD_UNIT=network.service 
  13. SYSLOG_IDENTIFIER=dhclient 
  14. _COMM=dhclient 
  15. E=/usr/sbin/dhclient 
  16. _CMDLINE=/sbin/dhclient -H localhost -1-q-lf/var/lib/dhclient/dhclient-0b5faf33-6df0-4f11-bbb9-659b5cd940e9-ens33.lease -pf /var/run/ 
  17. _CAP_EFFECTIVE=0000000000203402 
  18. _SELINUX_CONTEXT=system_u:system_r:dhcpc_t:s0 
  19. SYSLOG_PID=1760 
  20. _PID=1760 
  21. MESSAGE=bound to 192.168.4.232 -- renewal in 892 seconds. 
  22. _SOURCE_REALTIME_TIMESTAMP=1396599152072521 

Logrotate与远程日志

你所习惯的一些运作方式发生了变化。关闭与归档日志文件的系统Logrotate变得日益巨大。在journald上,没有必要循环日志文件。它构建的目的在于监控存储卷上的剩余空间。如果卷快满了,就删除旧有记录释放空间。要为journald日志设置一个***尺寸,在/etc/systemd/journal.conf文件中修改SystemMaxUse参数。

远程日志又是另一回事了。如果你的数据中心有一个远程日志服务器,那就应该保留。journald不是对集中日志服务器,如rsyslog或syslog-ng do的完全替代。Journald没有将来自其他服务器或设备的日志文件进行替代的选项。也没有指定哪台日志服务器的日志事件可以转发的选项。如果你想要journald在其他地方存放日志信息,***做法是将信息转发给[r]syslog[{d-ng}],在这里处理集中的日志。

责任编辑:黄丹 来源: TechTarget中国
相关推荐

2014-06-06 13:59:52

服务器管理员PowerShell

2013-04-08 10:47:33

邮件服务器管理电子邮件

2011-11-11 18:55:21

2018-12-19 10:59:46

2019-09-01 23:20:10

无服务器计算无服务器数据中心

2012-09-25 10:17:08

Linux服务器系统管理员服务器

2012-10-22 13:30:35

2014-02-28 14:22:14

SDN服务器

2013-05-24 10:33:01

服务器宕机系统管理员

2010-08-31 15:04:39

2010-02-03 17:36:56

Linux系统

2013-06-27 09:19:08

2015-03-11 14:15:07

微软Azure创建私有云基础设施即服务

2011-09-29 10:04:24

2015-07-27 16:46:16

微分割服务器

2012-04-13 09:28:04

IT管理员数据断流服务器

2010-08-03 10:28:32

管理员服务器

2012-10-22 13:46:27

2011-04-01 10:07:55

虚拟化

2010-04-27 19:21:50

Windows Ser
点赞
收藏

51CTO技术栈公众号