Serving node metrics to a Prometheus collector: the engine brings up its own <prometheus-listener> listener — one per node, on the address and port from its name — and the format is provided by the built-in prometheus-cpp library, which the manual lists among third-party components.
The two latency metrics are summaries with precomputed quantiles: 0.50, 0.90, 0.95 and 0.99 are computed inside each node from its own observations. So a fleet quantile cannot be assembled from them: the average p95 of eight nodes is not the fleet’s p95.
What is set:
| What | How |
|---|---|
| address and port | the <prometheus-listener> block name, for example 127.0.0.1:9090 |
| a range instead of an address | the engine takes one matching address and writes it to the log |
| domains for the first-attempt metric | time-first-attempt-domains-file, up to 100 domains |
# metrics on the internal address only <prometheus-listener 10.0.0.5:9090> time-first-attempt-domains-file /etc/pmta/ttfa-domains</prometheus-listener>
3 relations
Latency on receptionThe metric by which the mechanism is visible. § 11.22
curl -s http://10.0.0.5:9090/metrics | head -20
3 articles
◇What the node tells about itself and through which channelsSeven observation surfaces: the web monitor, the console in four formats, the log, accounting, accounting search, metrics and export to external analytics.◇The telemetry contractOne block describes the accounting output in full: which record types, which fields, where they go, how files rotate and what gets anonymized.◇How an accounting record is structuredHow an accounting record is structured: the record type in the first column, then the fields, whose composition is configurable.