[Cisco] logging buffered の推奨値が 512000 という情報は罠

ルータ

logging buffered 設定とは

Cisco のルータ/スイッチにおける logging buffered 設定とは、機器のメモリ上のログバッファのサイズを決める設定です。この設定値がより大きければより多くのログが機器メモリ上に保存されることになります。

logging buffered のデフォルト値は機種やバージョンによって 4096 [byte] だったり 8192 [byte] だったりします。

logging buffered の推奨値は 512000??

logging buffered の推奨値について検索すると、「デフォルトの 4096 [byte] では小さいので増やしましょう。Cisco 推奨値は 512000 です。」というような情報がすぐに見つかります。

logging buffered 512000

しかし、この値のソースを探してみても見つかりませんでした。見つかったのは「設定や環境によってログ出力量に差があるので一概に推奨値を提示するのは難しい。検証して値を決めてください。」という情報のみでした。

よって Cisco の推奨値が 512000 であるという情報は信用しないことをお勧めします。

logging buffered 512000 にすると何が起こるのか?

結論としては、コンソール接続でのログの取得にとんでもなく時間がかかるようになります。

logging buffered 512000 の場合のログの量

C891FJ-K9 で logging buffered 512000 を設定した上で、ログバッファをいっぱいにしてみます。

以下のような良くある Line protocol down のログでログバッファを満たしてみました。
(EEM を使用してログを生成しています。)

*Dec 24 03:11:15.731: %HA_EM-6-LOG: testeem: LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet3, changed state to down

結果として、保存されるログの行数は約 4000 行でした。

コンソール接続でのログ取得に要する時間

上記の通りログバッファが満たされた状態でコンソール接続して show logging を実行し、ログがすべて表示されるまでの時間を計測してみました。

結果としては以下の通り約 10 分を要しました。

現地作業時にログ取得で 10 分はキツイ

ネットワーク機器に関する現地作業ではコンソール接続でログ取得をすることが良くあります。

場合によってはリアルタイムに細かくログを取得して内容確認する必要がありますが、一度ログを確認する度に 10 分かかるというのは、障害対応などであれば致命的になります。

またうっかり show logging を実行してしまった場合、10 分間はコンソールからの機器操作が不可能になるということもいえます。

結局 logging buffered の値はどうすれば良いのか

機器の設定およびネットワーク環境、そしてユーザの運用方針に基づいて適切と思われる値を決めるしかないと思います。

例えば、Syslog サーバを使用する環境で、機器上では直近のログが確認できればよく、過去のログについては Syslog サーバにて確認する運用とするのであれば、機器のログバッファは小さめにするということが考えられます。

逆に、Syslog サーバを使用せず、かつ機器上である程度過去にさかのぼってログを確認する必要があるというような場合は、機器のログバッファをある程度大きくするということが考えられます。

参考:ログバッファサイズ別のログ行数と表示所要時間

C891FJ-K9 でログバッファサイズ別に、以下のような Line protocol down のログでログバッファを満たした場合のログ行数とコンソール接続での show logging での表示所要時間を検証しました。

*Dec 24 03:11:15.731: %HA_EM-6-LOG: testeem: LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet3, changed state to down

ログバッファサイズ [byte]ログ行数表示所要時間
409659 行6 秒
819289 行10 秒
16384120 行20 秒
32768240 行39 秒
65536479 行77 秒
131072958 行152 秒

上記の通り、ログバッファサイズとログ行数/表示所要時間はほぼ比例関係になっています。

個人的には、バッファサイズが 8192 以下だと保存できる量が少ない、表示時間が 60 秒を超えるのは長い、という印象です。

参考資料

Cisco IOS / IOS-XE においてログの設定を行う方法
紹介 多くのネットワーク管理者がルーター/スイッチから発生するログの重要性を見逃していますが、Logging はエラー通知、ネットワークフォレンジックやセキュリティ監査に使用できる有用な機能です。 シスコルーター/スイッチのログメッセージは...
debug 取得と logging buffer のサイズについて
debug を取得する際によくある下記2つの質問について書いておきます。 Q1. debug を有効にすると通信への影響がないでしょうか。 A1. debug の設定をすることで、CPU負荷の上昇は発生いたします。しかし、console へ...
logging buffer のサイズを調整する際の注意点
logging buffer コマンドにより、logging size を調整する場合、Processor Pool からbuffer の割当が行われますので、設定を行う前に、show process memory などのコマンドで、Pro...


タイトルとURLをコピーしました