Data exporter of Nebula Graph
  • Go 81.9%
  • Go Template 8.4%
  • Makefile 8.1%
  • Dockerfile 1.3%
  • Shell 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-02 17:31:44 +08:00
.github/workflows feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
charts feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
deploy feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
exporter feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
.gitignore feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
build.sh support nebula v2.0.0 metrics (#10) 2021-04-09 18:04:49 +08:00
Dockerfile feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
go.mod feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
go.sum feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
main.go feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
Makefile fix: build image (#68) 2026-06-23 16:10:37 +08:00
README-CN.md feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00
README.md feat: upgrade stats exporter go mod version (#70) 2026-11-02 17:31:44 +08:00


English | 中文
A distributed, scalable, lightning-fast graph database

Nebula stats exporter

Nebula Graph exporter for Prometheus.

The metrics currently collected are:

  • Graphd's metrics
  • Graphd's space level metrics
  • Metad's metrics
  • Storaged's metrics
  • Storaged's rocksdb metrics
  • Metad Listener's metrics
  • Storaged Listener's metrics
  • Draienrd's metrics

Building and running the exporter

$ git clone https://github.com/vesoft-inc/nebula-stats-exporter.git
$ cd nebula-stats-exporter
$ make build
$ ./nebula-stats-exporter --help
usage: nebula-stats-exporter [<flags>]

Flags:
  -h, --help                    Show context-sensitive help (also try --help-long and --help-man).
      --listen-address=":9100"  Address of nebula metrics server
      --namespace="default"     The namespace which nebula in
      --cluster=""              The cluster name for nebula, default get metrics of all clusters in the namespace.
      --kube-config=""          The kubernetes config file
      --max-request=10          Maximum number of parallel scrape requests. Use 0 to disable.
      --max-metric-requests=40
                                Maximum number of concurrent Nebula metrics requests per scrape.
      --bare-metal              Whether running in bare metal environment
      --bare-metal-config="/config.yaml"
                                The bare metal config file
      --version                 Show application version.

The --bare-metal-config file examples:

clusters:                                   # a list of clusters you want to monitor
  - name: nebula                            # the cluster name
    instances:                              # a list of instances for this cluster
      - name: metad0                        # the instance name
        endpointIP: 192.168.10.131          # the ip of this instance
        endpointPort: 19559                 # the port of this instance
        componentType: metad                # the component type of this instance, optional value metad, graphd and storaged.
      - ...

See config.yaml for details.

Basic Prometheus Configuration

Add a block to the scrape_configs of your prometheus.yaml config file:

scrape_configs:
  - job_name: 'nebula-stats-exporter'
    static_configs:
      - targets: ['<<NEBULA_STATS_EXPORTER_HOSTNAME>>:9100'] # nebula-stats-exporter metrics endpoints

And adjust the host name NEBULA_STATS_EXPORTER_HOSTNAME accordingly.

Run with Docker

$ docker run -d --restart=always --name nebula-stats-exporter -p 9100:9100 \
    -v "<<PATH_OF_CONFIG_FILE>>:/config.yaml" \
    vesoft/nebula-stats-exporter:v3.3.0 --bare-metal --bare-metal-config=/config.yaml

# For example:
$ docker run -d --restart=always --name nebula-stats-exporter -p 9100:9100 \
    -v "$(pwd)/deploy/bare-metal/config.yaml:/config.yaml" \
    vesoft/nebula-stats-exporter:v3.3.0 --bare-metal --bare-metal-config=/config.yaml

Run on Bare Metal

Here is an introduction to deploy on Bare Metal.

Run on Kubernetes

Here is an introduction to deploy on Kubernetes.

Import grafana config

Please import nebula-grafana.json into your grafana.

Wait a while, then you can see the charts in grafana.