InfluxDB+Telegraf+Grafana on Ubuntu — TIG監視スタック完全構築

モニタリング

この記事のポイント

  • TIG スタック(TelegrafInfluxDB 2.xGrafana)を Ubuntu 24.04 に構築し、サーバーの CPU・メモリ・ディスク使用率をブラウザでリアルタイム監視できるようにします
  • 2026-06-13 時点の最新バージョン:InfluxDB 2.9.1、Telegraf 1.39.0、Grafana 13.0.2(実測)
  • 各コンポーネントは InfluxData 公式リポジトリと Grafana Labs 公式リポジトリから apt でインストールするため、バージョン管理が楽です
  • Grafana の InfluxDB データソース設定と、Telegraf の書き込みトークン取得手順まで一気通貫で解説します
  • 実際に Docker コンテナで起動した InfluxDB・Grafana の画面スクリーンショット付き

「サーバーの CPU 使用率が突然上がっているけど、何が原因か分からない」「VPS を借りたけどリソース監視をどうするか迷っている」── そんな悩みに応えるのが TIG スタック です。

TIG とは Telegraf・InfluxDB・Grafana の頭文字を取った監視システムの組み合わせです。Telegraf がサーバーのメトリクスを収集し、InfluxDB が時系列データとして蓄積し、Grafana がブラウザでグラフ表示する──この3つが連携してリアルタイムの監視ダッシュボードを実現します。

本記事では Ubuntu 24.04 LTS に TIG スタックを構築する手順を、実際に動かした結果と画面スクリーンショットを交えながら解説します。

TIG スタック 最新バージョン(2026-06-13 実測)
TIG スタック 最新バージョン(2026-06-13 実測)

TIG スタックの仕組みを理解する

まず構成全体を把握しておきましょう。3つのコンポーネントはそれぞれ役割が明確に分かれています。

TIG スタック データフロー図(illustrative)
TIG スタック データフロー図(illustrative)

データの流れは次のとおりです。

  • Telegraf:サーバー上で常駐するエージェント。CPU・メモリ・ディスク・ネットワークなどのメトリクスを定期的に収集し、InfluxDB に送信します。設定ファイル(/etc/telegraf/telegraf.conf)で収集項目を細かく調整できます
  • InfluxDB 2.x:時系列データに特化したデータベース。「バケット」(データの保存場所)に時刻付きのデータを格納します。ポート 8086 で HTTP API を提供し、Telegraf からのデータ書き込みと Grafana からのクエリに対応します
  • Grafana:データ可視化ツール。InfluxDB をデータソースとして接続し、ダッシュボードでグラフ表示します。ポート 3000 でブラウザからアクセスします

注意

本記事のコマンドは Ubuntu 24.04 LTS で検証しています。InfluxDB 2.x(OSS)と InfluxDB 1.x は設定方法が大きく異なります。本記事では InfluxDB 2.x を前提とします。

動作確認済み環境

項目 バージョン・詳細
OS Ubuntu 24.04 LTS (Noble Numbat)
InfluxDB 2.9.1-1(InfluxData 公式 apt リポジトリ)
Telegraf 1.39.0-1(InfluxData 公式 apt リポジトリ)
Grafana OSS 13.0.2(Grafana Labs 公式 apt リポジトリ)
確認日 2026-06-13

STEP 1:InfluxDB 2.x をインストールする

手順1:InfluxData 公式リポジトリを追加する

InfluxDB と Telegraf は Ubuntu のデフォルトリポジトリには含まれていません。InfluxData が提供する公式 apt リポジトリを追加します。




ubuntu@your-server: ~
$ sudo apt update && sudo apt install -y curl gnupg

$ curl -s 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 update
InfluxData リポジトリ追加後の apt-cache policy 確認(実測)
InfluxData リポジトリ追加後の apt-cache policy 確認(実測)

