Knowledge base

Exposing metrics over SNMP

SNMP support
A second way of monitoring

The node serves its main metrics over SNMP — everything show status prints.

On Linux this is a separate package from the vendor’s download page. The daemon runs on its own or as an AgentX subagent if a master agent is already running on the machine — for example, snmpd from Net-SNMP with the master agentx line.

The configuration is /etc/pmta/pmtasnmp.conf, an ordinary Net-SNMP file; by default anyone with the public community string can read the data. The data description is the MIB /usr/share/snmp/mibs/PowerMTA-MIB.txt.

The main trap is leaving the public community. The default lets anyone who can reach the port read the metrics: edit the configuration file before enabling it.
What the Hub does. Not used: the Hub receives events via the accounting webhook and reads the node’s state through the web monitor.
Recommended values

What is where:

What Where
daemon configuration /etc/pmta/pmtasnmp.conf
data description /usr/share/snmp/mibs/PowerMTA-MIB.txt
check snmpwalk from Net-SNMP
The data set, the package, the operating modes, the files and the check come from the manual (§ 11.10). The trap analysis is ours.
Example configuration
# all engine metrics over SNMP
snmpwalk -v2c -c public localhost PowerMTA-MIB::mta
The manual’s command: it answers if the daemon is running and the public community has not been changed.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
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.
How to check on the node
Check which community is allowed:
grep -nE 'community' /etc/pmta/pmtasnmp.conf
A line with public and no address restriction means the metrics are open to everyone.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing
Scenarios
Node security · Collect telemetry