Citrix ADC

如何配置日志文件轮换

Citrix ADC 设备以多个目录和各种格式生成日志。默认情况下,这些日志中的某些日志不会轮换,而且大小可能会占用太多磁盘空间。通过使用包含的实用程序进行日志轮换 (newsyslog),您可以通过仅保留相关信息以便于管理和管理,一致地管理这些日志。

Citrix ADC 固件中包含的 newsyslog 实用程序可以存档日志文件并旋转系统日志,以便在轮换期间当前日志为空。系统 crontab 每小时运行一次此实用程序,并读取配置文件,该文件指定要旋转的文件和条件。如有必要,可能会压缩存档的文件。

现有配置位于 /etc/newsyslog.conf 中。但是,由于此文件位于内存文件系统中,管理员必须将修改保存到 /nsconfig/newsyslog.conf,以便配置能够继续重新启动 NetScaler。

此文件中包含的条目具有以下格式: logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]

注意:

方括号内的字段是可选的,可省略。

文件中的每一行代表一个日志文件和必须进行轮换的条件。

在该示例中,size 字段指示 ns.log 的大小为 100 KB。count 字段指示存档的 ns.log 文件的数量为 25。大小为 100 K 和计数 25 是默认大小和计数值。

注意:

当字段配置为星号 (*) 时,表示 ns.log 文件不会根据时间旋转。每小时,crontab 作业都会运行 newsyslog 实用程序,该实用程序检查 ns.log 的大小是否大于或等于在此文件中配置的大小。在此示例中,如果它大于或等于 100 K,则旋转该文件。

root@ns# cat /etc/newsyslog.conf
# Netscaler newsyslog.conf

# This file is present in the memory filesystem by default, and any changes
# to this file will be lost following a reboot. If changes to this file
# require persistence between reboots, copy this file to the /nsconfig
# directory and make the required changes to that file.
#
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/auth.log 600 7 100 * Z
/var/log/ns.log 600 25 100 * Z

可以更改 size 字段以修改 ns.log 文件的最小大小,也可以更改字段以根据特定时间旋转 ns.log 文件。

每日、每周和/或每月规格分别为:[Dhh][Dhh [Mdd]]。时间字段(可选)默认为午夜。这些规格的范围和含义如下:

Hh hours, range 0 ... 23
w day of week, range 0 ... 6, 0 = Sunday
dd day of month, range 1 ... 31, or the letter L or l to specify the last day of the month.

示例:

以下是一些例子,说明默认情况下旋转的日志:

/var/log/auth.log 600 7 100 * Z

当文件达到 100 K 时,身份验证日志将旋转,auth.log 的最后 7 个副本被存档并使用 gzip(Z 标志)压缩,并为生成的存档分配以下权限 —rw—。

/var/log/all.log 600 7 * @T00 Z

捕捉所有日志在每晚午夜 (@T00) 旋转 7 次,并使用 gzip 压缩。生成的归档文件分配了以下权限 —rw-r—。

/var/log/weekly.log 640 5 * $W6D0 Z

每周日志在每周一午夜旋转 5 次。将为生成的存档分配权限。

常见旋转模式:

  • D0。每晚午夜旋转
  • D23。每天在 23:00 旋转
  • W0D23。每周旋转周日 23:00
  • W5。每周旋转周五午夜
  • MLD6。在每个月的最后一天在 6:00 旋转
  • M5。每月第五天在午夜旋转

如果同时给定了间隔和时间规范,则必须满足这两个条件。也就是说,文件必须与指定的时间间隔一样旧,并且当前时间必须与时间规范匹配。

您可以控制最小文件大小,但在 newsyslog 实用程序在下一个小时时间段内完成之前,文件大小没有限制。

调试新系统日志:

要调试 newsyslog 实用程序的行为,请添加详细标志。

root@dj_ns# newsyslog -v
/var/log/cron <3Z>: size (Kb): 31 [100] --> skipping
/var/log/amd.log <7Z>: does not exist, skipped.
/var/log/auth.log <7Z>: size (Kb): 2 [100] --> skipping
/var/log/kerberos.log <7Z>: does not exist, skipped.
/var/log/lpd-errs <7Z>: size (Kb): 0 [100] --> skipping
/var/log/maillog <7Z>: --> will trim at Tue Mar 24 00:00:00 2009
/var/log/sendmail.st <10>: age (hr): 0 [168] --> skipping
/var/log/messages <5Z>: size (Kb): 7 [100] --> skipping
/var/log/all.log <7Z>: --> will trim at Tue Mar 24 00:00:00 2009
/var/log/slip.log <3Z>: size (Kb): 0 [100] --> skipping
/var/log/ppp.log <3Z>: does not exist, skipped.
/var/log/security <10Z>: size (Kb): 0 [100] --> skipping
/var/log/wtmp <3>: --> will trim at Wed Apr 1 04:00:00 2009
/var/log/daily.log <7Z>: does not exist, skipped.
/var/log/weekly.log <5Z>: does not exist, skipped.
/var/log/monthly.log <12Z>: does not exist, skipped.
/var/log/console.log <5Z>: does not exist, skipped.
/var/log/ns.log <5Z>: size (Kb): 18 [100] --> skipping
/var/log/nsvpn.log <5Z>: size (Kb): 0 [100] --> skipping
/var/log/httperror.log <5Z>: size (Kb): 1 [100] --> skipping
/var/log/httpaccess.log <5Z>: size (Kb): 1 [100] --> skipping
root@dj_ns#

如何配置日志文件轮换