ログサーバー系のアプライアンスでお客さんからのご質問で多いのが、
「このぐらいの規模のネットワークだとどのくらいのログが貯まるの?」
「Syslogサーバーのストレージ容量はどのくらい必要なの?」といったご質問です。
当社も基本的にはお客様にSyslogサーバーをお貸出して、実際にログを一定期間収集していただき
サイジングしていただくといった事が多いですが、「本当にざっくりの目安でよいのだけど。。どのぐらいの容量が必要ですかね?」といったお声が耐えません。
最近様々な分野で活用が進む対話型AIですが、「ChatGPTとか使ったら目安ぐらいは算出してくれるのかなあ?」とふと思ったので、検証してみました。
使うのはChatGPTとGemini
今回の検証で使ったのは対話型AIの代表格であるOpenAI社のChatGPTと、Google社が作ったGeminiです。この2種類を使い検証してみようと思います。どちらも無償で使えるものを使用しています。
![](https://blog.plathome.co.jp/wp-content/uploads/gemini-1024x683.jpeg)
対話型AIへの聞き方
ログサーバーーサイジングの目安を対話型AIに算出してもらう際の聞き方ですが、ChatGPTもGeminiも同一の質問(プロンプト)で実施しました。
※正直対話型AIをそこまで使いこなしておらず。。「こんな聞き方じゃ良い回答は得られないよ!もっと良い聞き方あるよ!!」というご意見あればぜひいただきたいです。
あなたはプロのシステム設計者です。
以下条件のネットワーク環境下において、ネットワーク機器のログ収集を行いたい。
必要なSyslogサーバーのストレージ容量を算出してください。
・ネットワーク機器構成
ルーター1台
スイッチ3台
無線アクセスポイント2台
・クライアント台数
パソコン15台
スマートフォン5台
・通信頻度
9:00~18:00頃、WEBサイト閲覧、メール送受信が中心
・取得したいログ
ルーター、スイッチ、無線アクセスポイントのSyslogメッセージすべて
・ログの保存期間 1年間
聞いてみた結果
さて、早速それぞれに聞いてみた結果です。
ChatGPTの回答
Syslogサーバーのストレージ容量を算出するためには、以下の手順で各機器から生成されるログデータの量を見積もる必要があります。
- ログメッセージの頻度の見積もり
- ルーター:大体、1秒に1メッセージ
- スイッチ:大体、1秒に0.5メッセージ
- 無線アクセスポイント:大体、1秒に0.3メッセージ
- 各ログメッセージのサイズ
- 一般的に、1メッセージは100バイト程度
- 各機器ごとの1日のログ生成量の計算
- ルーター:1メッセージ/秒×60秒/分×60分/時間×9時間×100バイト1 \text{メッセージ/秒} \times 60 \text{秒/分} \times 60 \text{分/時間} \times 9 \text{時間} \times 100 \text{バイト} 1メッセージ/秒×60秒/分×60分/時間×9時間×100バイト
- スイッチ:0.5メッセージ/秒×60秒/分×60分/時間×9時間×100バイト×3台0.5 \text{メッセージ/秒} \times 60 \text{秒/分} \times 60 \text{分/時間} \times 9 \text{時間} \times 100 \text{バイト} \times 3 \text{台} 0.5メッセージ/秒×60秒/分×60分/時間×9時間×100バイト×3台
- 無線アクセスポイント:0.3メッセージ/秒×60秒/分×60分/時間×9時間×100バイト×2台0.3 \text{メッセージ/秒} \times 60 \text{秒/分} \times 60 \text{分/時間} \times 9 \text{時間} \times 100 \text{バイト} \times 2 \text{台} 0.3メッセージ/秒×60秒/分×60分/時間×9時間×100バイト×2台
- 年間のログ生成量の計算
- 上記で計算した1日の生成量を365日分で掛ける
この情報に基づいて計算を行います。
1日のログ生成量の計算
- ルーター
- 1×60×60×9×100=3,240,000バイト (約3.24MB)1 \times 60 \times 60 \times 9 \times 100 = 3,240,000 \text{バイト} \ (約3.24 \text{MB})1×60×60×9×100=3,240,000バイト (約3.24MB)
- スイッチ(1台あたり)
- 0.5×60×60×9×100=1,620,000バイト (約1.62MB)0.5 \times 60 \times 60 \times 9 \times 100 = 1,620,000 \text{バイト} \ (約1.62 \text{MB})0.5×60×60×9×100=1,620,000バイト (約1.62MB)
- スイッチ3台分:
- 1,620,000×3=4,860,000バイト (約4.86MB)1,620,000 \times 3 = 4,860,000 \text{バイト} \ (約4.86 \text{MB})1,620,000×3=4,860,000バイト (約4.86MB)
- 無線アクセスポイント(1台あたり)
- 0.3×60×60×9×100=972,000バイト (約0.972MB)0.3 \times 60 \times 60 \times 9 \times 100 = 972,000 \text{バイト} \ (約0.972 \text{MB})0.3×60×60×9×100=972,000バイト (約0.972MB)
- 無線アクセスポイント2台分:
- 972,000×2=1,944,000バイト (約1.944MB)972,000 \times 2 = 1,944,000 \text{バイト} \ (約1.944 \text{MB})972,000×2=1,944,000バイト (約1.944MB)
合計の1日のログ生成量
ChatGPT
3,240,000+4,860,000+1,944,000=10,044,000バイト (約10.044MB)3,240,000 + 4,860,000 + 1,944,000 = 10,044,000 \text{バイト} \ (約10.044 \text{MB})3,240,000+4,860,000+1,944,000=10,044,000バイト (約10.044MB)
1年間のログ生成量
10.044MB×365=3,667.06MB (約3.67GB)10.044 \text{MB} \times 365 = 3,667.06 \text{MB} \ (約3.67 \text{GB})10.044MB×365=3,667.06MB (約3.67GB)
したがって、必要なSyslogサーバーのストレージ容量は約3.67GBです。これに加え、将来の拡張や予備のためにストレージ容量を多めに見積もることをお勧めします。例えば、5GB〜10GB程度のストレージ容量を用意しておくと安心です。
ChatGPTはこの環境だとストレージ容量は3.67GB必要ですという結果が出ました。一方のGeminiは。。
Geminiの回答
ネットワーク機器のログ収集に必要なSyslogサーバーのストレージ容量算出
はじめにネットワーク機器のログ収集に必要なSyslogサーバーのストレージ容量を算出するには、以下の要素を考慮する必要があります。
ログの生成量
機器の種類と台数
クライアント台数
通信頻度
取得するログの種類
ログの保存期間
ログの生成量
- ログ生成量の算出方法
ログ生成量は、機器の種類、台数、クライアント台数、通信頻度、取得するログの種類によって異なります。ここでは、一般的な目安として以下の式を使用します。
ログ生成量 (バイト/日) = 機器1台あたりのログ生成量 (バイト/秒) × 機器台数 × 稼働時間 (秒/日) × 保存期間 (日)
- 機器1台あたりのログ生成量
機器1台あたりのログ生成量は、機器の種類や設定によって異なりますが、以下の表を参考に算出します。
機器種別 ログ生成量 (バイト/秒) 備考
ルーター 10 – 100 通信量や設定によって変動
スイッチ 5 – 50 ポート数や設定によって変動
無線アクセスポイント 2 – 20 アクセスポイント数や接続台数によって変動
パソコン 1 – 5 ユーザーの操作やアプリケーションの使用状況によって変動
スマートフォン 0.5 – 2 アプリの使用状況や通信量によって変動
- 今回のネットワーク環境におけるログ生成量の算出
今回のネットワーク環境におけるログ生成量は、以下の表のように算出されます。
機器種別 台数 ログ生成量 (バイト/秒) 1日あたりのログ生成量 (バイト)
ルーター 1 50 432,000
スイッチ 3 20 1,728,000
無線アクセスポイント 2 10 864,000
パソコン 15 2 2,592,000
スマートフォン 5 1 864,000
合計 – – 6,470,400
- 保存期間によるログ容量の増加
ログは1年間保存する必要があるため、上記のログ生成量に1年間の日数 (365日) を乗算する必要があります。
6,470,400 バイト/日 × 365日 = 2,360,544,000 バイト
ストレージ容量
ログはテキスト形式で保存されるため、圧縮率を考慮して実際のストレージ容量を算出します。圧縮率は一般的に50%~80%程度とされていますが、今回は70%と仮定します。
2,360,544,000 バイト × 0.7 = 1,652,380,800 バイト
約1.65GBのストレージ容量が必要となります。
結論
今回のネットワーク環境において、ネットワーク機器のログを1年間収集するには、約1.65GBのストレージ容量が必要となります。
補足
上記はあくまでも目安であり、実際のログ生成量は状況によって異なる場合があります。
Gemini
ログサーバーには、OSやログ分析ツールなどもインストールする必要があるため、余裕を持ったストレージ容量を用意することをおすすめします。
ログの保存期間は、必要に応じて調整してください。
Geminiはこの環境だとストレージ容量は1.65GB必要ですという結果が出ました。
結局アテになるのか?
ChatGPTは3.67GB、Geminiは1.65GBという回答になりました。
そして肝心な、結局この数字はアテになるの?という話ですが、実は当社内にもこの条件とかなり近しい環境がありまして、実際に蓄積されているログサーバーで1年間のログの総量を調べたところ、約3GBでした。
そこまでの情報を与えていない中、実環境とかなり近しい数字を出したChatGPTはすごいですね。Geminiも多少の差はあるものの、補足などものすごく丁寧に説明されている印象があり、結論としては目安とし使うぶんにはどちらも充分に使えるツールだなあと実感いたしました。
ログサーバーのサイジングで困ったら、みなさんもぜひ一度お試しください!