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
RequiredThe 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.
Duration.
stats.message_metrics
Default: FalseEnables counter metrics for meta packets, e.g.: messages.tx.handshake
. NOTE: message.{tx,rx}.recv_error
is always
emitted.
stats.lighthouse_metrics
Default: FalseEnables 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: nebulaThe 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: tcpChoose which protocol is used for passing stats to Graphite. The options are tcp
and udp
.
stats.host
RequiredIP 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
RequiredTCP address of 0.0.0.0:8080
or :8080
or 192.168.14.12:1234
, for instance.
stats.path
RequiredPath to serve up stats at, for example /my-stats
stats.namespace
RequiredThe 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
RequiredDescribe 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/