Skip to main content

Build a dashboard

A dashboard belongs to a business group; build it from an integration template or from scratch with twelve panel types, and export it whole to hand to someone else.

Where this page ends: a dashboard owned by a business group, with at least one panel drawing real data, saved and exportable to hand to someone else.

First decide: import a template or start empty​

  • Monitoring a common component (Linux, MySQL, Redis, Nginx…): a usable board almost certainly already ships with the template, and importing then adjusting beats drawing from scratch;
  • Monitoring your own business metrics: start empty.

Either way, note one thing first: the Add / Import / More buttons only appear once a specific business group is selected on the left. While the sidebar sits on the preset filters "My business group dashboards" or "Public dashboards", the buttons are hidden — that is not a permission problem, click a real group and they come back.

1. Import from an integration template​

Explorer → Dashboards (/dashboards), pick a business group on the left, then Import.

Dashboard listDashboard list

The dialog has four tabs:

TabWhen to use it
Import built-in dashboard (default)Pick a component (MySQL, Redis…), then tick the dashboards shipped with it. This is the usual path
Import Grafana dashboard URL (recommended)Converts nothing; creates an iframe-mode dashboard that embeds your Grafana page
Import Nightingale dashboard JSONPaste JSON exported from another Nightingale
Import Grafana dashboard (not recommended)Beta, converts Grafana dashboard JSON into Nightingale's model. Plenty of limits — see Use Grafana with Nightingale

Expected result: the boards appear in the list and open with charts on them. If the charts are empty, do not start editing the board — the component's metrics probably are not arriving yet; go back to Verify incoming data.

The templates themselves live under Integrations → Components, which offers the same set of dashboards. Importing collector config and alert rules alongside them is covered in Import dashboards and rules.

2. Start empty and add the first panel​

Click Add, give the dashboard a name (ident, tags and note are optional). Saving takes you straight to the detail page.

Click Add panel. Besides the 12 visualization types, the dropdown offers Row (a collapsible horizontal divider) and Paste panel (panel config JSON copied elsewhere).

Pick a type to open the panel editor. It is a full-screen modal with two columns, not tabs:

  • Left: the variable bar on top, a live preview in the middle, the query editor below. That query editor is the same one the Metrics explorer uses, so the preview updates as you type. Text and Iframe panels have no query editor.
  • Right: a stack of collapsible sections, of which a type-specific subset appears — Panel options (name, description, links, repeat by variable), Graph styles, Legend, Tooltip, Value mappings, Standard options, Thresholds, Colors, Links, Override.

The modal header also carries the visualization-type selector and a time range picker. Change the chart type there rather than deleting the panel and adding a new one.

Click Save to return to the dashboard, then drag a panel's edge to resize it and its title to move it.

3. The twelve panel types​

TypeWhat it is for
Time seriesThe default. One or more lines over time
Bar chartComparing categories, or counts bucketed by time
StatOne big number, coloured by threshold
Table NG (Beta)The newer table with more features; use it for new panels
TableThe older table, still used by existing panels
Pie chartProportions
HexmapMany instances on one screen, spot the outlier by colour
Bar gaugeTop N as horizontal bars
TextProse and links; queries nothing
GaugeA single value against a range
HeatmapHow a distribution changes over time
IframeEmbeds an external page

Switching Table to Table NG raises a confirmation offering Auto upgrade (carry the old options over where possible) or Switch type only (start the options fresh).

  • Rows: Add panel → Row inserts a collapsible divider. Deleting one asks whether to delete the row and its panels or delete the row only.
  • Time range and auto refresh: top right. The selected range goes into the URL (__from / __to / __refresh) and is remembered per dashboard in the browser. Refresh intervals are 5s / 10s / 20s / 30s / 1m / 2m / 3m / 5m / 10m. A refresh interval shorter than the query step buys nothing, and the UI says so.
  • Links: the link icon in the title bar configures jump targets (name, URL, open in a new tab), which is how you chain related boards together.
  • Dashboard settings (the gear): name, ident, tags, note, plus two behaviour switches — Graph tooltip (Default / Shared crosshair / Shared tooltip) and Graph zoom (Default / Update time range).
  • Variables: the entry point sits at the end of the variable bar, showing "Add variable" while there are none. See Variables and filters.

Save, export, move a panel elsewhere​

Changes are not saved automatically. After adding panels and adjusting the layout, click Save dashboard in the title bar; leaving with unsaved changes prompts first.

  • A whole board: Export on the list row gives you JSON, with Download JSON and Copy JSON to clipboard. Paste it back elsewhere through "Import Nightingale dashboard JSON". The JSON in that box can be selected and copied, but editing it writes nothing back — there is no edit-JSON feature.
  • Into another business group: use Clone. The copy is independent; the two are maintained separately from then on.
  • A single panel: the panel's own menu has Copy, which puts that panel's config JSON on the clipboard; on the target dashboard use Add panel → Paste panel. The same menu also holds Refresh / Edit / Clone / Share / Inspect / Delete, and table panels add Export (CSV).

Next​