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/