Portal Community

Method 1: Grafana Provisioning (Recommended)

Dashboard provisioning automatically loads JSON dashboard files at Grafana startup. No manual import is needed — perfect for production deployments:

# grafana-provisioning/dashboards/bizfirst-observe.yaml
apiVersion: 1
providers:
  - name: BizFirstObserve
    type: file
    updateIntervalSeconds: 30   # Reload if JSON files change
    options:
      path: /var/lib/grafana/dashboards/bizfirst
      foldersFromFilesStructure: true  # Use subfolder names as Grafana folders
# docker-compose.yml — mount dashboard JSON files
grafana:
  volumes:
    - ./dashboards:/var/lib/grafana/dashboards/bizfirst  # Dashboard JSON files
    - ./grafana-provisioning:/etc/grafana/provisioning

Dashboard JSON File Structure

# /dashboards/bizfirst/
#   flow-studio-overview.json
#   node-performance.json
#   hil-analytics.json
#   edgestream-throughput.json
#   octopus-performance.json
#   tenant-health.json
#   api-latency.json
#   error-analysis.json
#   trace-explorer.json
#   infrastructure.json

Method 2: Manual Import via Grafana UI

1

Navigate to Dashboards → Import

In the left sidebar: Dashboards → + Import

2

Upload JSON or paste content

Click "Upload JSON file" and select the dashboard JSON file from the BizFirst Observe dashboards directory, or paste the JSON content directly.

3

Configure data source mappings

Grafana prompts you to map the data source references in the JSON to actual configured data sources. Map: Loki → your Loki data source; Prometheus → your Prometheus; Tempo → your Tempo.

4

Click Import

The dashboard opens immediately. Set the $tenant and $environment variables in the top bar to scope data to your deployment.

Keeping Dashboards as Code

Store dashboard JSON files in your source control repository alongside the BizFirst Observe configuration files. This enables:

Provisioned Dashboards Cannot Be Edited in the UI

Dashboards loaded via provisioning are marked as "Provisioned" in Grafana and cannot be saved after editing in the UI. This is intentional — it prevents accidental UI edits from being lost when Grafana restarts. To modify a provisioned dashboard, edit the JSON file and restart Grafana (or wait for the updateIntervalSeconds reload cycle). For experimentation, copy the dashboard first and save the copy.