今春、私はClickHouse Grafana プラグインの今後の展望について書きました。その多くの機能がリリースされました。Grafana Labs との緊密な連携のもと進められた最近の取り組みでは、ログ行の検索、特定サービスへの絞り込み、デプロイの検知といった一般的な作業を、SQL を書かずに素早く行えるようにすることに重点を置いています。同時に、より高度な用途のために、いつでも 1 クリックで完全な SQL を利用できるようになっています。
コントリビューター
すべてのユーザーのためにプラグインの改善に協力してくださっているオープンソースのコントリビューターおよびユーザーの皆様に、いつもながら感謝いたします。
aangelisc, adamyeats, akkikumar72, alyssajoyner, bossinc, fabrizio-grafana, fleon, hkrutzer, itsgareth, itsmylife, iwysiu, karl-power, katebrenner, lwandz13, MattiasMTS, mattvella07, Orenico10, SaiPrasanna9, stackempty, Tarasusrus
ユーザー体験の改善において、私たちが注力しているのは、ユーザーによく見られる導入経路への最適化です。つまり、OpenTelemetry Collector 向け ClickHouse エクスポーターを使って OpenTelemetry のログやトレース、さらには最近増えているメトリクスを ClickHouse に送信し、その調査に Grafana を利用するという流れです。
クエリビルダーは v1 からプラグインに備わっていましたが、新規ユーザーや、イベントを手早くフィルタリングしたいユーザーにとっては、設計上の非効率さから、手動で ClickHouse SQL を書いたほうが早いことがよくありました。最近の作業では、ログ行の検索、特定サービスへの絞り込み、デプロイの検知といった一般的なケースを SQL なしで素早く行えるようにすることに焦点を当てつつ、高度なニーズにはいつでも 1 クリックで完全な SQL を使えるようにしています。各機能の背景にあるプルリクエストへのリンクを掲載していますので、詳細を確認できます。
まずは検索、SQL には 1 クリックで切り替え
ログが入ったテーブルが 1 つあるだけなら、データソースの設定は複雑であるべきではありません。単一テーブルモード(#1832)は、まさにそのユースケースのために設計されています。データソースで対象のテーブルを指定してカラムを確認するだけで、エディターが邪魔をすることなく、よりシンプルで集中しやすい体験が得られます。

単一テーブル設定モード
単一テーブルモードを設定すると、コンパクトクエリモード(#1841)により、フルビルダーがより作業に集中できる画面に置き換わります。ログメッセージを入力するだけでプラグインがクエリを作成し、型を認識するフィルター、クエリ履歴、ライブ SQL プレビューによって絞り込みを支援します。生成された SQL は、いつでもコピーしたり直接編集したりできます。
コンパクトエディターは現在、単一テーブル設定のみを対象としていますが、これはユーザーが特定のログストリームやトレースストリーム専用のデータソースを作成するという Grafana の一般的なパターンと完全に一致しています。たとえば、「Logs - Prod」や「Logs - Staging」などを簡単に作成できます。このアプローチは目的を絞った体験を提供するだけでなく、試すのも容易です。特定のテーブル向けにデータソースを作成して Explore を開き、ワークフローでどのように機能するかフィードバックをお寄せください。

Explore のコンパクトクエリモード。検索ボックス、型を認識するフィルター、クエリ履歴、ライブ SQL プレビューを表示
注意: 初期のユーザーから、OpenTelemetry スキーマであれ、クエリログなどのカスタムスキーマであれ、コンパクトモードでログのカスタムフィールドやカスタムカラムを表示する機能がほしいというフィードバックが寄せられました。これには PR #2108 による新しい改善で対応しており、次回のプラグインビルドに含まれる予定です。
入力ではなくクリックで調査
大半の調査は反復的な作業です。検索から開始し、結果を確認し、フィルターを適用または解除しながら絞り込みや拡大を行います。プラグインの最新の改善により、SQL を編集することなく、クリック操作だけでこの流れを進められるようになりました。
展開されたログ行では、OpenTelemetry の属性が折りたたみ可能な Resource、Scope、Log の各セクションに整理されるようになりました(#1829)。そこから任意の値でフィルターの絞り込みや除外が可能です。適用されたフィルターは強調表示され、再度クリックすると解除されます(#1824)。また、ログメッセージ内のテキストを選択し、その部分文字列を直接フィルターにかけることもできます(#1738)。

テキストハイライトをクリックしてフィルターを適用
さらにダッシュボードでは、アドホックフィルターが ClickHouse の Map カラム内のキーと値を検出できるようになり、複数のテーブルにまたがってフィルターを適用できるようになりました(#1793、#1757)。エイリアスと OpenTelemetry の Map キーは、クリックでフィルターを追加した場合でもクエリビルダーから追加した場合でも、一貫して解決されます。

接続した瞬間から使える標準ダッシュボード
ログやトレースの収集・保存における業界標準として OpenTelemetry が普及するなか、ClickHouse はそのデータを大規模に処理できるよう独自にチューニングされています。このデータからすぐに価値を引き出せるよう、プラグインには標準で 3 つの OpenTelemetry ダッシュボードが付属するようになりました(#1869)。具体的には、Logs Explorer、Traces Explorer、そしてログとトレースを連携させたサービス別の詳細分析ダッシュボードです。
これらのパネルは完全にインタラクティブで、フィルター、アノテーション、各サービスごとのログサンプルパネルを備えているほか、トレースダッシュボードやサービスダッシュボード向けに KPI や上位のエラーも同様に確認できます。

ダッシュボード構築に必要な SQL を削減
より高機能なダッシュボードを構築するには、変数やアノテーションの追加が必要になることが多いですが、これまではどちらもユーザーがベースとなる SQL を書く必要がありました。そのため、ダッシュボードをフィルター可能にしたり、チャート上にデプロイをマークしたりするといった一般的な作業に、不要な複雑さが生じていました。
新しいアノテーションエディター(#1922)はガイド付きの画面を提供します。service.version など監視対象のカラムを選択すると、変更検知用の SQL が自動生成されます。これにより、変更とロールバックの双方が容易に検知され、デプロイとロールバックを別々のマーカーとして表示できます。ガイド付きの変数エディター(#1868)も同様に機能します。Map カラム内のキーを含むカラムを選択すると、一意な値を取得するために必要な SQL が生成されます。どちらのエディターでも、生成された SQL は表示されたままで編集可能であり、手動で行った変更が優先されます。

アノテーションエディターの変更検知プリセットと、ガイド付き変数エディター
今すぐ始める
ClickHouse が自社のデータでどのように動作するか試してみませんか?数分で ClickHouse Cloud を使い始めることができ、300 ドル分の無料クレジットも受け取れます。
サインアップ試してみる
プラグインを試すには、ClickHouse データソースのバージョン 4.20 以降を使用していることを確認し(Grafana プラグインカタログからインストールまたは更新)、データソースから OpenTelemetry テーブルを指定します。
これらすべての改善の根底にある原則は、私たちが春に掲げたものと同じです。一般的なタスクで SQL を必須にすべきではない一方、必要なときにはいつでも 1 クリックで SQL にアクセスできるべきである、ということです。ClickHouse と Grafana を併用している場合、どのような場面でまだ使いづらさを感じるかをお知らせいただくことが、私たちにとって最も貴重なフィードバックになります。コンパクトクエリモードは、実環境での利用状況から知見を得た上で適用範囲を広げられるよう、意図的に単一テーブルのデータソースから導入を開始しています。
付録: その他のリリース内容
すべての改善が見出しとして大きく取り上げられるわけではありません。単体では小さな変更も多いですが、それらが組み合わさることで、プラグインはより高速かつ高信頼で、使いやすいものになっています。
- よりスマートなビルダー: 一般的なログカラムが自動検出されるようになりました(#1791)。ツールチップから関連ドキュメントへ直接リンクされるようになり(#1790)、ビルダー、変数エディタ、アノテーションエディタで共通のスキーマピッカーが利用されるようになりました(#1828)。また、主キーをより効率的に活用できるよう、時間カラムが単一の
ORDER BYにまとめられます(#1695)。Explore ではメトリクスチャートの下に未加工のログサンプルを表示できるようになり(#1744)、属性カラムで Map 型に加えて JSON も扱えるようになりました(#1866)。 - パフォーマンスの向上: スキーマのイントロスペクションがデータソース単位でキャッシュされるようになり(#1787)、高速なトレース ID ルックアップが OpenTelemetry モードに依存しなくなりました(#1786)。
- Grafana 13 への対応: 互換性の対応により、Grafana 11.6 や 12.x での動作を変更することなく、Grafana 13 への移行準備が整いました(#1861、#1863)。
- 信頼性の向上: スパンリンクから正しいリンク先トレースが開くようになり(#1890)、SQL の検証に ClickHouse 独自の字句解析器(レクサー)の移植版が使用されるようになりました(#1778)。
- 自己オブザーバビリティ: プラグインのバックエンドが OpenTelemetry で計測(インストルメンテーション)され、そのスパンに対する機械可読なコントラクトが提供されます(#1734、#1735)。
- 帰属と ID 連携: ヘッダー転送を有効にすると、クエリに Grafana ユーザーの ID 情報を付加して ClickHouse に渡せるようになり、行ポリシー、クォータ、クエリログの帰属管理に利用できます(#1797)。また本リリースでは、Grafana の SQL 抽象化レイヤーに対する基本的なサポートも追加されました(#1756)。