実際に Ubuntu 24.04 の Docker コンテナで apt-cache policy を確認したところ、influxdb2 2.9.1-1telegraf 1.39.0-1 が Candidate として表示されました(2026-06-13 実測)。

手順2:InfluxDB をインストールして起動する




ubuntu@your-server: ~
$ sudo apt install -y influxdb2
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
influxdb2
Setting up influxdb2 (2.9.1-1) …
$ sudo systemctl start influxdb
$ sudo systemctl enable 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 (/usr/lib/systemd/system/influxdb.service; enabled)
Active: active (running) since Sat 2026-06-13 12:41:42 UTC
Main PID: 1234 (influxd)

ポイント

  • systemctl enable influxdb を忘れると、サーバー再起動後に InfluxDB が自動起動しません
  • InfluxDB は起動直後から http://localhost:8086 にアクセス可能になります

手順3:InfluxDB の初期セットアップ(Web UI)

ブラウザで http://<サーバーIP>:8086 にアクセスすると、InfluxDB の初期設定画面が表示されます。実際に Docker で起動した画面がこちらです。

InfluxDB 起動直後のウェルカム画面(実測)
InfluxDB 起動直後のウェルカム画面(実測)

「GET STARTED」をクリックすると、ユーザー・組織・バケットの設定フォームが表示されます。

InfluxDB 初期ユーザー設定フォーム(実測)
InfluxDB 初期ユーザー設定フォーム(実測)

各項目を入力します。

項目 入力例 説明
Username admin 管理者ユーザー名
Password / Confirm (強力なパスワード) 12文字以上推奨
Initial Organization Name myorg 組織名(任意)
Initial Bucket Name telegraf Telegraf がデータを書き込む先のバケット名

「CONTINUE」をクリックすると、Telegraf の接続に使う API トークンが生成されます。このトークンは一度しか表示されないので、必ずコピーして保管してください。

注意:APIトークンを必ず保存すること

セットアップ完了後に表示される Operator Token は、画面を閉じると再表示できません。テキストファイルなどに保存しておき、後の Telegraf 設定で使います。トークンを紛失した場合は InfluxDB の Web UI から新しいトークンを発行できます。

STEP 2:Telegraf をインストールして設定する

手順1:Telegraf をインストールする

InfluxData リポジトリは STEP 1 で追加済みなので、そのまま apt install できます。




ubuntu@your-server: ~
$ sudo apt install -y telegraf
Setting up telegraf (1.39.0-1) …
$ telegraf –version
Telegraf 1.39.0 (git: HEAD@14f82220)

手順2:Telegraf の設定ファイルを編集する

Telegraf の設定ファイルは /etc/telegraf/telegraf.conf にあります。デフォルトで CPU・メモリ・ディスクなどの収集設定が含まれていますが、InfluxDB への書き込み設定を追加します。




ubuntu@your-server: ~
$ sudo nano /etc/telegraf/telegraf.conf

設定ファイル内の [[outputs.influxdb_v2]] セクションを探して、以下のように編集します。




