ClickHouse

Grafana ClickHouse プラグインの公式インストールと設定手順

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Grafana プラグインの公式インストール手順

Grafana に ClickHouse データソースを組み込む第一歩は、公式が提供するプラグインを正しく導入することです。最新版を使用すればバグ修正や新機能が自動的に取り込まれ、安定した接続が保証されます。本章では、Grafana Marketplace からのインストールと、外部ネットワークに制限がある環境向けの手動インストール方法を順番に解説します。

Marketplace からのインストール

Marketplace に掲載されている公式プラグインは、GUI と CLI のいずれかで簡単に導入できます。ここでは両方の手順と、インストール後に必要な確認ポイントをまとめます。

GUI でのインストール

Grafana の管理画面から操作するだけで完了します。

  1. 管理者権限で Grafana にログインし、左メニューの Configuration → Plugins を開く。
  2. 検索ボックスに「ClickHouse」と入力し、表示された grafana-clickhouse-datasourceInstall ボタンをクリックする。

CLI でのインストール

自動化スクリプトやサーバー構築時に便利です。

バージョン確認

インストール後に実際のバージョンが期待通りかどうかは次のコマンドで確かめられます。

表示例: grafana-clickhouse-datasource 2.3.0 → インストール成功です。

ポイント
- GUI と CLI のどちらでもインストール手順は同一のプラグインを取得します。
- 再起動は「1 回だけ」行えば十分で、重複して記載しないようにしてください。

手動インストール(zip / バイナリ)

社内ネットワークが外部と切り離されている場合や、特定バージョンを固定したいときは手動で zip ファイルを取得します。公式ダウンロード URL は常に最新情報を確認してください。

手順 内容
1 https://grafana.com/api/plugins/grafana-clickhouse-datasource/versions/latest/download から zip をダウンロード(公式ページの「Download」リンクが推奨)
2 /var/lib/grafana/plugins ディレクトリに解凍し、所有者と権限を grafana:grafana に設定
3 sudo systemctl restart grafana-server で Grafana を再起動
4 GUI の Configuration → Plugins 画面で「Installed」タブに表示されることを確認

手動方式でも、インストール後は上記のバージョン確認コマンドで正しく認識されたかチェックしてください。


接続情報と読み取り専用ユーザーの設定

ClickHouse へ安全に接続するためには、必要なパラメータを整理し、最小権限の読み取り専用ユーザーを作成しておくことが不可欠です。本章では、接続に必須となる項目と、実際にロール・ユーザーを定義する SQL スクリプトを紹介します。

必要な接続パラメータ一覧

以下の表は Grafana から ClickHouse に接続する際に最低限必要になる情報です。各項目の概要と推奨設定例も併記しています。

項目 説明 設定例
ホスト ClickHouse が待ち受けている IP アドレスまたは DNS 名 clickhouse.example.com
ポート HTTP (8123) または Native (9000) のいずれかを選択 8123(HTTP) / 9000(Native)
データベース名 使用対象のデータベース metrics_db
ユーザー/パスワード 認証情報。読み取り専用ユーザーを推奨 grafana_read / ********
TLS/SSL 暗号化が必要な場合は有効にする true(証明書は別途設定)

最小権限ユーザー作成例(SQL スクリプト)

以下のスクリプトは、特定データベースに対して SELECT のみを許可し、その他の操作を排除したロールとユーザーを作成します。実行前に管理者権限で ClickHouse にログインしてください。

ポイント
- SELECT 権限のみ付与することで、データの取得以外は実行できません。
- 必要に応じてテーブル単位で権限を絞り込むと、更なるセキュリティ向上が期待できます。


HTTP と Native の比較と選択指針

ClickHouse への接続方式は大きく HTTPNative (TCP) に分かれます。どちらが適切かは、ネットワーク構成やパフォーマンス要件に応じて判断します。

プロトコル比較表

項目 HTTP(REST) Native(TCP)
通信方式 テキストベースの POST/GET、標準ポート 8123 バイナリプロトコル、標準ポート 9000
TLS 対応 https:// がそのまま利用可能 TLS は別途設定(clickhouse-client --secure
レイテンシ ヘッダー処理分だけやや高め バイナリ転送に最適化され低レイテンシ
クエリサイズ上限 デフォルト 256 MiB(設定で変更可) 同様にサーバ側 max_query_size に依存
Grafana プラグイン実装 「ClickHouse (HTTP)」として提供 「ClickHouse (Native)」がデフォルト
適用シーン ファイアウォールで HTTP のみ許可、外部クラウド連携 高頻度・大量データ取得、内部 LAN 環境

選択のポイント

  • TLS が必須かつポート制限が厳しい場合https:// を利用できる HTTP を選択。
  • リアルタイム監視で多数のクエリを高速に投げる必要がある → バイナリ転送の Native が有利です。
  • 既存インフラがプロキシやロードバランサ経由で HTTP のみ許可 → 設定が簡単な HTTP を採用してください。

Grafana UI での ClickHouse データソース定義手順

GUI からデータソースを作成すれば、接続テストまで数クリックで完了します。本章では必須項目と推奨設定例を示し、実際に「Test & Save」まで行う流れを解説します。

必須項目と推奨設定(Native 接続例)

以下は Native プロトコルでデータソースを作成する際の代表的なフィールドです。各項目の意味と推奨値を表にまとめました。

フィールド 推奨設定例
URL clickhouse.example.com:9000
Database metrics_db
User grafana_read
Password (環境変数またはシークレットで管理)
TLS / SSL Enable TLS(証明書は Grafana の「Certificates」設定でアップロード)
Timeout (seconds) 30(ネットワーク遅延が予想される場合は増やす)

