1. TOP
  2. ラズベリーパイ
  3. セットアップ
  4. Grafana Cloud(無料枠)
2026/10/12

Grafana Cloud(無料枠)でラズベリーパイのデータを見える化

Grafanaは、時系列データのグラフ表示やダッシュボード作成、しきい値を超えたときのアラート通知が得意な見える化ツールです。
このページでは、Grafana Labsが提供するクラウド版「Grafana Cloud」の無料枠(Free)を使い、ラズベリーパイのMariaDBに記録したPLCのデータを、事務所や外出先のPC・スマホから見られるようにする手順をまとめます。

前提:「初期設定とサーバー構築」の手順で、MariaDBのセットアップ(testDBの作成)が終わっていることを前提にしています。ラズベリーパイからインターネットへ出られる(外向きの通信ができる)必要があります。
社内LANだけで完結させたい場合は「Metabase」を使ってください。

構成

工場・社内LAN(受信ポートの開放なし) PLCFINS / MC など Raspberry Pi 収集プログラムPython MariaDB:3306 PDCエージェントSSHトンネル 外向き接続のみ Grafana Cloud無料枠 PC・スマホのブラウザ
ラズベリーパイから外向きに張ったトンネル経由で、Grafana CloudがMariaDBを参照します

ポイントは、ラズベリーパイ上で動かすPDCエージェント(Private Data Source Connect)です。エージェントがラズベリーパイからGrafana Cloudへ向けて暗号化されたトンネル(SSH)を張り、Grafana Cloudはそのトンネルを通ってMariaDBに問い合わせます。

  • ルーターやファイアウォールに受信ポートを開ける必要がありません(外向きの接続だけで動きます)
  • データはラズベリーパイのMariaDBに置いたままなので、クラウド側の保存期間(14日)の制限を受けません
  • MariaDBはインターネットに公開しないので、DBを直接外に出すよりも安全です

無料枠でできること

2026年10月時点の主な無料枠(Free)の内容です。クレジットカードの登録なしで使い始められます。

項目無料枠この構成での影響
Grafana(ダッシュボード)月3アクティブユーザーまで閲覧・編集する人が3人までなら無料
Private Data Source Connect利用可MariaDBへの接続に使います
メトリクス1万アクティブシリーズ/月、保存14日MariaDBを直接参照するので使いません
ログ・トレース各50GB/月、保存14日使いません
アラート利用可しきい値超えをメールなどで通知できます
サポートコミュニティサポートのみ 

※ 無料枠の内容は変更されることがあります。最新の情報はGrafana Cloudの料金ページで確認してください。

Metabase・Grafanaの比較

 Metabase(ラズパイ上)Grafana Cloud(無料枠)
動かす場所ラズベリーパイクラウド(ラズパイはエージェントのみ)
ラズパイの負荷大きい(Java、メモリ1GB前後)小さい(エージェントは数十MB程度)
インターネット不要必要(外向きのみ)
外出先・スマホからVPNなどが必要そのまま閲覧可能
得意なこと集計表、SQLなしでの分析時系列トレンド、リアルタイム監視、アラート
ユーザー数制限なし月3人まで(無料枠)

サンプルデータの準備

Grafanaで表示するためのテーブルを作ります。すでにPLCのデータを記録しているテーブルがある場合は、そのテーブルを使ってください。

$ sudo mariadb
MariaDB
USE testDB;

-- PLCから読み出した値を記録するテーブル(例)
CREATE TABLE plc_log (
    id     INT AUTO_INCREMENT PRIMARY KEY,
    ts     TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    device VARCHAR(32) NOT NULL,
    value  DOUBLE
);
CREATE INDEX idx_plc_log_ts ON plc_log (ts);

-- 動作確認用のデータ(直近1時間分を1分ごとに60件)
INSERT INTO plc_log (ts, device, value)
SELECT NOW() - INTERVAL seq MINUTE, 'PLC1', 20 + RAND() * 10
FROM seq_0_to_59;

SELECT COUNT(*) FROM plc_log;
時刻の型は TIMESTAMP がおすすめ:GrafanaはDBの時刻をUTCとして扱います。TIMESTAMP型ならMariaDBが自動でUTCに変換して渡すので、日本時間で正しく表示されます。DATETIME型に日本時間で記録している場合は、グラフが9時間ずれます(その場合はクエリで CONVERT_TZ(ts,'+09:00','+00:00') のように変換してください)。

