Ubuntu Telegraf+InfluxDB2でメトリクス収集パイプラインを構築

モニタリング

「自分の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 スタックのデータフロー(Telegraf → InfluxDB2 → Grafana)概念図
TIG スタックのデータフロー(Telegraf → InfluxDB2 → Grafana)概念図

TIG スタックとは

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

TIG スタック各コンポーネントの入手可能バージョン(実測・2026-06-15)
TIG スタック各コンポーネントの入手可能バージョン(実測・2026-06-15)
コンポーネント 役割 ポート 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 をデータソースとして接続し、ブラウザからリアルタイムのグラフを表示します。

著者アイコン
著者アイコン

「TIG」は Telegraf / InfluxDB / Grafana の頭文字です。Telegraf の代わりに Prometheus を使う構成は「Prometheus + Grafana」と呼ばれますが、TIG はエージェントを 1 つ入れるだけでメトリクスが取れるので、最初の 1 台にはこちらが手軽です。

動作確認済み環境

本記事のバージョンは、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 鍵とリポジトリを追加する




ubuntu@vps: ~
$ sudo apt-get update && sudo apt-get install -y curl gpg ca-certificates
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 コンテナで取得した出力です。

InfluxData/Grafana リポジトリ追加後の apt-cache policy 実行結果(実測・2026-06-15)
InfluxData/Grafana リポジトリ追加後の apt-cache policy 実行結果(実測・2026-06-15)



ubuntu@vps: ~
$ apt-cache policy influxdb2
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-1telegraf 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 を実行して比較しました。

Ubuntu 22.04 と 24.04 で apt 候補バージョンが同じことを示す比較(実測・2026-06-15)
Ubuntu 22.04 と 24.04 で apt 候補バージョンが同じことを示す比較(実測・2026-06-15)

結果は両方とも influxdb2 2.9.1-1 / telegraf 1.39.0-1 / grafana 13.0.2 で完全に一致しました。つまり Ubuntu 22.04 でも、このリポジトリ設定をそのまま使えます。

手順1-4:InfluxDB2 と Telegraf をインストールする




ubuntu@vps: ~
$ sudo apt-get install -y 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 サービスを起動する




ubuntu@vps: ~
$ sudo systemctl enable –now influxdb
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 を起動してブラウザでアクセスした画面です。

InfluxDB2 初回起動「Welcome to InfluxDB / GET STARTED」画面(2026-06-15 実撮影)
InfluxDB2 初回起動「Welcome to InfluxDB / GET STARTED」画面(2026-06-15 実撮影)

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

InfluxDB2「Setup Initial User」初期セットアップ画面(2026-06-15 実撮影)
InfluxDB2「Setup Initial User」初期セットアップ画面(2026-06-15 実撮影)

画面に表示されるフィールドは次の 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・トークン・組織・バケットを設定します。




/etc/telegraf/telegraf.conf(抜粋)
[[outputs.influxdb_v2]]
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 を実行して取得した生メトリクスです。

telegraf --test で実際に収集されたメトリクス(実測・2026-06-15)
telegraf –test で実際に収集されたメトリクス(実測・2026-06-15)



ubuntu@vps: ~
$ sudo telegraf –config /etc/telegraf/telegraf.conf –test 2>&1 | head
> 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_idleused_percent が実数値で出ているのが分かります。確認できたら本起動します。




ubuntu@vps: ~
$ sudo systemctl enable –now telegraf
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 は公式リポジトリからインストールします。




ubuntu@vps: ~
$ curl -fsSL https://apt.grafana.com/gpg.key \
| 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 と表示されています)。

Grafana 13.0.2 ログイン画面「Welcome to Grafana」(2026-06-15 実撮影)
Grafana 13.0.2 ログイン画面「Welcome to Grafana」(2026-06-15 実撮影)

初期ユーザー・パスワードはともに admin です。初回ログイン後にパスワード変更を促されます。

手順4-3:InfluxDB データソースを追加する

ログイン後、Connections → Data sources → Add new data source へ進み、検索ボックスに「InfluxDB」と入力します。実画面では「InfluxDB(Open source time series database / Core)」が出てきます。

Grafana「Add data source」で InfluxDB を選択する画面(2026-06-15 実撮影)
Grafana「Add data source」で InfluxDB を選択する画面(2026-06-15 実撮影)

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

Grafana InfluxDB データソース設定画面(Query language が初期値 InfluxQL になっている、2026-06-15 実撮影)
Grafana InfluxDB データソース設定画面(Query language が初期値 InfluxQL になっている、2026-06-15 実撮影)

実際の設定画面を見ると、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 の cpumemdisk メジャメントを選んでパネルを作れば、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 languageInfluxQL のままになっていないか確認します(初期値が 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 を同居させても余裕があります。コスト・東京リージョンの有無・日本語サポートも確認しておくとよいでしょう。

コメント

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