注意
- GUI ではパスワード入力欄が暗号化されたまま保存されます。機密情報は環境変数経由で設定することを推奨します。

接続テストと保存

  1. データソース画面下部の Test & Save ボタンをクリック。
  2. 「Data source is working」メッセージが表示されたら接続成功です。エラーが出た場合は前項で設定したパラメータやネットワーク制限を再確認してください。

YAML によるデータソースプロビジョニング

インフラコードとして Grafana のデータソースを管理したい場合、provisioning 機能が有効です。YAML ファイルに設定を書き出すことで、GitOps パイプラインから安全かつ自動的に適用できます。

プロビジョニング YAML の基本構造

以下は ClickHouse データソースをプロビジョニングする際の最小構成例です。機密情報は環境変数で外部化しています。

  • 配置場所/etc/grafana/provisioning/datasources/datasources.yaml(Docker コンテナの場合は同等のパス)
  • 権限設定chmod 640 datasources.yaml && chown grafana:grafana datasources.yaml

設定反映と再読み込み方法

YAML を変更しただけで即座に Grafana に反映させるには、管理者権限の API エンドポイントを呼び出します。

このコマンドは Grafana プロセスの再起動なしでプロビジョニング設定をリロードでき、CI/CD パイプラインから安全に適用できます。


接続テスト・エラー対処・ダッシュボード作成・セキュリティベストプラクティス

実運用では接続確認やトラブルシューティング、そして安全な可視化環境の構築が重要です。本章では代表的なエラーとその解決策、基本的なパネル作成例、さらにセキュリティ強化策をまとめます。

接続テストの実施方法

方法 説明
Grafana UI データソース設定画面の Test & Save ボタンで即時確認。
API 呼び出し GET /api/datasources/proxy/:id/_health でヘルスチェック(:id はデータソース ID)。
CLI (curl) curl -H "Authorization: Bearer <admin-token>" http://localhost:3000/api/datasources/proxy/1/_health

主なエラーメッセージと解決策

エラー 原因例 推奨対処
invalid username or password 認証情報のタイプミス、ロールに SELECT 権限が無い ユーザー名・パスワードを再確認し、GRANT SELECT が付与されているか確認。
connection timed out ファイアウォールやセキュリティグループでポートが閉じている ClickHouse の 8123/9000 ポートが開放されているかネットワーク管理者に問い合わせる。
TLS handshake failed 証明書の不一致、自己署名証明書未信頼 正しい CA 証明書を Grafana にインポートし、tlsSkipVerify: false を維持する。

基本的なパネル作成例

パネルタイプ サンプルクエリ
時系列グラフ(CPU 使用率) sql SELECT toStartOfMinute(timestamp) AS time, avg(cpu_usage) AS value FROM system.metrics WHERE metric = 'CPUUsage' AND $timeFilter GROUP BY time ORDER BY time ASC
テーブル(最新ログ) sql SELECT timestamp, level, message FROM logs.table WHERE $timeFilter ORDER BY timestamp DESC LIMIT 20
  • パネル設定では「Visualization → Time series」や「Table」を選択し、軸ラベル・単位を明示すると見やすくなります。

セキュリティ強化策(TLS / IP 制限 / 監査ログ)

  1. TLS/SSL の有効化
  2. ClickHouse 側で https_port(例: 8443)と証明書を設定。
  3. Grafana データソース画面で Enable TLS をオンにし、tlsSkipVerify は本番では必ず false にする。

  4. IP 制限

  5. ClickHouse の users.xml または access_control 設定で許可 IP を限定。例:

    xml
    <user>
    <name>grafana_read</name>
    <networks>
    <ip>203.0.113.45</ip> <!-- Grafana サーバーの IP -->
    </networks>
    </user>

  6. 監査ログ取得

  7. system.query_log テーブルにクエリ履歴が記録されます。最近 1 日分を確認する例:

    sql
    SELECT event_time, user_name, query FROM system.query_log
    WHERE type = 'QueryFinish' AND database = 'metrics_db'
    AND event_time >= now() - INTERVAL 1 DAY
    ORDER BY event_time DESC;


ClickHouse Cloud と Grafana Cloud の統合

ClickHouse Cloud の公式ドキュメント(ClickHouse Cloud 監視ガイド(日本語))では、Grafana Cloud との接続手順が詳しく掲載されています。ポイントは以下の通りです。

  • データソース URL:ClickHouse Cloud が提供する HTTPS エンドポイントを使用し、TLS 設定を有効にします。
  • 認証方式:API キーまたは ClickHouse のユーザー認証情報を Grafana Cloud の「Secrets」機能で安全に管理します。
  • Grafana Cloud プラグイン自動インストール:Marketplace から grafana-clickhouse-datasource を選択すれば、CLI 不要でプラグインが自動的に配置されます。

この統合手順は、オンプレミス環境と同様の設定項目(ホスト名・ポート・TLS)を踏襲するため、既存のプロビジョニング YAML を流用できる点もメリットです。最新情報は公式サイトで随時確認してください。


まとめ

この記事では、Grafana の ClickHouse データソース を安全かつ確実に導入するための手順を包括的に解説しました。Marketplace と手動ダウンロードの両方のインストール方法、最小権限ユーザーの作成例、HTTP/Native の選択指針、GUI での設定フロー、YAML によるプロビジョニング、エラー対処とセキュリティベストプラクティス、そして ClickHouse Cloud / Grafana Cloud との統合まで網羅しています。公式ドキュメントを定期的に確認しつつ、本稿の流れに沿って構築すれば、堅牢で高速な可視化基盤が手軽に実現できます。ぜひ本手順を参考に、リアルタイム監視や分析業務に活用してください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-ClickHouse