A transformed log should look like this (JSON):
"timestamp": "2025-04-01T14:32:10Z", "vmta": "marketing-high-trust", "domain": "gmail.com", "action": "perm-fail", "dsn": "5.7.1", "enhanced_code": "550-5.7.26", "message": "Unauthenticated email from ip [192.0.2.50] is not accepted due to domain's DMARC policy"
| Legacy Approach | Better Modern Approach | Why It Wins | | :--- | :--- | :--- | | cat pmta.status | | Historical graphs of queue sizes, domain throttles, and TLS cipher usage. | | Manual log grep for 550 | Loki + LogQL | app="pmta" |= "550" | json | line_format ".enhanced_code" | | Watching /var/log/maillog | Vector + ClickHouse | Billions of events with instant pivot by sender_domain , rcpt_domain , vmta . | | Email alerts on "Disk full" | PagerDuty + Webhook | Auto-create a ticket when the pmta virtual memory exceeds 75%. | Part 6: The Human Element – SRE Practices for PMTA Better monitoring is not just software; it is process. powermta monitoring better
Your config file should have comments linking thresholds to monitoring alerts.
<acct-file logs /var/log/pmta/acct.csv> acpt-file-name /var/log/pmta/acct-main-%Y%m%d.csv temp-fail-file-name /var/log/pmta/acct-tempfail-%Y%m%d.csv perm-fail-file-name /var/log/pmta/acct-permfail-%Y%m%d.csv </acct-file> Why? Because CSV is machine-readable. Parse these files into a centralized time-series database. Drop grep . Use Fluentd , Logstash , or Vector to tail PMTA logs and push them into ClickHouse, Datadog, or Elasticsearch . A transformed log should look like this (JSON):
Add a daily cron job that runs pmta show queue --domain <top 10 domains> and diffs it against yesterday. This weekly review is often where true throttling (silent blacklisting) is discovered.
If you rely solely on the default PMTA web interface or basic tail -f /var/log/pmta/smtp.log commands, you are flying blind. You are reacting to blacklists and throttling instead of preventing them. | Part 6: The Human Element – SRE
# ALERT: If connections to gmail exceed 50 concurrent, Prometheus will page. max-smtp-out 50 For the first 30 days of implementing PowerMTA monitoring better , you will be bothered constantly. That is good. Every time you get a false alarm (e.g., "High 450 errors" during an announced Yahoo maintenance window), refine your alert. Add a blackout window or an ignore rule for that specific enhanced status code. Conclusion: Better is Actionable Intelligence Doing PowerMTA monitoring better is not about buying an expensive proprietary module. It is about changing your relationship with the MTA. Stop treating PMTA as a "set it and forget it" appliance. Treat it as a dynamic system that requires feedback loops.
Hola ratosoci@s,
aquí encontraréis todos mis libros.
¡No os los perdáis!