Citrix ADC

ログファイルのローテーションを構成する方法

Citrix ADCアプライアンスは、複数のディレクトリおよびさまざまな形式でログを生成します。これらのログの中には、デフォルトではローテーションされず、サイズが大きくなりすぎてディスク容量が消費されるものもあります。ログのローテーションに付属のユーティリティ (newsyslog) を使用すると、管理や管理を容易にするため、関連する情報のみを保持することで、これらのログを一貫して管理できます。

Citrix ADCファームウェアに含まれるnewsyslog ユーティリティーは、ログファイルをアーカイブし、システムログをローテーションして、ローテーション中に現在のログが空になるようにします。システムcrontabは、このユーティリティを1時間ごとに実行し、ローテーションするファイルと条件を指定する設定ファイルを読み込みます。アーカイブされたファイルは、必要に応じて圧縮される場合があります。

既存の設定は/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 ジョブは、1 時間ごとに、ns.log のサイズがこのファイルに構成されているサイズ以上かどうかをチェックするnewsyslog ユーティリティを実行します。この例では、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]]として与えられます。時刻フィールド(オプション)は、デフォルトで午前 0 時に設定されます。これらの仕様の範囲と意味は次のとおりです。

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時00分に回転
  • M5。真夜中に月の5日おきに回転する

間隔と時間指定の両方が指定されている場合は、両方の条件を満たす必要があります。つまり、ファイルは指定された間隔より古いものでなければなりません。また、現在の時刻は時刻指定と一致する必要があります。

最小ファイルサイズは制御できますが、newsyslog ユーティリティが次の時間スロットに順番に入る前に、ファイルサイズに制限はありません。

newsyslog のデバッグ:

newsyslogユーティリティの動作をデバッグするには、verbose フラグを追加します。

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#

ログファイルのローテーションを構成する方法