サーバー・ストレージ・クラウドの容量の使用量の推移から、逼迫する時期を機器ごとに見込み、増設と整理の判断が要るものを情報システムの月次の報告にまとめる
監視の仕組みとクラウドに残る容量の使用量の記録から、ボリュームごとに警告の水準と上限に届く時期を見込みます。増設の手配にかかる期間と照らし、今月のうちに増設か整理の判断が要るものだけを月次の報告に並べます。
- 連携・自動化
- Python
- 対象業界
- IT・SaaS/医療/教育/製造
- 対象部門
- 情報システム
- 対象業務
- 書類作成/集計・分析
- 主な課題
- データ分析に時間がかかる/属人化している/期限・対応漏れが起きる
- AIで行う処理
- 予測
- 主な効果
- 判断支援/工数削減/機会損失防止
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 月初に、担当者が Zabbix の画面でボリュームごとの使用量のグラフを開く
- 同じく CloudWatch のコンソールで、クラウドのディスクとバケットのグラフを開く
- 今月の使用率と、1か月前・3か月前の使用率を台帳の表に写す
- グラフの傾きから、あと何か月で90%に届くかを目算する
- 危ないと思ったボリュームの中を調べ、古いバックアップや不要なファイルなど整理できるものを探す
- 増設か整理かを考え、部長への月次の報告に書く
- 増設が決まれば、見積もりを取って稟議に回す
- 自動毎月1日の朝、Python が Zabbix の API から社内のボリュームの1時間ごとの使用量の記録を取る
- 自動同じく CloudWatch から、クラウドのサーバーのディスクの使用量と、バケットの1日ごとの容量を取る
- 自動機器の台帳から、ボリュームごとの上限、警告の水準、増設の手配の期間、整理の担当を引く
- 自動週ごとの最大の使用量にそろえ、段差(大きな削除や移行)を見つけて、段差より後の推移だけを残す
- 自動statsmodels の ETS のモデルで、ボリュームごとに先行き52週の使用量を見込み、真ん中と見込みの幅の上の側を出す
- 自動警告の水準と上限に届く週を2本で出し、手配の期間を引いて「今月判断」「来月以降に判断」「当面不要」に分ける
- 自動「今月判断」のボリュームについて、増え方の速い時期と、整理の担当を添えた報告の下書きを作る
- 人担当者が「今月判断」のボリュームを開き、増設か整理か、どちらも要らないかを決める
- 人決めた内容を報告に書き足し、部長へ出す
- 自動翌月、前の月の見込みと実際の使用量を並べ、見込みの幅を超えたボリュームを数える
各工程の詳しい説明を読む
- 月初に、担当者が Zabbix の画面でボリュームごとの使用量のグラフを開く
- 同じく CloudWatch のコンソールで、クラウドのディスクとバケットのグラフを開く
- 今月の使用率と、1か月前・3か月前の使用率を台帳の表に写す
- グラフの傾きから、あと何か月で90%に届くかを目算する
- 危ないと思ったボリュームの中を調べ、古いバックアップや不要なファイルなど整理できるものを探す
- 増設か整理かを考え、部長への月次の報告に書く
- 増設が決まれば、見積もりを取って稟議に回す
(a)見て写すだけで時間がかかる。 120のボリュームについて、2つの画面を行き来してグラフを開き、表に写します。グラフを開いて数字を読む作業が、点検の時間の大半です。
(b)目算に基準が無い。 「あと半年」の読み方は担当者によって違い、同じグラフを見ても、ある人は直線で延ばし、ある人は最近の傾きを強く見ます。 何か月前の推移まで見るかも決まっていません。
(c)段差でだまされる。 先月に古いデータを消したボリュームは、グラフの上では「下がった」ように見えます。1年の傾きで目算すると増え方が遅く見え、翌月から元のペースで増えて、思ったより早く埋まります。
(d)手配の期間を考えていない。 「あと4か月」と読んでも、それが NAS なら手配に3か月かかるので、今月中に判断しないと間に合いません。 点検で危ないと思う基準が、機器ごとの手配の期間と結びついていないため、警報が鳴ってから慌てて増設することがくり返されています。
- 【自動】 毎月1日の朝、Python が Zabbix の API から社内のボリュームの1時間ごとの使用量の記録を取る
- 【自動】 同じく CloudWatch から、クラウドのサーバーのディスクの使用量と、バケットの1日ごとの容量を取る
- 【自動】 機器の台帳から、ボリュームごとの上限、警告の水準、増設の手配の期間、整理の担当を引く
- 【自動】 週ごとの最大の使用量にそろえ、段差(大きな削除や移行)を見つけて、段差より後の推移だけを残す
- 【自動】 statsmodels の ETS のモデルで、ボリュームごとに先行き52週の使用量を見込み、真ん中と見込みの幅の上の側を出す
- 【自動】 警告の水準と上限に届く週を2本で出し、手配の期間を引いて「今月判断」「来月以降に判断」「当面不要」に分ける
- 【自動】 「今月判断」のボリュームについて、増え方の速い時期と、整理の担当を添えた報告の下書きを作る
- 【人】 担当者が「今月判断」のボリュームを開き、増設か整理か、どちらも要らないかを決める
- 【人】 決めた内容を報告に書き足し、部長へ出す
- 【自動】 翌月、前の月の見込みと実際の使用量を並べ、見込みの幅を超えたボリュームを数える
8番目が、この設計の分かれ目です。 見込みは過去の増え方を延ばしたものです。来月に新しいプロジェクトが始まる、古いシステムを止めて移す、といった予定は、担当者しか知りません。 担当者は分類を動かしてよく、動かした理由を残します。
6番目で手配の期間を引くのは、判断の締め切りを機器ごとにそろえるためです。 NAS が4か月後に届くなら今月判断、クラウドのディスクが1か月後に届くなら来月で間に合います。「あと何か月」ではなく「いつまでに決めるか」で並べます。
02今回想定するシステム構成
Zabbix(社内のサーバー・NAS・データストア) CloudWatch(クラウドのディスク・バケット) │ trend.get(1時間ごとの最小・平均・最大) │ disk_used_percent ほか/BucketSizeBytes ▼【トリガー】毎月1日 6:00 Python ├──▶ 機器の台帳(上限・警告の水準・手配の期間・整理の担当) ▼ 前処理 ── 週ごとの最大にそろえる/段差を見つけて後ろだけ残す ▼ statsmodels ETSModel(加法の誤差、加法の傾き、減衰あり/なしを比べる) │ get_prediction で真ん中と見込みの幅 ▼ 届く週の計算 ── 警告の水準・上限 × 真ん中・幅の上の側 ▼ 分類 ── 今月判断/来月以降に判断/当面不要(手配の期間を引く) ▼ 月次の報告の下書き ▼ 【担当者が今月判断のものを確かめ、増設か整理かを決める】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Python(pandas・statsmodels の ETSModel) | R、Prophet |
| 連携 | Zabbix API(trend.get) | Prometheus の HTTP API |
| 連携 | Amazon CloudWatch(エージェントのディスクの指標と、バケットの1日ごとの容量) | Azure Monitor のメトリック |
| 集計 | Python(週ごとの最大と、届く週の計算) | 監視の仕組みのダッシュボード |
| データの取得元 | 機器の台帳(上限・警告の水準・手配の期間) | 構成管理のデータベース |
| 結果の出力先 | 情報システム部の共有フォルダの月次の報告の下書き | 社内Wikiの報告のページ |
監視の設定には触れません。 閾値の警報も、通知の宛先も、今のまま使います。この構成は月に一度、記録を読みに行くだけで、警報の働きは変わりません。
社内の分は、Zabbix の trend.get で取ります。 trend.get は傾向(トレンド)の記録を返す API で、itemids でアイテムを、time_from と time_till で期間を指定します。返るのは1時間ごとの value_min・value_avg・value_max と、その時間の値の数 num です。 1時間ごとに縮めた記録なので、1年分を取っても量が増えすぎません。
クラウドのサーバーのディスクは、CloudWatch エージェントの指標を使います。 エージェントは Linux で disk_used(使用中の容量)、disk_total(全体の容量)、disk_used_percent(使用率)を集め、既定の名前空間は CWAgent です。エージェントを入れていないサーバーは、ディスクの使用量が取れません。 最初に入っているかどうかを確かめます。
バケットは、Amazon S3 の1日ごとの容量の指標 BucketSizeBytes を使います。 ストレージクラスごとの容量を StorageType の次元で分けて返し、現行のオブジェクトだけでなく、非現行のバージョンと、完了していないマルチパートアップロードの部分も含めた合計とされています。バケットには上限が無いので、上限の代わりに、台帳で決めた「この容量を超えたら費用の見直し」という水準を使います。
生成AIは使いません。 見込みも分類も数字と表で出し、報告の文は決まった文型に数字を埋めます。増設するかどうかを文章で考えさせると、根拠の無い判断が混ざります。
03どうやって実装するのか
処理の起点を決める
毎月1日の朝6時に、定時で動かします。 月次の報告は第1週に部長へ出すので、月初の朝に下書きができていれば、担当者は判断だけに時間を使えます。
月の途中に、担当者が手で動かすこともできるようにします。 大きな移行が終わった直後や、新しいプロジェクトが始まった直後は、次の月初を待たずに見込みを出し直したいことがあります。手で動かしたときは、報告の下書きに「月中の出し直し」と書きます。
見込みは毎回作り直し、モデルを保存して使い回しません。 ボリュームごとに1本ずつの小さなモデルなので、120本を作り直しても数分で終わります。毎月その時点までの記録で作り直すほうが、増え方の変化に追いつきます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 社内のボリュームの使用量 | アイテムごとの1時間ごとの最小・平均・最大、値の数 | Zabbix の trend.get |
| クラウドのサーバーのディスク | disk_used、disk_total、disk_used_percent | CloudWatch(エージェントの指標) |
| バケットの容量 | BucketSizeBytes(ストレージクラスごと) | CloudWatch(S3 の1日ごとの指標) |
| 機器の台帳 | ボリュームごとの上限、警告の水準、増設の手配の期間、整理の担当、用途 | 情報システム部の表 |
| 予定の一覧 | 移行・廃止・新しいプロジェクトの予定と、増える見込みの容量 | 情報システム部の表 |
| 前の月の見込み | ボリュームごとの見込みの値と分類 | この構成が保存した記録 |
質を決めるのは、機器の台帳の「手配の期間」の列です。 見込みがどれほど確かでも、手配にかかる期間が分からなければ、いつまでに決めればよいかが出せません。 NAS、データストアのディスク、クラウドのディスク、バックアップの装置のそれぞれについて、過去の増設で見積もりから使えるまでに何週間かかったかを書きます。
予定の一覧も外せません。 来月に1TBのデータを移してくるなら、過去の推移には現れません。予定の容量は見込みに足し、報告に「予定を足した値」と書いて分けます。
データの取得方法を決める
Zabbix は、API で trend.get を呼びます。 ボリュームごとのアイテムの番号を台帳に持たせ、itemids に並べて、time_from と time_till で過去2年を指定します。履歴(1分ごとなどの生の値)ではなく傾向を使うのは、量を抑えるためです。 履歴と傾向をそれぞれ何日残す設定にしているかは、最初に自社の設定で確かめます。傾向が1年分残っていなければ、見込みはその分だけ後ろへずれます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
1時間ごとの value_max | Zabbix の trend.get | 週ごとの最大の使用量 |
num | Zabbix の trend.get | 値の欠けた時間の検出 |
disk_used と disk_total | CloudWatch(CWAgent) | クラウドのディスクの使用量と上限 |
BucketSizeBytes(統計は平均) | CloudWatch(AWS/S3、BucketName と StorageType) | バケットの容量の推移 |
| 上限・警告の水準・手配の期間 | 機器の台帳 | 届く週と、判断の締め切り |
使用率ではなく使用量(バイト)で見込みます。 途中でディスクを増設したボリュームは、使用率が急に下がりますが、使用量は続いています。使用率で見込むと、増設を「整理した」と読み違えます。 上限は台帳と disk_total から取り、届く週は使用量と上限から計算します。
CloudWatch からは、1日ごとに縮めた値を取ります。 バケットの容量はもともと1日に1つの値で、統計は平均が有効とされています。サーバーのディスクも、1日の最大で取れば足ります。
AIへ渡す前に整形する
- 週ごとの最大にそろえる … 1時間ごとや1日ごとの値から、週ごとの最大の使用量を作ります。バックアップの一時ファイルのように、週の中で増えて消えるものに備えて、平均ではなく最大を見ます
- 欠けた週の扱い … 監視が止まっていた週は空のまま残し、前後の値で埋めません。
numが少ない時間が続く週には印を付けます - 増設を見つける … 上限(
disk_totalや台帳の値)が変わった週を記録します。使用量の推移は続けて使います - 段差を見つける … 前の週から使用量が上限の5%以上下がった週を段差とし、段差より後の推移だけを見込みに使います
- 短すぎる推移の扱い … 段差の後が12週に満たないボリュームは、見込みを出さずに「推移が短い」と印を付けます
- 予定を足す … 予定の一覧の容量は、見込みの後で足します。モデルの中には入れません
4番目の段差を軽く見ないでください。 第3章の(c)がそのまま起きるところです。段差を含めたまま見込むと、片付けたボリュームほど「当面不要」に入ります。 片付けた後の増え方がもとに戻っていれば、早めに埋まります。
5番目で12週を下限にするのは、短い推移ほど傾きが振れるからです。 新しく作ったボリュームは、最初にデータを移した分だけ急に増え、その後は落ち着きます。最初の数週の傾きで延ばすと、極端に早く届く見込みが出ます。
AIに処理させる
この構成の「AI」は、ボリュームごとの先行きの使用量の見込みだけです。 届く週の計算、手配の期間との比べ、分類は決まった規則で出します。
| 段 | させること | させないこと |
|---|---|---|
| 使用量の見込み | 先行き52週の真ん中と、見込みの幅 | 予定の容量の推し量り |
| 届く週の計算 | 警告の水準と上限に届く週(真ん中と幅の上の側) | 上限や警告の水準の決定 |
| 分類 | 幅の上の側で届く週 − 手配の期間 で、今月判断かを決める | 増設か整理かの判断 |
| 報告の下書き | 決まった文型に数字を埋める | 増設の発注、データの削除 |
見込みには、statsmodels の ETSModel を使います。 ETS は指数平滑化を、傾きや季節のある時系列へ広げたモデルの一族で、誤差の型と傾きの型を指定します。この構成では、誤差を加法(error="add")、傾きを加法(trend="add")にし、傾きを減衰させる(damped_trend=True)ものとさせないものの2つを作って、情報量の基準(AIC)の小さいほうを選びます。
減衰を比べるのは、増え方がずっと続くとは限らないからです。 移行の途中のボリュームは、移し終われば増え方が緩みます。減衰の無いモデルだけで延ばすと、移行中の速い傾きが1年先まで続く見込みになります。
見込みの幅は、結果の get_prediction で出します。 平均の見込みと予測の区間を計算する関数で、この構成では区間の上の側(90%の区間の上端)を「早め」として使います。 季節の型は付けません。週ごとの最大の使用量には、毎年同じ時期にくり返す動きがほとんど無いからです。年度末にだけ増える会計のボリュームのように季節のあるものは、台帳に印を付け、seasonal を加えたモデルを別に作ります。
| 機械にさせないこと | 理由 |
|---|---|
| 増設か整理かを決める | 費用と、データの保存期間の決まりに関わる |
| データを消す | 業務と法令の保存の決まりを知らない |
| 警告の水準を動かす | 監視の設計の判断がいる |
| 予定の容量を推し量る | 新しいプロジェクトの規模は担当者しか知らない |
2行目がいちばん起きやすい失敗です。 「整理の候補」を出すと、古いファイルを自動で消したくなります。バックアップの世代や、保存の期間が決まっている記録を消すと、容量よりはるかに大きな問題になります。
指示内容を固定する
この構成は生成AIを使わないため、指示は Python の設定ファイルに書きます。 何をどう見込み、どの規則で分けるかを、情報システム部の誰が読んでも分かる形で残すためです。
# 容量の逼迫の見込みの設定(capacity_forecast.yaml)
対象: 機器の台帳に載っているボリューム(社内 70、クラウドのディスク 35、バケット 15)
単位: 週(週ごとの最大の使用量、バイト)
取得:
社内: Zabbix API trend.get(value_max, num)過去104週
クラウドのディスク: CloudWatch CWAgent disk_used, disk_total(1日の最大)
バケット: CloudWatch AWS/S3 BucketSizeBytes(StorageType ごと、平均)
前処理:
段差: 前週から上限の5%以上下がった週。段差より後だけを使う
下限: 段差の後が12週未満なら見込まず「推移が短い」
欠け: 埋めない。num の少ない時間が続く週に印
見込み:
モデル: ETSModel(error="add", trend="add", damped_trend=[True, False])
選び方: AIC の小さいほう
幅: get_prediction の 90%の区間(上端を「早め」とする)
期間: 52週
季節: 台帳で印のあるボリュームだけ seasonal="add", seasonal_periods=52
届く週:
警告の水準: 台帳の値(既定は上限の85%)
上限: 台帳の値または disk_total。バケットは費用の見直しの水準
分類:
今月判断: 早めで警告の水準に届く週 − 手配の期間 が 今月末より前
来月以降に判断: 上記が 3か月以内
当面不要: それ以外
守ること:
- 使用率ではなく使用量で見込む
- 予定の容量はモデルの外で足し、「予定を足した値」と分けて書く
- すでに警告の水準を超えているものは見込みより先に「超過中」と出す
- データの削除や監視の設定の変更をしない。結果は報告の下書きに書くだけ
「すでに超えているものを先に出す」は、見込みの表に埋もれさせないためです。 超過中のボリュームは、見込むまでもなく今日の問題です。報告の最初の行に置き、閾値の警報が鳴っているかも並べて確かめます。
「予定を足した値と分けて書く」は、後で見込みの外れを調べるためです。 予定が中止になったのに足したままにすると、存在しない増え方で増設を決めることになります。
出力形式を固定する
ボリュームごとに、次の形のJSONと、それを一覧にした報告の表で出します。
{
"volume_id": "nas01:/vol/share",
"source": "zabbix | cwagent | s3",
"run_at": "2026-10-01T06:00",
"capacity_bytes": 0,
"warn_level_bytes": 0,
"latest_used_bytes": 0,
"history_weeks_used": 0,
"step_change_week": "",
"model": { "trend": "add", "damped": true, "aic": 0.0 },
"reach": {
"warn_median_week": "2027-03-08",
"warn_early_week": "2027-01-11",
"cap_median_week": "",
"cap_early_week": ""
},
"lead_time_weeks": 13,
"decide_by": "2026-10-12",
"category": "decide_this_month | decide_later | not_needed | over_now | short_history",
"planned_add_bytes": 0,
"flags": [],
"owner_decision": { "action": "expand | cleanup | none", "reason": "" }
}
reach から category までは Python が埋め、owner_decision は担当者が書きます。
1つ目の理由は、届く週と判断の締め切りを分けて持てることです。 decide_by は「早めで警告の水準に届く週」から手配の期間を引いた日です。報告は decide_by の近い順に並べるので、手配に時間のかかる機器が上に来ます。
2つ目は、step_change_week と history_weeks_used で、見込みの根拠が分かることです。 「先月の片付けより後の8週で見込んだ」と分かれば、担当者は見込みの確かさを割り引けます。
月次の報告の表は、次の形にします。
| ボリューム | 用途 | 今の使用量 | 警告に届く(真ん中/早め) | 判断の締め切り | 分類 | 整理の担当 |
|---|---|---|---|---|---|---|
| (例)NAS01 共有 | 部門の共有 | 上限の72% | 2027年3月/2027年1月 | 10月12日 | 今月判断 | 総務 |
報告の文は、「警告の水準に、真ん中の見込みで○年○月、早めの見込みで○年○月に届きます。手配に○週かかるため、○月○日までに判断が必要です」の文型に数字を埋めます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Zabbix | API(trend.get、読み取り専用の利用者) | 社内のボリュームの1時間ごとの使用量 |
| Amazon CloudWatch | API(指標の読み取りのみの権限) | クラウドのディスクの使用量と、バケットの容量 |
| 機器の台帳・予定の一覧 | 読み取りのみ | 上限、警告の水準、手配の期間、予定の容量 |
| 共有フォルダ | 書き込み | ボリュームごとのJSONと、月次の報告の下書き |
| 社内チャット | 通知 | 今月判断と超過中の件数と、報告の置き場所 |
Zabbix の API には、読み取りしかできない利用者でつなぎます。 監視の設定を変えられる利用者でつなぐと、スクリプトの誤りで警報の設定が消えるおそれがあります。CloudWatch も、指標を読むだけの権限にします。
増設の発注の仕組みや、ストレージの管理の画面にはつなぎません。 増設もデータの整理も、決めた後に担当者がこれまでどおりの手順で行います。
人が確認する
担当者は、毎月の報告の下書きのうち「超過中」と「今月判断」と「推移が短い」を必ず見ます。
- 超過中を先に見る … 閾値の警報が鳴っているか、すでに手を打っているかを確かめます
- 今月判断の根拠を見る …
step_change_weekとhistory_weeks_usedで、どの推移で見込んだかを確かめます。移行の途中で傾きが速いだけなら、移し終わる時期を書き添えます - 予定と照らす … 予定の一覧に無い移行や新しいプロジェクトを知っていれば、その分を足すか引きます
- 増設か整理かを決める … 整理で足りるなら整理の担当に相談し、足りなければ増設の見積もりに進みます。
owner_decisionに書きます - 推移が短いものを見る … 新しいボリュームは、作った目的と見込んでいた容量から、手で先行きを書きます
2番目を省かないでください。 見込みは推移を延ばしたもので、移行や一時的な取り込みで傾きが速いだけのボリュームも、今月判断に入ります。 そこを見分けるのが担当者の仕事です。
「来月以降に判断」と「当面不要」は、件数を流し見るだけにします。 全件を開く設計にすると、第10章の時間に収まりません。
目標は、120件をならして1件4分です。 当面不要のものは一覧で数秒、今月判断のものは推移の確かめと整理の担当への相談で20分前後かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| Zabbix の API が応答しない | 前の月の記録で見込まず、報告の冒頭に「社内の分は未取得」と書いて担当者に知らせる |
| CloudWatch エージェントの指標が無いサーバー | 見込まずに「エージェント未導入」と印を付ける |
| 監視が数週止まっていた | 欠けた週を埋めず、num の少ない週に印を付けて見込む |
| 上限が変わった(増設した) | 使用量の推移は続けて使い、上限だけ新しい値で届く週を計算する |
| 段差の後が12週に満たない | 見込まずに「推移が短い」とし、担当者が手で先行きを書く |
| すでに警告の水準を超えている | 見込みより先に「超過中」として報告の最初に置く |
| 使用量が減り続けている | 届く週を出さず「当面不要」とし、減っている理由を担当者が確かめる |
| 台帳に無いボリュームが監視に現れた | 見込みは出すが、手配の期間が無いので「台帳未登録」と印を付ける |
上の2行は、運用の最初から起きます。 どちらも見込みを止める理由にはしませんが、取れなかった分を前の月の値で黙って埋めると、増えているボリュームが止まって見えます。
記録を残す
- 毎月取り込んだ使用量の記録(ボリュームごとの週ごとの最大)と、取り込んだ日時
- そのときの機器の台帳と予定の一覧の版
- ボリュームごとのモデルの型(減衰の有無)、AIC、見込みの値と幅
- 届く週、判断の締め切り、分類、付いた印
- 担当者が決めた増設・整理・見送りと理由(
owner_decision) - 翌月の実際の使用量と、前の月の見込みの幅を超えたかどうか
最後の行で、見込みの幅が狭すぎないかを確かめます。 90%の区間なら、幅の上を超えるボリュームは毎月1割前後のはずです。それを大きく超えるなら、段差の見つけ方か、減衰の選び方がずれています。
04実装レベルの3段階
半自動化だけでも、①の5分はほぼ消えます。 グラフを開いて写す作業が無くなるからです。ただし、あと何か月かの読み方は、まだ担当者の目算です。 本格構成で1件4分になり、この段階が本記事の想定です。 違いは、届く週が真ん中と早めの2本で出て、手配の期間を引いた締め切りの順に並ぶことです。 段階を飛ばさないでください。 半自動化の表を3か月見ると、段差の起きやすいボリュームと、台帳の手配の期間のずれが分かります。
05工数削減シミュレーション
導入後 120件 × 4分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 社内の仮想基盤・ファイルサーバー・NASと、クラウドのサーバーやオブジェクトストレージを合わせて100前後のボリュームを持ち、容量の監視は閾値の警報だけで、月次の点検はグラフを目で見て表に写している情報システム部門。Zabbix などの監視の仕組みに1年以上の使用量の記録が残っている場合。増設の発注から設置までに数か月かかり、警報が鳴ってからでは間に合わない機器がある場合。
- ボリュームが数個で、毎月グラフを見れば足りる場合。使用量の記録が残っておらず、今の値しか分からない場合(まず記録を貯めるところから)。容量が自動で伸びるサービスだけを使い、上限より費用の管理が主な関心である場合(費用の見込みとして組み替える)。なお、増設の発注、データの削除、保存期間の決定は、この構成では代替できません。
07最小構成で試す方法
- 過去に警報が鳴って急いで増設したボリュームを5つと、問題の無かったボリュームを5つ選ぶ
- 10のボリュームについて、監視の画面から過去1年の週ごとの使用量を書き出す
- 大きな削除や移行をした週があれば、印を付ける
- 手元のAIサービスに表を貼り、「それぞれのボリュームの最近の増え方から、上限の85%に届く時期を見込んでください。印のある週より前の推移は使わないでください」と聞く
- 出てきた時期を、警報が実際に鳴った時期と比べる
この段階ではモデルを作りません。 確かめたいのは、過去の推移を延ばせば、警報が鳴る何か月か前に届く時期が見えていたかです。
| 出てきた内容 | 判断 |
|---|---|
| 急いで増設したボリュームで、数か月前に届く時期が見えていた | Python で120のボリュームを見込む段階に進む |
| 届く時期は見えていたが、手配の期間より短かった | 台帳に手配の期間を書くところから始める |
| 急に増えて埋まっていて、推移からは見えなかった | 見込むより、大きな取り込みを事前に知らせてもらう決まりが先 |
3行目が出ることは珍しくありません。 失敗ではなく、原因が増え方ではなく突然の取り込みだったことが分かったということです。取り込みを事前に知らせる決まりを作り、予定の一覧を見込みに足してください。手元のAIサービスに貼るのは使用量の数字だけにし、サーバー名やバケット名は記号に置き換えます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 片付けたボリュームが「当面不要」に入る | 段差を含めて見込んでいる。段差より後の推移だけを使う |
| 増設したボリュームの使用率が急に下がる | 使用率で見込んでいる。使用量(バイト)で見込む |
| 移行中のボリュームが極端に早く届く | 減衰の無いモデルだけで延ばしている。減衰ありと比べて選ぶ |
| 新しいボリュームの見込みが極端 | 推移が短い。12週に満たないものは見込まない |
| 見込みの幅を超えるボリュームが多い | 段差の見つけ方か、モデルの選び方がずれている。翌月の答え合わせで直す |
| バックアップの一時ファイルで振れる | 平均で見ている。週ごとの最大で見る |
| クラウドのサーバーの使用量が取れない | CloudWatch エージェントが入っていない。最初に確かめる |
| バケットの容量が思ったより大きい | 非現行のバージョンと未完了のマルチパートの部分も含まれる。バージョニングの扱いを確かめる |
| 整理の候補を自動で消したくなる | つながない。 削除は担当者が保存の決まりを確かめて行う |
上の3行が、見込みの失敗のほとんどです。 どれも数字は出ているので動いているように見えます。翌月の答え合わせで幅を超えた割合を出す仕組みが無いと、ずれに気づけません。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: サーバー名、ボリュームの名前と用途、バケットの名前、使用量の推移、増設の予定。ボリュームとバケットの名前からは、社内のシステムの構成と、顧客や新しいプロジェクトの名前が読み取れることがあります。
- 社外へ出さない … 見込みの計算は社内のパソコンかサーバーで終わります。外部のAIサービスへサーバー名やバケット名を送らない構成にします
- 読み取りだけの権限でつなぐ … Zabbix も CloudWatch も、指標を読むだけの利用者と権限にします。監視の設定やストレージの設定を変えられる権限を、このスクリプトに渡しません
- データを消さない … 整理は、業務の担当と保存の決まりを確かめたうえで人が行います。この構成は削除の経路を持ちません
- 報告の置き場所を絞る … 月次の報告は社内のシステムの構成の一覧でもあります。情報システム部と部長の範囲に置きます
- 見込みと判断の記録を残す … 容量が足りなくなったときに、いつの見込みで、誰がどう判断したかを説明できるようにします
誤りが起きた場合のリスクは、遅すぎる見込みで増設が間に合わないことと、早すぎる見込みで要らない増設をすることの2つです。 前者は早めの側で判断することと段差の検出で、後者は担当者が推移の根拠を確かめることで防ぎます。
10まず何から始めるか
1週目:台帳を整える
機器の台帳に、ボリュームごとの上限・警告の水準・増設の手配の期間・監視のアイテムの番号を書きます。手配の期間は、過去の増設の記録から、見積もりから使えるまでの週数を拾います。
2週目:10のボリュームで試す
過去に警報が鳴ったボリュームと問題の無かったボリュームを5つずつ選び、推移を並べて、届く時期が数か月前に見えていたかを確かめます。
3週目:取得をつなぐ
Python で Zabbix の trend.get と CloudWatch の指標を呼び、全ボリュームの週ごとの最大の使用量を1つの表にそろえます。CloudWatch エージェントが入っていないサーバーの一覧も、ここで出ます。
4週目:台帳と並べた表を作る
週ごとの使用量と台帳を並べ、段差の印を付けた表を月次の点検で使います。この時点では見込みを出しません。
2か月目: ETS の見込みと届く週、判断の締め切り、分類を足し、報告の下書きを作ります。3か月目以降: 翌月の答え合わせを始め、段差の基準と台帳の手配の期間を直します。警報が鳴ってから増設したボリュームが、半年続けて1つも無くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
trend.get が傾向(トレンド)の記録を返し、itemids・time_from・time_till・limit・countOutput・output を指定できること。返す項目に clock・num・value_min・value_avg・value_max があること(Zabbix 7.4 の文書) | Zabbix: trend.get | 2026-10-08 |
CloudWatch エージェントが Linux で disk_used・disk_total・disk_used_percent・disk_free を集めること。既定の名前空間が CWAgent であること。社内のサーバーにも入れられること | Amazon CloudWatch: Metrics collected by the CloudWatch agent | 2026-10-08 |
AWS/S3 の1日ごとの指標 BucketSizeBytes が、ストレージクラスごとの容量を StorageType の次元で返し、現行と非現行のオブジェクト、未完了のマルチパートアップロードの部分を含めて合計すること。有効な統計が平均であること | Amazon S3: Metrics and dimensions | 2026-10-08 |
ETSModel が指数平滑化を傾きと季節のある時系列へ広げたモデルの一族であること。error・trend・damped_trend・seasonal・seasonal_periods の指定(statsmodels 0.15.0) | statsmodels: ETSModel | 2026-10-08 |
ETSResults に、平均の見込みと予測の区間を計算する get_prediction、状態空間の形での simulate、forecast があること。情報量の基準 aic・aicc を持つこと | statsmodels: ETSResults | 2026-10-08 |
増設の発注、データの整理と削除、保存の期間は、情報システム部と業務の担当の判断で決めてください。 本記事は製品の公開ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0939)についてのご相談はこちらから。
