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

捕获日志在每晚午夜轮换 7 次 (@T00),然后用 gzip 进行压缩。生成的档案被分配以下权限 —rw-r—。

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

每周日志在每周一午夜轮换 5 次。生成的存档被分配了权限。

常见的旋转模式:

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

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

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

调试 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#
如何配置日志文件轮换