CH

Chronograf

Visualization and admin interface for the InfluxData stack

Dashboards & Startpages ★ 1.6k stars Easy setup AGPL-3.0

Chronograf is the open source web administration and visualization layer of the InfluxData TICK stack. It provides dashboards, data exploration, alert management for Kapacitor, and InfluxDB user and database administration.

Key features

  • Prebuilt dashboards for InfluxDB
  • Data explorer with InfluxQL
  • Kapacitor alert management
  • InfluxDB admin tooling

Pros & cons

Strengths

  • Tight InfluxDB integration
  • Simple single binary

Trade-offs

  • Tied to InfluxDB 1.x stack
  • Less flexible than Grafana

Chronograf replaces

Last reviewed Sep 13, 2026 · 808 words

Run Chronograf if, and only if, you are on InfluxDB 1.x and Kapacitor. In that stack it is the only web interface that manages databases, retention policies, users and Kapacitor alert rules from one screen, and it takes a 256 MB single binary to get there. For everything else, including dashboards on any newer InfluxDB, Grafana is the answer and Chronograf is a tool the vendor has quietly stopped developing.

Chronograf belongs to the 1.x TICK stack

TICK stood for Telegraf, InfluxDB, Chronograf, Kapacitor, and Chronograf was the C. When InfluxDB 2.x arrived it folded the Chronograf UI into the database itself, and the 3.x line does not ship a bundled UI at all. That leaves Chronograf as an AGPL-3.0 TypeScript app whose natural home is a 1.x server, which is still what a great many self-hosters run because it is simpler and because Telegraf writes to it without ceremony. If your InfluxDB is 1.8 or 1.11 and you are happy there, Chronograf is a first-class fit. If you are picking a time-series database fresh today, do not choose one to suit this UI.

Three jobs Grafana does not do

Dashboards are the least interesting part of Chronograf; Grafana draws prettier ones against the same data. The parts worth the container are administrative:

The Admin page creates and drops databases, sets retention policies, and manages InfluxDB users and their per-database privileges. Without it you do this over influx CLI sessions, which is fine until a teammate needs to do it.

The Data Explorer builds InfluxQL queries by clicking through measurements, tags and fields, then shows the raw query. I still use it as a query scratchpad before pasting into a Grafana panel, because it exposes tag cardinality problems faster than anything else.

The Alerting pages write Kapacitor TICKscripts for you from threshold, relative and deadman rules, and route them to Slack, PagerDuty, email or a webhook. Hand-writing TICKscript is the single most painful part of the TICK stack and this UI is the reason people put up with Kapacitor at all.

Deploying it is a single binary on 8888

The official chronograf image is enough. Persist /var/lib/chronograf because that is where its BoltDB file with dashboards and connections lives:

services:
  chronograf:
    image: chronograf:1.10
    ports:
      - "8888:8888"
    volumes:
      - ./chronograf:/var/lib/chronograf
    environment:
      - INFLUXDB_URL=http://influxdb:8086
      - KAPACITOR_URL=http://kapacitor:9092
    restart: unless-stopped

On first load it asks for the InfluxDB connection; the environment variables pre-fill it. Authentication is off by default, so it shows every database to anyone who reaches the port. Turning on auth means configuring an OAuth2 provider (GitHub, Google, Heroku, or generic OIDC) plus TOKEN_SECRET, which is more ceremony than most homelabs want. The practical answer is to keep it on the LAN or behind a proxy with its own login, as covered in the reverse proxy showdown. Memory in steady state is well under the 256 MB minimum; it is a Go binary serving a React app.

Where it falls down

Chronograf's dashboards cannot mix data sources. No Prometheus, no Loki, no SQL, no annotations from another system. Templating exists but is thinner than Grafana's. Alert history depends on Kapacitor being healthy, and Kapacitor is the least reliable component of the four. The pre-built dashboards for Telegraf inputs (system, Docker, Nginx, PostgreSQL) are handy for the first day and then you outgrow them. Development is maintenance-only; releases in recent years have been dependency bumps and fixes, not features, and the vendor's own docs steer new users to the 2.x built-in UI. That is not a reason to rip it out, but it is a reason not to build new tooling around its API.

The migration you will eventually make

Point Grafana at the same InfluxDB 1.x using the InfluxQL data source and rebuild the 3 or 4 dashboards you actually look at; the Data Explorer helps because it shows the exact query each Chronograf cell runs. Keep Chronograf running only for the admin and Kapacitor pages. If you later move the database to InfluxDB 2.x or to VictoriaMetrics, which accepts the InfluxDB line protocol and is my usual recommendation for a fresh setup, Chronograf drops out naturally.

What I'd do

Existing InfluxDB 1.x plus Telegraf plus Kapacitor: keep Chronograf, pin the image, LAN-only, and use it for administration and alert rules while Grafana does the wall displays. New build in 2026: skip it, put VictoriaMetrics or InfluxDB behind Grafana, and handle alerting in Grafana's own alert manager. Chronograf earned its place in 2017; today it is a good admin panel for a stack you already have, not one to adopt.

Similar dashboards & startpages apps