gRPC / proto - Rename WatchBackendEvents → WatchEvents; return a stream of Event oneof (LogEvent, BackendEvent, FrontendEvent) with optional filter flags (log, log_level, backend, frontend) - Add EnableBackend, DisableBackend, SetFrontendPoolBackendWeight RPCs - Rename PauseResumeRequest → BackendRequest - Add CheckConfig RPC returning ok/parse_error/semantic_error maglevd - Route slog through a LogBroadcaster (slog.Handler) so WatchEvents subscribers can receive structured log records independently of the daemon's own --log-level - Add --reflection flag (default true) to toggle gRPC server reflection - Add --check flag: validates config file and exits 0/1/2 - SIGHUP: use config.Check before applying reload; log parse vs semantic error separately; refuse reload on any error - Rename default config path /etc/maglev → /etc/vpp-maglev maglevc - Add 'watch events [num <n>] [log [level <level>]] [backend] [frontend]' command; prints compact protojson, stops on any keypress or Ctrl-C; uses cbreak mode (not raw) so output post-processing is preserved - Add 'set backend <name> enable|disable' - Add 'set frontend <name> pool <pool> backend <name> weight <0-100>' - Add 'config check' command Debian packaging - Rename service unit to vpp-maglevd.service - Rename conffiles to /etc/default/vpp-maglev and /etc/vpp-maglev/ - Create maglevd system user/group in postinst; add to vpp group if present - Add postrm; add adduser to Depends
97 lines
2.4 KiB
Groff
97 lines
2.4 KiB
Groff
.TH MAGLEVD 8 "April 2026" "vpp\-maglev" "System Administration"
|
|
.SH NAME
|
|
maglevd \- Maglev health\-checker daemon
|
|
.SH SYNOPSIS
|
|
.B maglevd
|
|
[\fB\-config\fR \fIfile\fR]
|
|
[\fB\-grpc\-addr\fR \fIaddr\fR]
|
|
[\fB\-log\-level\fR \fIlevel\fR]
|
|
[\fB\-reflection\fR[=\fIbool\fR]]
|
|
[\fB\-version\fR]
|
|
.SH DESCRIPTION
|
|
.B maglevd
|
|
is a health\-checker daemon that monitors backends (HTTP, TCP, ICMP) and
|
|
exposes their aggregated state via a gRPC API.
|
|
Configuration is loaded from a YAML file.
|
|
A running daemon reloads its configuration when it receives
|
|
.BR SIGHUP .
|
|
.PP
|
|
Backends are tracked with a rise/fall counter model.
|
|
Each backend cycles through the states
|
|
.BR unknown ,
|
|
.BR up ,
|
|
.BR down ,
|
|
and
|
|
.B paused
|
|
(operator\-set).
|
|
Health\-check intervals adapt automatically: a faster interval is used when
|
|
a backend is not fully healthy, and a slower interval when it has been
|
|
continuously down.
|
|
.SH OPTIONS
|
|
Each flag may also be supplied via an environment variable (shown in
|
|
parentheses); the flag takes precedence.
|
|
.TP
|
|
.BI \-config " file"
|
|
Path to the YAML configuration file.
|
|
.RI "(default: " /etc/vpp-maglev/maglev.yaml "; env: " MAGLEV_CONFIG )
|
|
.TP
|
|
.BI \-grpc\-addr " addr"
|
|
TCP address on which the gRPC server listens.
|
|
.RI "(default: " :9090 "; env: " MAGLEV_GRPC_ADDR )
|
|
.TP
|
|
.BI \-log\-level " level"
|
|
Structured\-log verbosity:
|
|
.BR debug ,
|
|
.BR info ,
|
|
.BR warn ,
|
|
or
|
|
.BR error .
|
|
.RI "(default: " info "; env: " MAGLEV_LOG_LEVEL )
|
|
.TP
|
|
.B \-reflection
|
|
Enable gRPC server reflection so that clients such as
|
|
.BR grpcurl (1)
|
|
can introspect the API without access to the
|
|
.I .proto
|
|
file.
|
|
Enabled by default; pass
|
|
.B \-reflection=false
|
|
to disable.
|
|
.TP
|
|
.B \-version
|
|
Print version, commit hash, and build date, then exit.
|
|
.SH SIGNALS
|
|
.TP
|
|
.B SIGHUP
|
|
Reload the configuration file without restarting.
|
|
New backends are added, removed backends are stopped, and unchanged
|
|
backend workers are left running.
|
|
.TP
|
|
.BR SIGTERM ", " SIGINT
|
|
Gracefully shut down: drain active gRPC streams, then exit.
|
|
.SH FILES
|
|
.TP
|
|
.I /etc/vpp-maglev/maglev.yaml
|
|
Default configuration file (YAML).
|
|
.TP
|
|
.I /etc/default/vpp-maglev
|
|
Environment file sourced by the systemd unit before starting
|
|
.BR maglevd .
|
|
.SH CONFIGURATION
|
|
The configuration file uses YAML and has four top\-level sections under the
|
|
.B maglev
|
|
key:
|
|
.BR healthchecker ,
|
|
.BR healthchecks ,
|
|
.BR backends ,
|
|
and
|
|
.BR frontends .
|
|
.PP
|
|
See the example at
|
|
.I /etc/vpp-maglev/maglev.yaml
|
|
and the full reference in the project documentation.
|
|
.SH SEE ALSO
|
|
.BR maglevc (1)
|
|
.SH AUTHOR
|
|
Pim van Pelt <pim@ipng.ch>
|