ADC

如何配置日志文件轮换

NetScaler 设备以多个目录和各种格式生成日志。其中一些日志默认不轮换,大小可能会增加,消耗过多的磁盘空间。通过使用随附的实用程序进行日志轮换 (newsyslog),您可以一致地管理这些日志,仅保留相关信息以便于管理和管理。

NetScaler 固件中包含的 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 千字节。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
<!--NeedCopy-->

可以更改 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.
<!--NeedCopy-->

示例:

以下是一些示例,解释了默认情况下轮换的日志:

/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: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#
<!--NeedCopy-->
如何配置日志文件轮换