Knowledge base

http-webhook-log-verbose

<acct-file>

Detailed logging of webhook activity
in the configuration this is a linehttp-webhook-log-verbose falseinside the block <acct-file>
Why batches do not go out

By default only errors are written to the log. The line adds messages about normal operation and makes error entries more detailed.

This is the main tool for investigating the webhook. All faults have one symptom — intermediate files pile up; the causes differ: a wrong token, a receiver refusal, an unresolvable name, a batch that is too large, mismatched compression. They can be told apart only by the log.

It writes to the engine’s common log, not a separate one — the path is set by the log-file directive.

The line is diagnostic. On a fleet with one-minute batches, constant detailed logging means several lines a minute from every node.

The main trap is investigating non-delivery without this line. Without it only errors get into the log, and briefly at that: a detailed error entry, like messages about normal operation, is added by this very line. Investigating by piling-up files alone turns into guesswork.
What the Hub does. It does not write it. When investigating “telemetry does not arrive”, this is the first thing worth enabling on the node: our receiver answers the same way to a wrong token and to a nonexistent node, and from the Hub’s side the cause cannot be told apart — while the node’s log will have the reply code.
Recommended values

Enabled for the duration of an investigation:

Value When
false (default) normal operation
true batches do not go out, and you need to understand why

The order of investigation. Files pile up → enable this line → look at the receiver’s reply code → treat by code: 401 — the token, 413 — batch size, 5xx — the receiver.

The “errors only” default and the purpose come from the manual (§ 3.3.11.23). The order of investigation by reply code is ours.
Example configuration
# for the duration of the investigation: batches pile up, cause unknown
<acct-file /var/log/pmta/webhook.json>
    http-webhook-url https://hub.example.com/api/telemetry/pmta/7
    http-webhook-log-verbose true</acct-file>
After the investigation the line is removed: with one-minute batches it adds several lines a minute from every node of the fleet.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
▲

Common mistakes and problems

what people get wrong and how it ends2 mistakes▶

Looking for the cause of non-delivery in the receiver's log

our experience

What it costsIf the request does not reach the receiver — the name does not resolve, network egress is closed, the certificate does not match — there will be nothing in its log. The cause is visible only from the node’s side.
How to spot itSilence on the receiver, files piling up on the node.
How to do it rightEnable detailed logging on the node and read the engine log.

Leaving detailed logging on

our experience

What it costsOne-minute batches give several lines a minute from every node. The engine log grows, rotation speeds up, and delivery entries are pushed out earlier than they should be.
How to spot itThe logs for the needed day have already been deleted by rotation.
How to do it rightReturn false after the investigation.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
Reference data
Syntax
http-webhook-log-verbose <boolean>
Values
yes | no | true | false
Default
false § 3.3.11.23
Applying
reload, no restart needed
Queue
will not touch what is already queued
Where to write it
<acct-file>
How many times
once in the block
Everything here comes from the manual, with the section.
Inheritance
No inheritance: the line lives inside its own <acct-file> and concerns only its own sends. With several accounting streams it is worth enabling on the one under investigation.
How to check on the node
We look at the engine log, filtering the webhook lines:
grep -i webhook /var/log/pmta/pmta.log | tail -30
With the line on, both successful sends and reply codes will be visible. Nothing while files pile up means things do not even get as far as an attempt — check the name in the address and network reachability.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Collect telemetry