「自分のVPSやサーバーのCPU・メモリ・ディスクをリアルタイムに可視化したい」——そんな要望を無料・オープンソース・完全セルフホストで実現できるのが TIG スタック(Telegraf + InfluxDB2 + Grafana)です。
Telegraf はサーバー上でメトリクスを収集するエージェント、InfluxDB2 は時系列データに特化したデータベース、Grafana はそのデータをグラフとして表示するダッシュボードツールです。3つを組み合わせると、Datadog や Mackerel と同等の監視環境を手元のサーバーで構築できます。
本記事では、各コンポーネントを Ubuntu 24.04 LTS の Docker 公式イメージと公式 apt リポジトリで実際に動かして取得した一次データをもとに、構築手順を解説します。バージョンや WebUI の画面はすべて 2026-06-15 に実測・実撮影したものです。
この記事のポイント
- TIG スタックは
apt install telegraf influxdb2+ Grafana パッケージで構築でき、Docker 不要で systemd 常駐できる - 実測(2026-06-15): apt 候補は
telegraf 1.39.0-1/influxdb2 2.9.1-1/grafana 13.0.2。ドラフトでよく見る 1.33.3 はすでに古いバージョンです - InfluxData のリポジトリは
debian stableなので、Ubuntu 22.04 でも 24.04 でも候補バージョンは同じ(実測確認) - InfluxDB2 の WebUI(ポート 8086)の「Setup Initial User」画面で初期設定とトークン発行が GUI だけで完結
- Grafana(ポート 3000)のデータソース設定は Query language が初期値 InfluxQL なので Flux に切り替えるのがハマりどころ(実画面で確認)

TIG スタックとは
TIG スタックは 3 つのオープンソースツールの頭文字をとった監視アーキテクチャです。それぞれの役割とポート、そして実測した入手可能バージョンを整理します。

| コンポーネント | 役割 | ポート | apt 候補(実測) |
|---|---|---|---|
| Telegraf | メトリクス収集エージェント(CPU・メモリ・ディスク・ネットワーク等) | —(クライアント側) | 1.39.0-1 |
| InfluxDB 2.x | 時系列データベース(WebUI付き・Flux クエリ対応) | 8086 | 2.9.1-1 |
| Grafana OSS | ダッシュボード可視化(InfluxDB をデータソースとして接続) | 3000 | 13.0.2 |
データの流れはシンプルです。Telegraf がサーバー上で 10 秒ごとにメトリクスを収集し、InfluxDB2 の HTTP API(:8086)に書き込みます。Grafana は InfluxDB2 をデータソースとして接続し、ブラウザからリアルタイムのグラフを表示します。
動作確認済み環境
本記事のバージョンは、Docker 公式イメージと公式 apt リポジトリを実際に叩いて取得しています。
| 項目 | 環境・バージョン(実測) |
|---|---|
| OS | Ubuntu 24.04 LTS(Noble Numbat、Docker公式イメージ ubuntu:24.04) |
| Telegraf | apt 候補 1.39.0-1 / 公式イメージ telegraf:latest は Telegraf 1.39.0 |
| InfluxDB | apt 候補 2.9.1-1 / 公式イメージ influxdb:2.7 は v2.7.12(build 2025-05-20) |
| Grafana OSS | apt 候補 13.0.2 / 起動した WebUI のフッターでも v13.0.2 を確認 |
| 確認方法 | docker run + apt-cache policy + Playwright 実撮影(2026-06-15) |
バージョンは動く標的です
古い解説記事では telegraf 1.33.x などと書かれていることがありますが、2026-06-15 に実測したところ apt 候補は 1.39.0-1 でした。InfluxData のリポジトリは頻繁に更新されるので、後述の apt-cache policy で自分の環境の最新候補を必ず確認してください。
手順1:InfluxData リポジトリの追加とバージョン確認
Telegraf と InfluxDB2 は InfluxData の公式 apt リポジトリで配布されています。まず GPG 鍵とリポジトリを追加します。
手順1-1:GPG 鍵とリポジトリを追加する
Reading package lists… Done
Building dependency tree… Done
$ curl -fsSL https://repos.influxdata.com/influxdata-archive.key \
| sudo gpg –dearmor -o /etc/apt/trusted.gpg.d/influxdata-archive.gpg
$ echo ‘deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] \
https://repos.influxdata.com/debian stable main’ \
| sudo tee /etc/apt/sources.list.d/influxdata.list
deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main
$ sudo apt-get update
ポイントは、リポジトリの URL が https://repos.influxdata.com/debian stable である点です。Ubuntu のコードネーム(noble / jammy)ではなく Debian の stable を指しているため、Ubuntu のバージョンに依存しません。
手順1-2:apt-cache policy でバージョンを実測する
インストール前に利用可能なバージョンを確認します。apt-cache policy を使うと、リポジトリに存在する Candidate(候補)バージョンが分かります。下のログは実際に ubuntu:24.04 コンテナで取得した出力です。

