Meter collection and reporting
On this page
Poll schedule
Meters are read every four hours by default, and once more at 23:50 so that a calendar day always closes on a real reading rather than an interpolation. Four hours is not about accuracy — counters only go up — it is about noticing a device that has gone quiet before the month ends.
| Default interval | 4 hours, plus a closing read at 23:50 site time |
|---|---|
| Minimum interval | 1 hour. Anything shorter is refused; it adds nothing and annoys older devices. |
| Per-device timeout | 4 s, three attempts, then the device is marked unreachable for that pass |
| Unreachable threshold | 3 consecutive failed passes raises alert MLU-104 |
| Manual read | mluctl meter read --all, any time, does not disturb the schedule |
mluctl meter schedule show
mluctl meter schedule set --every 6h --closing 23:50
mluctl meter read 10.20.4.31 --verbose
Which counters exist
What can be read depends entirely on the platform. The unit never estimates a counter it cannot read; a missing counter stays missing, and the report says so.
| Counter | Availability | Notes |
|---|---|---|
| Total pages | Everything | The only counter guaranteed by the standard MIB. |
| Mono / colour split | Most colour devices | Some platforms count a page with one coloured pixel as colour; that is the device’s definition, not ours. |
| A4 / A3 split | Department MFPs | Rarely present on desktop devices even when they have the trays. |
| Duplex sheets | Mixed | Some report sheets, some report sides. The profile records which. |
| Copy / print / fax / scan | MFPs with a full profile | Missing on generic matches. |
| Large-format square metres | Plotters only | Read as an area counter, not as pages. |
Retention and storage
| Data | Kept for | Resolution |
|---|---|---|
| Raw readings | 90 days | Every poll |
| Daily closing readings | 3 years | One per device per day |
| Month-end readings | 7 years | One per device per month |
| Supply history | 2 years | Daily |
| Alert log | 1 year | Every event |
A standard fleet of 150 devices uses roughly 900 MB after three years. Neither model runs out of room on meter data; if storage warnings appear, look at held print jobs first.
Gaps, resets and corrections
Three things go wrong with counters in the field, and all three are visible in the console as a flag on the reading rather than a silent adjustment.
- Gap. The device was off or unreachable at the scheduled poll. The next successful reading closes the gap; the pages are attributed to the day they were read, and the report marks the day as interpolated.
- Reset. A counter goes down. Almost always a mainboard replacement, occasionally a factory reset. The unit does not subtract: it opens a new counter run, records the reset, and reports both segments. Nothing is billed across a reset without a human confirming it.
- Jump. A counter rises by an implausible amount in one interval — the default threshold is 20,000 pages in four hours. Flagged implausible, kept, and excluded from automatic exports until reviewed.
# see the flags on a device's recent history
mluctl meter history 10.20.4.31 --last 30d --flags
# accept a reset after checking the service record
mluctl meter accept-reset 10.20.4.31 --at 2026-07-14 --note "mainboard replaced, ticket 41920"
Exports
Three formats, all produced from the same daily closing readings. They can be mailed on a schedule or written to a share.
| Format | Contents | Typical use |
|---|---|---|
| csv | One row per device per period: serial, model, location, counters, flags | Billing. The format the desk actually wants. |
| summary.csv | One row per site per period | Contract review. |
| json | Full structure including per-poll detail | Feeding another system. Stable across 3.x. |
mluctl export meters --from 2026-08-01 --to 2026-08-31 --format csv --out /var/spool/mlu/aug.csv
mluctl export schedule add --format csv --monthly 1 --mail billing@printdoc.digital
mluctl export schedule list
Scheduled exports run at 06:00 on the chosen day, after the previous day has closed. An export that contains a flagged reading names it in the first line of the mail body, so nobody has to notice it in a spreadsheet.