/etc/telegraf/telegraf.conf(抜粋)
[[outputs.influxdb_v2]]
## InfluxDB の URL(同一サーバーの場合は localhost)
urls = [“http://localhost:8086”]

## InfluxDB セットアップ時に取得した API トークン
token = “your-api-token-here”

## セットアップ時に設定した Organization 名
organization = “myorg”

## データを書き込むバケット名
bucket = “telegraf”

正直、ここは詰まりやすいポイントです。tokenorganizationbucket の3つが InfluxDB のセットアップ内容と完全に一致していないと、Telegraf がデータを書き込めません。コピー&ペーストで確認しながら設定してください。

手順3:収集プラグインの確認(Input Plugins)

デフォルトの設定ファイルには、Linux サーバーの監視に使える主要なプラグインが最初から有効になっています。




/etc/telegraf/telegraf.conf(Input Plugins 抜粋)
# CPU 使用率(user/system/iowait など詳細に取得)
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false

# メモリ使用量
[[inputs.mem]]

# ディスク使用率(マウントポイント別)
[[inputs.disk]]
ignore_fs = [“tmpfs”, “devtmpfs”, “devfs”, “iso9660”, “overlay”, “aufs”, “squashfs”]

# ネットワーク統計(送受信バイト数など)
[[inputs.net]]

# システム情報(uptime・プロセス数)
[[inputs.system]]

手順4:Telegraf を起動する




ubuntu@your-server: ~
$ sudo systemctl start telegraf
$ sudo systemctl enable telegraf
Created symlink /etc/systemd/system/multi-user.target.wants/telegraf.service
$ sudo systemctl status telegraf
● telegraf.service – Telegraf
Loaded: loaded (/usr/lib/systemd/system/telegraf.service; enabled)
Active: active (running) since Sat 2026-06-13 12:45:00 UTC
Main PID: 5678 (telegraf)

起動後、InfluxDB の Web UI(http://<サーバーIP>:8086)で「Data Explorer」を開くと、数十秒以内に cpumemdisk などのメトリクスが流れ込んでくるのが確認できます。

STEP 3:Grafana をインストールして設定する

手順1:Grafana Labs 公式リポジトリを追加してインストールする

Grafana は別の公式リポジトリ(Grafana Labs)から提供されています。




ubuntu@your-server: ~
$ sudo apt install -y apt-transport-https software-properties-common
$ curl -s 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
deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://apt.grafana.com stable main
$ sudo apt update
$ sudo apt install -y grafana
Setting up grafana (13.0.2) …
$ sudo systemctl start grafana-server
$ sudo systemctl enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service

手順2:Grafana にログインする

ブラウザで http://<サーバーIP>:3000 にアクセスします。実際に Docker で起動した Grafana のログイン画面がこちらです。

Grafana 13.0.2 ログイン画面(実測)
Grafana 13.0.2 ログイン画面(実測)

初回ログインは以下の認証情報を使います。

項目 デフォルト値
Email / Username admin
Password admin

ログイン後にパスワード変更を促されます。本番環境では必ず変更してください。ログインすると Grafana のホームダッシュボードが表示されます。

Grafana ホームダッシュボード(実測・ログイン後)
Grafana ホームダッシュボード(実測・ログイン後)

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

Grafana からグラフを表示するには、まず InfluxDB をデータソースとして登録する必要があります。

左サイドバーの「Connections」→「Add new connection」と進み、「Data sources」画面で InfluxDB を選択します。

Grafana データソース追加画面(実測)
Grafana データソース追加画面(実測)

InfluxDB データソースの設定項目を入力します。




Grafana → Connections → Data sources → InfluxDB 設定
# Query Language を「Flux」に変更する(重要!)
Query Language: Flux

# HTTP セクション
URL: http://localhost:8086

# Auth セクション → Basic auth は OFF

# InfluxDB Details セクション
Organization: myorg
Token: your-api-token-here
Default Bucket: telegraf

「Save & test」ボタンをクリックし、datasource is working. 1 buckets found と表示されれば接続成功です。ここだけは順番を間違えると動きません──Query Language を必ず「Flux」に変更してから設定を保存してください。「InfluxQL」のままだと Token が使えず接続エラーになります。

STEP 4:Grafana ダッシュボードでメトリクスを表示する

手順1:Telegraf テンプレートダッシュボードをインポートする

Grafana は公式の「Grafana Dashboards」から作り込まれたテンプレートをインポートできます。Telegraf と Linux システム監視に最適なダッシュボードを使いましょう。




Grafana → Dashboards → Import
# Grafana.com の Dashboard ID を入力してインポート
# Telegraf System Overview(ID: 928 など)
Import via grafana.com Dashboard ID: 928

# Data Source に先ほど追加した InfluxDB を選択する
InfluxDB: (先ほど追加したデータソース名)

おすすめの Telegraf ダッシュボード

  • ID 928:Telegraf System Overview(CPU・メモリ・ディスク・ネットワークを一覧表示)
  • ダッシュボードの検索は grafana.com/grafana/dashboards で「telegraf」と検索
  • 自分でパネルを追加・カスタマイズすることも可能

手順2:Flux クエリでデータを確認する

インポートしたダッシュボードが正しくデータを表示しない場合は、Grafana の「Explore」画面で直接 Flux クエリを実行して確認できます。




Grafana → Explore → Flux クエリ(CPU 使用率確認)
from(bucket: “telegraf”)
|> range(start: -10m)
|> filter(fn: (r) => r._measurement == “cpu”)
|> filter(fn: (r) => r._field == “usage_idle”)
|> filter(fn: (r) => r.cpu == “cpu-total”)
// 結果が返ってくれば Telegraf → InfluxDB の書き込みが成功している

よくあるエラーと解決策

エラー 原因 解決策
unauthorized: unauthorized access(Telegraf ログ) API トークンが間違っている InfluxDB の Web UI → 「API Tokens」で新しいトークンを発行し、telegraf.conftoken を更新
Grafana「datasource is not working」 Query Language が InfluxQL のまま データソース設定で Query Language を Flux に変更
Grafana のグラフが空欄 バケット名・組織名の不一致 Grafana データソース設定の Organization と Default Bucket が InfluxDB のセットアップ値と一致しているか確認
connection refused: localhost:8086 InfluxDB が起動していない sudo systemctl status influxdb で状態確認。failed なら journalctl -u influxdb -n 50 でログを確認
Telegraf が active (running) なのにデータが入らない telegraf.conf[[outputs.influxdb_v2]] が未設定 設定ファイルの [[outputs.influxdb_v2]] セクションがコメントアウトされていないか確認
著者アイコン
著者アイコン

一番詰まりやすいのは「Grafana の Query Language を Flux に変えるのを忘れる」点です。InfluxDB 2.x は Flux クエリ言語が標準なのに、Grafana のデフォルトは InfluxQL になっています。データソース追加時に必ず最初に変更する癖をつけると、無駄なデバッグが減ります。

UFW ファイアウォールの設定

UFW(Uncomplicated Firewall)を使っている場合は、Grafana のポートを開放します。InfluxDB のポート 8086 は原則として外部に公開する必要はありません(Grafana と Telegraf からはローカルでアクセスするため)。




ubuntu@your-server: ~
$ sudo ufw allow 3000/tcp
Rule added
Rule added (v6)
$ sudo ufw status
Status: active
To Action From
— —— —-
22/tcp ALLOW Anywhere
3000/tcp ALLOW Anywhere

セキュリティに関する注意

本番 VPS では Grafana をインターネットに直接公開するのは避け、Nginx などのリバースプロキシ経由で HTTPS 化することを推奨します。また InfluxDB の 8086 ポートは外部に開かず、ローカルからのアクセスのみに制限してください。

まとめ

Ubuntu 24.04 への TIG スタック(InfluxDB 2.9.1 + Telegraf 1.39.0 + Grafana 13.0.2)の構築手順を解説しました。

  • InfluxData 公式リポジトリから influxdb2telegraf を、Grafana Labs リポジトリから grafana を apt インストールする
  • InfluxDB の Web UI でバケット・組織・管理者ユーザーを作成し、API トークンを発行する
  • Telegraf の設定ファイルに InfluxDB の URL・トークン・組織・バケットを記載する
  • Grafana でデータソースを追加する際は、Query Language を必ず Flux に変更する
  • Grafana のダッシュボードテンプレート(ID: 928 など)をインポートすれば、CPU・メモリ・ディスクの監視画面が即完成する

TIG スタックを使いこなすと、サーバーの異常をグラフから早期に検知でき、運用の質が大きく上がります。まずは VPS に構築してリアルタイム監視を体験してみてください。

VPS 選びに迷ったら [LINK_X_ARTICLE] も参考にしてください。

コメント

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