ADC

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

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

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

既存の設定は/etc/newsyslog.confにあります。ただし、このファイルはメモリファイルシステムにあるため、 /nsconfig/newsyslog.conf NetScalerを再起動しても構成が存続できるように、管理者は変更を保存する必要があります。

このファイルに含まれるエントリの形式は次のとおりです。 logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]

注:

角括弧内のフィールドはオプションで、省略できます。

ファイルの各行はログファイルと、ローテーションを行う必要がある条件を表しています。

この例では、 size フィールドのサイズは 100 KB ns.log と表示されています。countフィールドには、アーカイブされたns.logファイルの数が 25 と表示されます。サイズは 100 K、カウントは 25 がデフォルトのサイズとカウント値です。

注:

フィールドがアスタリスク (*) で設定されている場合、ns.log ファイルは時間に基づいてローテーションされません。1 時間ごとに 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]]の形式で示されます。時間フィールドはオプションで、デフォルトは午前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.
<!--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

週次ログは、毎週月曜日の午前0時に5回ローテーションされます。作成されたアーカイブには権限が割り当てられます。

一般的な回転パターン:

  • D0. 毎晩深夜にローテーションします
  • D23. 毎日 23:00 にローテーションします
  • W0D23. 毎週日曜日の 23:00 にローテーションします
  • W5. 毎週金曜日の深夜にローテーションします
  • MLD6. 毎月最終日の 6:00 にローテーション
  • M5. 毎月5日おきに深夜にローテーションします

間隔と時間の両方を指定する場合は、両方の条件を満たす必要があります。つまり、ファイルは指定された間隔と同じかそれよりも古く、現在の時刻は時間指定と一致している必要があります。

最小ファイルサイズを制御することはできますが、 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#
<!--NeedCopy-->
ログファイルのローテーションを設定する方法

この記事の概要