influxdb2:
Installed: (none)
Candidate: 2.9.1-1
Version table:
2.9.1-1 500
500 https://repos.influxdata.com/debian stable/main amd64 Packages
$ apt-cache policy telegraf
telegraf:
Installed: (none)
Candidate: 1.39.0-1
Version table:
1.39.0-1 500
500 https://repos.influxdata.com/debian stable/main amd64 Packages
2026-06-15 時点の候補は influxdb2 2.9.1-1・telegraf 1.39.0-1 でした。正直、ここは多くの古い記事と数字が食い違う部分です。実際に叩いてみると Telegraf は 1.39 系まで進んでいました。
手順1-3:Ubuntu 22.04 でも候補は同じ
「Ubuntu 22.04 だとリポジトリ URL を jammy に変えないといけないのでは?」と心配する人が多いですが、InfluxData のリポジトリは debian stable を使うためUbuntu のバージョンに関係なく同じパッケージが降ってきます。実際に 22.04 と 24.04 の両コンテナで apt-cache policy を実行して比較しました。

結果は両方とも influxdb2 2.9.1-1 / telegraf 1.39.0-1 / grafana 13.0.2 で完全に一致しました。つまり Ubuntu 22.04 でも、このリポジトリ設定をそのまま使えます。
手順1-4:InfluxDB2 と Telegraf をインストールする
The following NEW packages will be installed:
influxdb2 telegraf
Setting up influxdb2 (2.9.1-1) …
Setting up telegraf (1.39.0-1) …
$ telegraf –version
Telegraf 1.39.0 (git: HEAD@14f82220)
最後の telegraf --version は、公式 Docker イメージ telegraf:latest で実際に取得した出力です(Telegraf 1.39.0)。
手順2:InfluxDB2 の起動と初期設定(WebUI)
InfluxDB2 を起動し、WebUI から初期設定を行います。インストール後は systemd サービスとして管理されます。
手順2-1:InfluxDB2 サービスを起動する
Created symlink /etc/systemd/system/multi-user.target.wants/influxdb.service
$ sudo systemctl status influxdb
● influxdb.service – InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled)
Active: active (running)
$ influxd version
InfluxDB v2.7.12 (git: ec9dcde5d6) build_date: 2025-05-20T22:48:49Z
サービスが active (running) になったら、ブラウザで http://サーバーのIP:8086 にアクセスします。
apt 版と Docker イメージ版のバージョン差に注意
上の influxd version は公式 Docker イメージ influxdb:2.7 での実測値(v2.7.12)です。apt の候補(2.9.1)の方が新しいことがあります。どちらでも初期設定の流れは同じですが、自分が入れたバージョンを influxd version で確認しておくと安心です。
手順2-2:InfluxDB2 WebUI で初期セットアップ
初回アクセスすると「Welcome to InfluxDB」画面が表示されます。これは実際に influxdb:2.7 を起動してブラウザでアクセスした画面です。

中央の「GET STARTED」ボタンを押すと、「Setup Initial User」画面に進みます。ここで管理者ユーザー・初期組織・初期バケットを設定します。

