Configuration
Command Line Options
-logging.level <level>
Set the logging output verbosity. One of Trace, Debug, Info, Warning, Error, Fatal, Panic. Default: Info
Can also be set with the LOGGING_LEVEL environment variable. The CLI flag takes precedence.
-moonraker.apikey <string>
API key for authenticating with Moonraker. See Authentication.
-web.listen-address [<ip>]:<port>
Address to listen on for HTTP requests. Default: :9101
Examples:
:9101— all interfaces, port 9101192.168.1.99:7070— specific IP and port
-help
Display help text.
Modules
Metric collection is organized into modules. Each module maps to a specific Moonraker API endpoint. Modules are enabled via the modules parameter in the Prometheus scrape configuration.
params:
modules:
- server_info
- process_stats
- network_stats
- system_info
- job_queue
- directory_info
- printer_objects
- history
- device_power
- spoolman
- query_endstops
- mmu
- cfsIf omitted, only the default modules are collected: server_info, process_stats, job_queue, system_info, query_endstops, device_power.
| Module | Default | Description |
|---|---|---|
cfs | Creality Filament System (CFS) slot and rack metrics | |
device_power | ✓ | Power device type, status, and state |
directory_info | Disk usage for gcodes directory | |
history | Historical print job statistics | |
job_queue | ✓ | Job queue length and state |
mmu | Happy Hare Multi-Material Unit metrics | |
network_stats | Network interface traffic and errors | |
printer_objects | Klipper printer object state (temperature, fans, MCU, etc.) | |
process_stats | ✓ | Moonraker process and system CPU/memory metrics |
spoolman | Spoolman filament spool information, remaining/used weight and length | |
query_endstops | ✓ | Endstop triggered state |
server_info | ✓ | Klippy connection state, loaded/failed components, Moonraker/API versions |
system_info | ✓ | System CPU count and service states |
The temperature module was deprecated in v0.8.0 and removed in v0.14.0 — use printer_objects instead.
Prometheus Scrape Configuration
See Getting Started for the full Prometheus configuration example.
Multi-target exporter pattern
The exporter uses the Prometheus multi-target exporter pattern:
/metrics— exporter's own metrics (process stats, Go runtime)/probe?target=<klipper-host>:7125— metrics for a specific Klipper instance
API key in scrape config
Add the API key to the Prometheus scrape config using the authorization block:
- job_name: "klipper"
authorization:
type: APIKEY
credentials: 'abcdef01234567890123456789012345'
# credentials_file: /path/to/private/apikey.txtEnvironment Variables
| Variable | Description |
|---|---|
LOGGING_LEVEL | Log level (overridden by -logging.level flag) |
MOONRAKER_APIKEY | Moonraker API key (lowest priority) |