Skip to content
Neutree Documentation

Integrating an external Grafana instance

Neutree includes a built-in Grafana instance for monitoring and visualizing system metrics. However, you may want to use an existing external Grafana instance to centrally manage monitoring data from multiple systems.

Step 1: Configure the external Grafana instance for anonymous access and UI embedding

Section titled “Step 1: Configure the external Grafana instance for anonymous access and UI embedding”

The external Grafana instance must support anonymous access and UI embedding before Neutree can embed Grafana dashboards in the management interface.

  1. Edit the Grafana configuration file (typically grafana.ini or configured via environment variables).

  2. Enable anonymous access:

    [auth.anonymous]
    enabled = true
  3. Allow UI embedding:

    [security]
    allow_embedding = true
  4. Restart the Grafana service for the configuration to take effect.

Step 2: Add the Neutree metric data source in external Grafana

Section titled “Step 2: Add the Neutree metric data source in external Grafana”

Configure the external Grafana data source to point to the Prometheus metric endpoint configured in Neutree.

  1. Log in to the external Grafana management interface and navigate to Configuration (or Connections in some versions) > Data Sources.

  2. Click Add data source and select Prometheus.

  3. Configure the data source parameters:

    ParameterDescription
    NameData source name. Must be neutree-cluster.
    URLPrometheus service address configured in Neutree, for example: http://<prometheus-host>:9090.
  4. Click Save & Test to verify the connection.

Neutree provides pre-configured Grafana dashboards for displaying key system metrics.

  1. Use the Neutree CLI tool to obtain the dashboard configuration files.

    Run the following command to export the dashboard configuration files:

    Terminal window
    neutree-cli-<arch> launch obs-stack --dry-run

    The exported dashboard configuration files are located in the neutree-deploy/obs-stack/grafana/dashboards directory:

    Terminal window
    tree neutree-deploy/obs-stack/grafana/dashboards

    The directory structure is as follows:

    neutree-deploy/obs-stack/grafana/dashboards
    ├── data_grafana_dashboard.json
    ├── dcgm_exporter_dashboard.json
    ├── default_grafana_dashboard.json
    ├── node_exporter_dashboard.json
    ├── overview_dashboard.json
    ├── router_dashboard.json
    ├── serve_deployment_grafana_dashboard.json
    ├── serve_grafana_dashboard.json
    └── vllm_grafana_dashboard.json
  2. Import the dashboards in Grafana.

    1. Log in to the external Grafana management interface and navigate to Dashboards > Import.

    2. Click Upload JSON file and select the downloaded dashboard JSON file, or paste the JSON content directly.

    3. Complete the following configuration in the import settings:

      • Name: Keep the default dashboard name.
      • Folder: Select or create a folder to organize dashboards (for example: Default).
    4. Click Import to complete the import.

  3. Repeat the above steps to import the other dashboard files.

Step 4: Configure the external Grafana URL in Neutree

Section titled “Step 4: Configure the external Grafana URL in Neutree”

Choose the appropriate method based on your Neutree deployment to configure the external Grafana URL so that dashboards can be embedded in the Neutree management interface:

  • For Docker Compose deployments, use launch --grafana-url to set the external Grafana URL.

  • For Kubernetes deployments, refer to the Modifying monitoring component configuration section to update Grafana-related configuration, disable the built-in Grafana, and set system.grafana.url to the external Grafana URL.

  1. Access external Grafana and confirm that the Neutree dashboards display data correctly.

  2. Log in to the Neutree management interface and verify that the monitoring page correctly embeds and displays the external Grafana dashboards.