Skip to content

Monitoring ​

It's recommended to use Prometheus and Grafana to monitor the runtime behaviour of Blaze and of the server Blaze runs on.

Prometheus Config ​

A basic Prometheus config looks like this:

yaml
global:
  scrape_interval: 15s

scrape_configs:
- job_name: 'node'
  static_configs:
  - targets: ['<server-ip-addr>:9100']
  - labels:
      instance: 'blaze'

- job_name: 'blaze'
  static_configs:
  - targets: ['<server-ip-addr>:8081']
  - labels:
      instance: 'blaze'

Import the Blaze Dashboard ​

The Blaze dashboard is published as a release asset. Please download blaze-dashboard.json and upload it in the import dialog on the Import dashboard site:

After that, please click "Import" on the next site:

After the Import, the Blaze dashboard should look like this:

The dashboard is generated from modules/monitoring/dashboard.edn. Maintainers change that file and not the exported JSON. The generated JSON is checked in CI with the Grafana dashboard linter, configured in modules/monitoring/.lint.

Verification Since 1.12 ​

Each release contains SLSA build provenance for the dashboard. It allows users to confirm that the dashboard was built by the expected CI pipeline and has not been modified after publication. Please download blaze-dashboard.json.intoto.jsonl next to the dashboard and verify it with the GitHub CLI before importing:

sh
gh attestation verify blaze-dashboard.json \
  --bundle blaze-dashboard.json.intoto.jsonl \
  --repo samply/blaze \
  --source-ref "refs/tags/v1.13.0"

Node Exporter for the Server ​

The Prometheus Node Exporter should be used to gather metrics about the server Blaze is hosted on.

Dashboards ​