Skip to content

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 9101
  • 192.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.

yaml
params:
  modules:
    - server_info
    - process_stats
    - network_stats
    - system_info
    - job_queue
    - directory_info
    - printer_objects
    - history
    - device_power
    - spoolman
    - query_endstops
    - mmu
    - cfs

If omitted, only the default modules are collected: server_info, process_stats, job_queue, system_info, query_endstops, device_power.

ModuleDefaultDescription
cfsCreality Filament System (CFS) slot and rack metrics
device_powerPower device type, status, and state
directory_infoDisk usage for gcodes directory
historyHistorical print job statistics
job_queueJob queue length and state
mmuHappy Hare Multi-Material Unit metrics
network_statsNetwork interface traffic and errors
printer_objectsKlipper printer object state (temperature, fans, MCU, etc.)
process_statsMoonraker process and system CPU/memory metrics
spoolmanSpoolman filament spool information, remaining/used weight and length
query_endstopsEndstop triggered state
server_infoKlippy connection state, loaded/failed components, Moonraker/API versions
system_infoSystem 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:

yaml
  - job_name: "klipper"
    authorization:
      type: APIKEY
      credentials: 'abcdef01234567890123456789012345'
      # credentials_file: /path/to/private/apikey.txt

Environment Variables

VariableDescription
LOGGING_LEVELLog level (overridden by -logging.level flag)
MOONRAKER_APIKEYMoonraker API key (lowest priority)

Released under the MIT License.