syslog服务说明

Syslog 是 Linux 环境中记录系统和程序消息的通用标准。
该服务构成了系统日志守护进程,其中任何程序都可以通过 Linux 内核消息进行日志记录(调试、安全、正常操作)。

原则上,syslog处理的日志在Linux系统的/var/log/目录下:

# ls /var/log
boot.log                 cloud-init-output.log                   firewalld           maillog            rhsm              tallylog
anaconda                 btmp             cron                   gdm                 maillog-20151219   samba             tuned
audit                    btmp-20151219    cron-20151219          grubby              messages           secure            wpa_supplicant.log
auth.log                 choose_repo.log  dmesg                  grubby_prune_debug  messages-20151219  secure-20151219   wtmp
yum.log                  chrony           dmesg.old              lastlog             pm-powersave.log   spooler           xrdp.log

其中一些日志被转储到像cups、samba、httpd这样的子目录下。
在 /var/log 下的日志中,/var/log/messages 是最常见的,因为内核/核心系统日志保存在那里。
内核模块通常也会在那里转储。
因此,对于问题诊断/监控,/var/log/messages 是要检查的主要日志文件。

日志每周轮换一次(将现有日志重命名为 filename.number 顺序):

# ls -l /var/log/messages*
-rw------- 1 root root   1973 Jun 10 15:07 /var/log/messages
-rw------- 1 root root  10866 Jun  6 04:02 /var/log/messages.1
-rw------- 1 root root  19931 Jan 30 04:02 /var/log/messages.2
-rw------- 1 root root 238772 Jan 23 04:02 /var/log/messages.3
-rw------- 1 root root 171450 Jan 14 18:29 /var/log/messages.4

每周轮换的日志文件在 4 周后被删除(总日志跨度为 5 周)。
这种轮换机制由 crond 和 logrotate 提供。

rsyslog 包还提供了 rsyslogd,它是 syslogd 的更可靠和扩展版本。
有关更多信息,请安装 rsyslog 包并查看 rsyslogd 的手册页。

www. On IT Road .com

服务控制

要启动 syslog 服务,请使用以下任一命令:

# service syslog start
# /etc/init.d/syslog start

要停止 syslog 服务,请使用以下任一命令:

# service syslog stop
# /etc/init.d/syslog stop

要查看运行级别和服务可用性,请运行:

# chkconfig --list syslog
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off

如果该服务被禁用,我们可以通过以下方式启用该服务:

# chkconfig --list syslog
syslog          0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig syslog on
# chkconfig --list syslog
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off

配置syslog

syslogd 服务的配置文件是 /etc/sysconfig/syslog 。
默认文件如下:

# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
#    once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"
#
SYSLOG_UMASK=077
# set this to a umask value to use for all log files as in umask(1).
# By default, all permissions are removed for "group" and "other".

在那里你会看到两组不同的选项:
klogd 内核日志守护进程:这是从 Linux 内核捕获消息并将它们记录到文件中的守护进程。

syslogd 系统日志守护进程:其他消息拦截和日志记录。

默认配置文件列出了一些我们可以进一步描述的选项:
系统日志选项:

  • -m interval :每间隔分钟放置一行带有“MARK”的行。 "-m 0" 完全禁用 "MARK"'ing
  • -r :用于使该工具能够使用带有 syslog 服务的 Internet 域套接字从网络接收消息。
  • -x :当日志从网络到达时(通过 -r 选项),源地址将在创建的日志中提供。这些地址将在 DNS 中查找。如果发生过于频繁的远程日志记录(通常是远程站点出现问题时的情况),则最好不要花时间进行 DNS 查找。此选项可用于禁用 DNS 查找。
  • -S : 详细日志记录
  • -d : syslogd 的调试模式

klogd 选项:

  • -2 : 用原始文本打印一次行,再用转换为符号的地址打印一次。这将需要 ksymoops 对原始数据进行处理。
  • -x :不做 EIP 转换(用于 OOPS)不读取 System.map 文件(提高转储速度)
  • -d : klogd 的调试模式
  • -c n :控制台消息的默认日志级别

umask : SYSLOG_UMASK 控制生成的日志文件的默认访问权限/权限。

Linux 操作系统“syslog”服务
日期:2020-09-17 00:14:39 来源:oir作者:oir