Yagura
Yagura 読みもの ダウンロード

設計

syslog サーバのディスク容量はどれくらい必要? 見積もりの計算式

公開 2026年7月26日 筆 YANAI Taketo(Yagura 版元)

syslog サーバを立てる前に必ず聞かれるのが「ディスクはどれだけ要りますか」です。答えは環境次第 —— ですが、見積もりの計算式は一つに決まっています。本稿では計算式と規模別の試算例を示し、見積もりを狂わせる要因と、あふれさせないための設計までを解説します。

見積もりの計算式

必要容量は次の式で見積もります。

必要容量 ≒ EPS × 平均メッセージサイズ × 86,400(秒/日) × 保持日数 × 余裕係数
  • EPS(Events Per Second)—— 毎秒の受信メッセージ数の平均
  • 平均メッセージサイズ —— syslog は 1 件おおむね 100〜400 バイト程度。見積もりでは 300 バイト程度を置くと安全側です
  • 余裕係数 —— データベースのオーバーヘッドと変動分。後述のとおり 2〜3 倍を見込みます

EPS の当たりを付ける

EPS は環境差が最も大きい変数です。目安として、通常レベル(Informational まで)の設定なら、スイッチや AP は平常時 1 台あたり毎分数件〜数十件程度に収まることが多く、ファイアウォールはトラフィックログを送るかどうかで桁が変わります。

机上で悩むより、数日間実際に受信して実測するのが確実です。受信側に統計画面があれば(Yagura ならダッシュボードとシステム状態画面)、日次の受信件数からそのまま EPS を割り出せます。

規模別の試算例

試算例(平均 300 バイト・余裕係数 2 倍で計算)
規模のイメージEPS1 日あたり(生データ)保持 30 日保持 180 日
小規模(機器 10〜20 台)2約 52 MB約 3 GB約 19 GB
中規模(機器 50 台前後 + サーバ群)10約 259 MB約 16 GB約 93 GB
FW のトラフィックログも送る場合100約 2.6 GB約 156 GB約 933 GB

見てのとおり、通常の機器ログだけなら容量は拍子抜けするほど小さく、今どきのサーバなら誤差の範囲です。桁が変わるのは、トラフィックログや Windows イベントログのような大量ソースを加えたときです。

データベースのオーバーヘッドを見込む

受信した生データをデータベースに保存すると、インデックスや管理領域の分だけ実消費は膨らみます。実効で生データの 2〜3 倍を見込んでおけば、まず不足しません。上の試算表はすでに 2 倍を織り込んだ値です。

また、保存先の選択も容量設計の一部です。Yagura は内蔵 SQLite で始めて、ログ量が育ったら管理画面のウィザードで SQL Server へ昇格できるため、「最初から大きな器を用意する」必要がありません。

見積もりを狂わせる急増要因

平均で見積もった容量は、次のような事態で一気に食い潰されることがあります。

  • Debug レベルでの送りっぱなし —— 調査のために下げたレベルの戻し忘れ(機器設定の記事参照)
  • 障害時のログ嵐 —— リンクのフラッピングや認証失敗のループで、特定機器が突然大量に送り始める
  • 集約対象の追加 —— サーバ群やトラフィックログを後から加えて、前提の EPS が変わる

対策は、送信元ホスト別の受信件数を日頃から眺められるようにしておくことです。急増はグラフを見れば一目で分かります。

あふれさせない設計 — 保持期間の自動削除

最後の砦は保持期間の自動削除です。「気づいたらディスクが満杯でサーバごと停止」が、ログ基盤の最悪の障害だからです。保持日数を決め(考え方は 保存期間の記事へ)、古いログが自動で消える仕組みを最初から有効にしておきます。Yagura は既定 30 日の自動削除が有効で、日数も実行時間帯も変更できます。さらに、保存先 DB の障害時にはディスクスプールへ退避して復旧後に取り込む仕組みもあり、「あふれ」と「消失」の両方に備えられます。