Grafana用の読み取り専用ユーザー

Grafanaからはデータを読むだけなので、SELECT権限だけのユーザーを作ります。PDCエージェントはラズベリーパイ自身からMariaDBに接続するので、接続元は 127.0.0.1 に限定します。

MariaDB
CREATE USER 'grafana'@'127.0.0.1' IDENTIFIED BY 'grafana_pass';
GRANT SELECT ON testDB.* TO 'grafana'@'127.0.0.1';
EXIT;

パスワードは推測されにくいものに変更してください。

Grafana Cloudのアカウント作成

  1. Grafana Cloudのサインアップページで、メールアドレスまたはGoogle/GitHubアカウントで登録します。
  2. スタック(自分専用のGrafana環境)の名前とリージョンを決めます。スタック名がそのままURL(https://スタック名.grafana.net)になります。リージョンは日本から近いアジア太平洋のものを選ぶと表示が速くなります。
  3. 作成が終わると、自分のスタックのGrafanaにログインできます。以降の操作はこのGrafanaの画面で行います。

PDCエージェントのセットアップ

1. PDCネットワークとトークンの作成(Grafana Cloud側)

  1. Grafanaの左メニューから Connections > Private data source connections を開きます。
  2. Add new network でネットワークを作成します(名前は例えば raspi-factory)。
  3. 作成したネットワークの Configuration Details タブで Create a new token を押し、トークンを発行します。
  4. 画面に表示される次の3つの値を控えておきます。
画面上の項目このページでの変数名例
tokenGCLOUD_PDC_SIGNING_TOKENglc_eyJvIjoi…(長い文字列)
clusterGCLOUD_PDC_CLUSTERprod-ap-northeast-0 など
gcloud-hosted-grafana-idGCLOUD_HOSTED_GRAFANA_ID123456 など
トークンは作成時の一度しか表示されません。また、このトークンがあれば誰でもあなたのネットワークにエージェントを接続できてしまうので、ページやGitHubなどに公開しないでください。

2. エージェントのインストール(ラズベリーパイ側)

PDCエージェントはOpenSSH 9.2以上が必要です。Bookworm以降のRaspberry Pi OSなら条件を満たしています。

$ ssh -V
OpenSSH_9.2p1 Debian-2+deb12u3, OpenSSL 3.0.15 3 Sep 2024

ARM64(64bit版OS)用のエージェントをダウンロードして、/usr/local/bin に置きます。

$ cd ~
$ wget https://github.com/grafana/pdc-agent/releases/latest/download/pdc-agent_Linux_arm64.tar.gz
$ tar xzf pdc-agent_Linux_arm64.tar.gz
$ sudo install -m 755 pdc-agent_Linux_arm64/pdc /usr/local/bin/pdc
$ pdc -version
32bit版のOSを使っている場合は、ARM64版は動きません。uname -m の結果が aarch64 であることを確認してください。

3. 手動で起動して接続を確認

控えておいた3つの値を指定して起動します(1行のコマンドです)。

$ pdc -token <GCLOUD_PDC_SIGNING_TOKEN> -cluster <GCLOUD_PDC_CLUSTER> -gcloud-hosted-grafana-id <GCLOUD_HOSTED_GRAFANA_ID>

ログに This is Grafana Private Data Source Connect! と表示されれば接続成功です。Grafana Cloudの Private data source connections の画面でも、エージェントが接続済み(Connected)になっていることを確認できます。確認できたら Ctrl+C で止めます。

接続できない場合:PDCエージェントは外向きにSSH(ポート22)とHTTPS(ポート443)で接続します。社内のファイアウォールやプロキシで外向きの22番が止められていると接続できないので、ネットワーク管理者に確認してください。

4. サービスとして自動起動する

トークンなどの値は設定ファイルに分けて書き、他のユーザーから読めないようにします。

$ sudo nano /etc/default/pdc-agent
/etc/default/pdc-agent
GCLOUD_PDC_SIGNING_TOKEN=glc_ここにトークン
GCLOUD_PDC_CLUSTER=ここにcluster
GCLOUD_HOSTED_GRAFANA_ID=ここにID
$ sudo chmod 600 /etc/default/pdc-agent
$ sudo nano /etc/systemd/system/pdc-agent.service
/etc/systemd/system/pdc-agent.service
[Unit]
Description=Grafana Private Data Source Connect agent
After=network-online.target mariadb.service
Wants=network-online.target

[Service]
EnvironmentFile=/etc/default/pdc-agent
ExecStart=/usr/local/bin/pdc -token ${GCLOUD_PDC_SIGNING_TOKEN} -cluster ${GCLOUD_PDC_CLUSTER} -gcloud-hosted-grafana-id ${GCLOUD_HOSTED_GRAFANA_ID}
User=pi
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now pdc-agent.service
$ journalctl -u pdc-agent -f

ラズベリーパイを再起動しても、自動的にGrafana Cloudへ接続されるようになります。

データソース(MariaDB)の追加

  1. Grafanaの左メニューから Connections > Data sources > Add new data source を開き、MySQL を選びます(MariaDBもMySQLとして接続します)。
  2. 次のように入力します。
項目設定値説明
Host URL127.0.0.1:3306ラズベリーパイから見たMariaDBのアドレス
Database nametestDB 
Username/Passwordgrafana/grafana_pass読み取り専用ユーザー
Private data source connectraspi-factory作成したPDCネットワークを選択(ここが重要)
  1. 下の Save & test を押して、Database Connection OK と表示されれば接続成功です。
「Private data source connect」を選ばないと、Grafana Cloudが自分自身の 127.0.0.1 に接続しようとして失敗します。

ダッシュボードの作成

  1. 左メニューの Dashboards > New > New dashboard > Add visualization を選び、作成したMySQLデータソースを選択します。
  2. クエリエディタを Code に切り替えて、次のSQLを入力します。
Grafana クエリ(Format: Time series)
SELECT
  ts     AS time,
  value  AS "PLC1"
FROM plc_log
WHERE device = 'PLC1'
  AND $__timeFilter(ts)
ORDER BY ts
  • $__timeFilter(ts) はGrafanaのマクロで、画面右上で選んだ期間(直近1時間など)の条件に自動で置き換わります。
  • 時刻の列は time という名前にすると、Grafanaが横軸として扱います。
  • 右上の更新間隔(例:10s)を設定すると、グラフが自動で更新されます。

パネルを保存し、ダッシュボードを保存すれば完成です。スマホからも https://スタック名.grafana.net にログインすれば同じダッシュボードを見られます。

アラートを設定する(任意)

パネルの編集画面の Alert タブから、「値が30を超えたらメールで通知」のようなアラートルールを作れます。通知先(Contact point)はメールのほか、SlackやMicrosoft Teamsなども選べます。

運用上の注意

  • ユーザー数:無料枠は月3アクティブユーザーまでです。閲覧する人が増える場合は、ダッシュボードの共有(スナップショット)や有料プランを検討してください。
  • 問い合わせの負荷:ダッシュボードを開くたびに、トンネル経由でラズベリーパイのMariaDBにSQLが送られます。データが増えたら ts 列のインデックスを必ず付け、更新間隔を短くしすぎないようにしてください。
  • 社内ルールの確認:工場のデータを社外のクラウドで表示することになります。導入前に社内の情報セキュリティのルールを確認してください。
  • エージェントの更新:PDCエージェントは不定期に更新されます。更新するときは、同じ手順で新しい pdc を置き換えて sudo systemctl restart pdc-agent を実行します。

まとめ

ラズベリーパイにPDCエージェントを入れるだけで、ポートを開けずに、Grafana Cloudの無料枠からMariaDBのデータを見える化できました。
MariaDBにPLCのデータを記録し続ければ、事務所や外出先からも設備の稼働状況をリアルタイムで確認できます。

関連ページ

初期設定とサーバー構築

初期設定とサーバー構築

固定IP・Apache・PHP・MariaDBのセットアップ手順

Metabaseのセットアップ

Metabaseのセットアップ

ラズベリーパイ上でBIツールMetabaseを動かし、MariaDBのデータをグラフにします

KEYENCE 上位リンク通信

KEYENCE 上位リンク通信

PythonからKEYENCE PLCと上位リンク通信します

ラズベリーパイとは

ラズベリーパイとは

歴史・現行機種のスペック・PLCとの連携構成を紹介します

参考

Raspberry Pi is a trademark of Raspberry Pi Ltd. Grafana is a trademark of Grafana Labs.

この記事へのコメント