StatsD Integration
Control files
To apply changes made to any of the following control files, restart the MTA:
hvmail_init restart
The control files are:
-
/var/hvmail/control/statsd.serverThis is the StatsD server hostname or IP to log to. If this is blank, then StatsD information is not logged.
A port may be optionally specified after a colon, for example
127.0.0.1:1234. If a port is not specified, the default StatsD port of 8125 will be used. -
/var/hvmail/control/statsd.nameThis is the StatsD prefix to use when logging.
In this value, the string
{me}is replaced with the value of/var/hvmail/control/mewith all non-valid characters and dots (.) converted to underscores (_).This defaults to
{me}.greenarrow.
Datapoints logged
The following are logged under the prefix configured in
/var/hvmail/control/statsd.name:
Counters
-
remote.messages.new.countNew remote messages queued in the system.
-
remote.messages.disk_queue.add.countNumber of messages moved to the disk queue.
-
remote.messages.disk_queue.add.bytesNot yet supported
-
remote.messages.disk_queue.remove.countNot yet supported
-
remote.attempts.successNumber of remote delivery attempts that succeed.
-
remote.attempts.deferralNumber of remote delivery attempts that result in a deferral. (This includes deferrals on the last delivery attempt which cause messages to be bounced.)
-
remote.attempts.failureNumber of remote delivery attempts that result in a failure.
-
remote.attempts.connmaxoutNumber of remote delivery attempts that are cancelled/rescheduled because they would exceed the throttle limits for a domain. (This includes when this happens on the last delivery attempt of the message, which causes the message to bounce.)
-
remote.attempts.dumpNumber of remote delivery attempts that result in the message being dumped from the queue (due to the “dump messages from queue” feature).
Gauges
-
remote.dslots.{ram,bounce,disk}.totalNumber of remote delivery slots available in the queue. (This is the value of the
queue.{ram,bounce,disk}.concurrencyremotesetting.) -
remote.dslots.{ram,bounce,disk}.deliveringNumber of remote delivery slots used by messages undergoing a delivery attempt. This includes: DNS lookups, establishing the SMTP connection, transferring the message, waiting for a response, etc.
-
remote.dslots.{ram,bounce,disk}.diskwaitNumber of remote delivery slots used by messages that are waiting to be moved to the disk queue after a deferral.
Note: when IO load due to writing messages to the disk queue is slowing the system down, this number will increase.
-
remote.dslots.{ram,bounce,disk}.throttlewaitNumber of remote delivery slots used by messages that are waiting, due to throttle rules, to be allowed to make a delivery attempt.
-
remote.dslots.{ram,bounce,disk}.freeNumber of remote delivery slots that are unused.
