Skip to main content

stats

Nebula can provide stats for Graphite or Prometheus. Options passed / required will depend on stats.type.

stats:
type: graphite
prefix: nebula
protocol: tcp
host: 127.0.0.1:9999
interval: 10s

type: prometheus
listen: 127.0.0.1:8080
path: /metrics
namespace: prometheusns
subsystem: nebula
interval: 10s

message_metrics: false

lighthouse_metrics: false

stats.type

Choose your stats provider. Options are graphite and prometheus. If unset, nebula will not report statistics to a provider. This will determine other available options. A difference between the two is that Prometheus is a polling based system, whereas Graphite is push based.

stats.interval

Required

The speed at which Graphite will push stats updates to the consumer + the speed at which some internal services will push updates to the main stats service.

A golang Duration. Recommended to be set to 60s.

stats.message_metrics

Default: False

Enables counter metrics for meta packets, e.g.: messages.tx.handshake. NOTE: message.{tx,rx}.recv_error is always emitted.

stats.lighthouse_metrics

Default: False

Enables detailed counter metrics for lighthouse packets, e.g.: lighthouse.rx.HostQuery.

Graphite options

Config options if stats.type is chosen to be graphite

stats.prefix

Default: nebula

The prefix for Graphite metrics that nebula will prepend: https://graphite.readthedocs.io/en/latest/feeding-carbon.html#step-1-plan-a-naming-hierarchy

stats.protocol

Default: tcp

Choose which protocol is used for passing stats to Graphite. The options are tcp and udp.

stats.host

Required

IP address of the host that Graphite should push stats updates to.

Prometheus options

Config options if stats.type is chosen to be prometheus

stats.listen

Required

Interface for the Prometheus stats server to listen on. TCP address of 0.0.0.0:8080 or :8080 or 192.168.14.12:1234, for instance.

stats.path

Required

Path to serve stats to, normally /metrics.

stats.namespace

The prefix that nebula should add to stats to add context within Prometheus. It's recommended to set this to nebula by default. Must be in the shape: https://prometheus.io/docs/concepts/data_model/

stats.subsystem

Describe which sort of subsystem these stats fall into: https://prometheus.io/docs/practices/instrumentation/#subsystems. Must be in the shape: https://prometheus.io/docs/concepts/data_model/