graphite-clickhouse

支持 ClickHouse 的 Graphite 集群后端。「Graphite cluster backend with ClickHouse support」

Github stars Tracking Chart

deb
rpm

graphite-clickhouse

Graphite cluster backend with ClickHouse support

Work scheme

stack.png

Gray components are optional or alternative

TL;DR

Preconfigured docker-compose

Docker

Docker images are available on packages page.

Compatibility

Build

Required golang 1.18+

# build binary
git clone https://github.com/lomik/graphite-clickhouse.git
cd graphite-clickhouse
make

Installation

  1. Setup Yandex ClickHouse and carbon-clickhouse
  2. Setup and configure graphite-clickhouse
  3. Add graphite-clickhouse host:port to graphite-web CLUSTER_SERVERS

Configuration

See configuration documentation.

Special headers processing

Some HTTP headers are processed specially by the service

Request headers

Grafana headers: X-Dashboard-Id, X-Grafana-Org-Id, and X-Panel-Id are logged and passed further to the ClickHouse.

Debug headers (see debugging.md for details):

  • X-Gch-Debug-External-Data - when this header is set to anything and every of directory, directory-perm, and external-data-perm parameters in [debug] is set and valid, service will save the dump of external data tables in the directory for debug output.
  • X-Gch-Debug-Output - header to enable special processing for format=carbonapi_v3_pb and format=json render output.
  • X-Gch-Debug-Protobuf - header enables the original marshallers for protobuf and carbonapi_v3_pb to check the binary data integrity.

Response headers

  • X-Gch-Request-Id - the current request ID.
  • X-Cached-Find - Flag for find cache hit.

Run on same host with old graphite-web 0.9.x

By default graphite-web won't connect to CLUSTER_SERVER on localhost. Cheat:

class ForceLocal(str):
    def split(self, *args, **kwargs):
        return ["8.8.8.8", "8080"]

CLUSTER_SERVERS = [ForceLocal("127.0.0.1:9090")]

Main metrics

Overview
Name With Ownergo-graphite/graphite-clickhouse
Primary LanguageGo
Program languageGo (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2016-11-11 19:21:46
Pushed At2025-06-05 09:02:27
Last Commit At2025-06-05 14:02:27
Release Count32
Last Release Namev0.14.0 (Posted on )
First Release Namev0.1 (Posted on 2016-11-23 01:35:33)
用户参与
Stargazers Count215
Watchers Count16
Fork Count53
Commits Count0.9k
Has Issues Enabled
Issues Count97
Issue Open Count17
Pull Requests Count188
Pull Requests Open Count9
Pull Requests Close Count22
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private