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.server
This 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.name
This is the StatsD prefix to use when logging.
In this value, the string
{me}
is replaced with the value of/var/hvmail/control/me
with 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.count
New remote messages queued in the system.
-
remote.messages.disk_queue.add.count
Number of messages moved to the disk queue.
-
remote.messages.disk_queue.add.bytes
Not yet supported
-
remote.messages.disk_queue.remove.count
Not yet supported
-
remote.attempts.success
Number of remote delivery attempts that succeed.
-
remote.attempts.deferral
Number 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.failure
Number of remote delivery attempts that result in a failure.
-
remote.attempts.connmaxout
Number 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.dump
Number 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}.total
Number of remote delivery slots available in the queue. (This is the value of the
queue.{ram,bounce,disk}.concurrencyremote
setting.) -
remote.dslots.{ram,bounce,disk}.delivering
Number 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}.diskwait
Number 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}.throttlewait
Number 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}.free
Number of remote delivery slots that are unused.