画面に表示されるフィールドは次の 4 つです(上の実画面で確認済み)。
| フィールド | 入力例 | 説明 |
|---|---|---|
| Username | admin |
管理者ユーザー名 |
| Password / Confirm Password | 任意の強いパスワード | 同じものを2回入力 |
| Initial Organization Name | myorg |
組織名(Telegraf・Grafana の設定に使う) |
| Initial Bucket Name | telegraf |
Telegraf が書き込む先のバケット名 |
「CONTINUE」を押すと API トークンが発行されます。このトークンは後の Telegraf・Grafana 設定で使うので、必ずメモしてください(画面を閉じると再表示されません)。万一控え忘れても、後から WebUI の「Load Data → API Tokens」で新しいトークンを発行できます。
手順3:Telegraf の設定と起動
次に Telegraf を設定します。設定ファイルは /etc/telegraf/telegraf.conf です。
手順3-1:出力先(InfluxDB2)を設定する
[[outputs.influxdb_v2]] セクションに InfluxDB の URL・トークン・組織・バケットを設定します。
urls = [“http://127.0.0.1:8086”]
token = “ここにAPIトークンを貼り付ける”
organization = “myorg”
bucket = “telegraf”
デフォルトでは [[inputs.cpu]]・[[inputs.disk]]・[[inputs.mem]]・[[inputs.system]] など主要なメトリクスの入力プラグインが有効になっています。まずはこのままで十分です。
手順3-2:–test で起動前に動作確認する
Telegraf には --test フラグがあり、InfluxDB に書き込まずに「いま何が収集できるか」を標準出力で確認できます。下は実際に Telegraf 1.39.0 で --test を実行して取得した生メトリクスです。

> cpu,cpu=cpu-total,host=vps01 usage_idle=90.243,usage_system=4.471,usage_user=5.284 …
> mem,host=vps01 available=8603791360u,used=3940474880u,used_percent=31.412 …
> disk,device=overlay,host=vps01,path=/ free=9344376832u,used_percent=84.297 …
> system,host=vps01 load1=1.42,load5=0.97,load15=0.88,n_cpus=5i …
# 行頭に > が付いた行が出れば設定は正常です
行頭に > が付いた InfluxDB Line Protocol 形式の行が並んでいれば設定は正常です。usage_idle や used_percent が実数値で出ているのが分かります。確認できたら本起動します。
Created symlink /etc/systemd/system/multi-user.target.wants/telegraf.service
$ sudo systemctl status telegraf
Active: active (running)
手順4:Grafana のインストールと InfluxDB2 の接続設定
手順4-1:Grafana のインストール
Grafana は公式リポジトリからインストールします。
| sudo gpg –dearmor -o /etc/apt/trusted.gpg.d/grafana.gpg
$ echo “deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://apt.grafana.com stable main” \
| sudo tee /etc/apt/sources.list.d/grafana.list
$ sudo apt-get update && apt-cache policy grafana
grafana:
Candidate: 13.0.2
$ sudo apt-get install -y grafana && sudo systemctl enable –now grafana-server
Setting up grafana (13.0.2) …
candidate が 13.0.2 であることは実測で確認しています(2026-06-15)。
手順4-2:Grafana にログインする
ブラウザで http://サーバーのIP:3000 にアクセスします。下は実際に Grafana 13.0.2 を起動して開いたログイン画面です(フッターに Grafana v13.0.2 と表示されています)。

初期ユーザー・パスワードはともに admin です。初回ログイン後にパスワード変更を促されます。
手順4-3:InfluxDB データソースを追加する
ログイン後、Connections → Data sources → Add new data source へ進み、検索ボックスに「InfluxDB」と入力します。実画面では「InfluxDB(Open source time series database / Core)」が出てきます。

InfluxDB を選ぶと設定フォームが開きます。ここがこの記事最大のハマりどころです。

実際の設定画面を見ると、Query language の初期値が InfluxQL になっています。InfluxDB 2.x で Telegraf のデータを読むには、これを Flux に切り替える必要があります。設定値は次のとおりです。
| 設定項目 | 入力値 |
|---|---|
| Query language | Flux(初期値 InfluxQL から変更する) |
| URL | http://localhost:8086 |
| Organization | myorg(InfluxDB 初期設定時の値) |
| Token | InfluxDB 初期設定時に発行された API トークン |
| Default Bucket | telegraf |
「Save & test」を押して接続成功のメッセージが表示されれば完了です。あとは Telegraf の cpu・mem・disk メジャメントを選んでパネルを作れば、CPU・メモリ・ディスク使用率のグラフが表示されます。
Query Language は必ず「Flux」に
InfluxDB 2.x は Flux というクエリ言語を採用しています。Grafana のデータソース設定では初期値が InfluxQL になっているため、そのままだと 2.x のバケットをうまく読めません。Flux に切り替え、Organization と Token を InfluxDB 初期設定時の値に合わせてください。
よくあるエラーと解決策
①「E: Unable to locate package influxdb2」エラー
リポジトリ追加後に sudo apt-get update を実行し忘れているケースがほとんどです。それでも出る場合は、リポジトリ URL が https://repos.influxdata.com/debian stable main になっているかを確認してください。前述のとおり Ubuntu のコードネームではなく debian stable を使うのが正解で、22.04・24.04 どちらでも同じ設定で動きます。
②「unauthorized」エラー(Telegraf → InfluxDB)
Telegraf の設定ファイルに書いた API トークンが誤っているか、組織・バケット名が一致していないケースです。InfluxDB2 の WebUI から Load Data → API Tokens で有効なトークンを再確認・再発行してください。
③ Grafana で「Save & test」が通らない
まず Query language が InfluxQL のままになっていないか確認します(初期値が InfluxQL です)。InfluxDB 2.x では Flux を選ぶ必要があります。加えて Organization 名・Token が InfluxDB 初期設定時の値と一致しているか、URL が http://localhost:8086 になっているかも確認してください。
まとめ
TIG スタック(Telegraf + InfluxDB2 + Grafana)を Ubuntu に構築する手順を、実測データをもとに解説しました。2026-06-15 時点の実測では、apt 候補は telegraf 1.39.0-1 / influxdb2 2.9.1-1 / grafana 13.0.2 でした。
- InfluxData の debian stable リポジトリを使えば、Ubuntu 22.04 でも 24.04 でも同じ候補バージョンが入る(実測で一致を確認)
- バージョンは更新が速いので、古い記事の数字を信じず apt-cache policy で自分の環境を確認する
- InfluxDB2 の WebUI(:8086)の Setup Initial User 画面で初期設定と API トークン発行が完結する
- Telegraf の –test フラグで、書き込み前に収集メトリクスを安全に確認できる
- Grafana のデータソース設定は Query language の初期値が InfluxQL なので、必ず Flux に切り替える
VPS でこの構成を動かすなら、メモリは最低 1GB、できれば 2GB あると InfluxDB と Grafana を同居させても余裕があります。コスト・東京リージョンの有無・日本語サポートも確認しておくとよいでしょう。



コメント