はじめに
NSO のログのローテーションには logrotate 等の外部ユーティリティを使用します。
Ver 4.1 以降の NSO ではシステムインストールした場合のみ、
デフォルトで logrotate の設定ファイルがインストールされるようになりました。
本ドキュメントでは logrotate のデフォルト設定と、注意事項について記載します。
デフォルトの設定
システムインストール実行時に配置される設定ファイルは /etc/logrotate.d/ncs です。
対象のファイルは /var/log/ncs 配下の *.log *.access *.trace になっています。
ファイル名を変更していなければ、エラーログ(ncserr.log*)以外の全てのログファイルが該当します。
NSO のエラーログ(ncserr.*) は例外的に NSO によってローテーションされます。
logrotate 等の対象に含めないようご注意ください。
ローテーション実行後(postrotate)に実行される ncs_cmd -c reopen_logs によって
NSO はログを再オープンします。
デフォルトの設定は以下のとおりです。
必要に応じてローテーションの頻度、サイズ、ファイル数等を追加設定してご利用ください。
# This file is intended for install as /etc/logrotate.d/ncs,
# with generic options like 'rotate', 'dateext', etc in /etc/logrotate.conf
/var/log/ncs/*.log /var/log/ncs/*.access /var/log/ncs/*.trace {
missingok
notifempty
compress
sharedscripts
nocreate
postrotate
/opt/ncs/current/bin/ncs_cmd -c reopen_logs > /dev/null || true
endscript
}
注意事項
NED トレース(ned-cisco-ios-ios.trace 等)は NSO 4.4.5, NSO 4.5, NSO 4.6 以降でローテーションされるようになりました。それ以前の NSOバージョンでは、ローテーションのタイミングで新しい NED トレースのログファイルが生成されないため、ローテーション以降のログメッセージが書き込まれなくなります。
ログが書き込まれなくなったデバイスに対して disconnect、connect を実行すると、ログファイルが生成されてログメッセージの書き込みが再開します。
admin@ncs# devices disconnect
admin@ncs# devices connect
connect-result {
device XXX
result true
info (admin) Connected to XXX - X.X.X.X:22
}