Service Logs
- Table of Contents
- Log Locations
- Adjusting Log Retention
Most of GreenArrow’s services use multilog to log their output to a subdirectory of /var/hvmail/log/.
For example, PostgreSQL logs data to the /var/hvmail/log/postgres/ directory. To tail the PostgreSQL log, run:
tail -F /var/hvmail/log/postgres/current | tai64nlocal
multilog is similar to syslog in that it’s a standard for message logging. There are a few key differences to keep in mind:
-
Timestamps are recorded using external TAI64 format. You may decode these timestamps using tai64nlocal, as shown in the above
tailexample. These timestamps appear in both the beginning of each log entry and in the names of most files. -
multilogstores the logs for each service within its own directory. Within each service’s directory, the most recently updated log file is namedcurrent. Older logs have filenames starting with an external TAI64 format timestamp showing what time that log was last updated. -
syslogis normally configured to retain logs for a specific amount of time.multilog, by contrast, gets configured to retain a specific amount of data. For example, multilog could be configured to retain up to 100MB of data for a service.
Log Locations
| Service Name | Log Location |
|---|---|
| Automatic TLS | /var/hvmail/log/tls |
| Bounce Processor | /var/hvmail/log/bounce-processor |
| Config Agent | /var/hvmail/log/config-agent |
| Dynamic Delivery Dispatcher | /var/hvmail/log/dd-dispatcher |
| Dynamic Delivery Log Reader | /var/hvmail/log/dd-logreader |
| Event Processor | /var/hvmail/log/event-processor |
| HTTPD | /var/hvmail/log/httpd |
| Logfile Agent | /var/hvmail/log/logfile-agent |
| Logfile Summary | /var/hvmail/log/logfile-summary |
| Logfile Writer | /var/hvmail/log/logfile-writer |
| Passenger | /var/hvmail/log/passenger |
| Postgres | /var/hvmail/log/postgres |
| Pure-FTPd Authentication Agent | /var/hvmail/log/pure-authd-studio |
| Pure-FTPd | /var/hvmail/log/pure-ftpd |
| Qmail- POP3 | /var/hvmail/log/qmail-pop3d |
| Qmail - SMTPD (port 25) | /var/hvmail/log/qmail-smtpd |
| Qmail - SMTPD2 (default port 587) | /var/hvmail/log/qmail-smtpd2 |
| Qmail - SMTPD3 (default port 901) | /var/hvmail/log/qmail-smtpd3 |
| Redis | /var/hvmail/log/redis |
| Redis NP | /var/hvmail/log/redis-np |
| RPC | /var/hvmail/log/rpc |
| Rspawn limiter | /var/hvmail/log/rspawn-limiter |
| SimpleMH | /var/hvmail/log/simplemh |
| SimpleMH 2 | /var/hvmail/log/simplemh2 |
| SMTP Sink | /var/hvmail/log/smtp-sink |
| Studio Worker | /var/hvmail/log/studio-worker |
Adjusting Log Retention
The amount of data that multilog retains for most services can be configured by updating the /var/hvmail/control/logconfig.multilog file. Here’s a list of the services can have their log retention configured via this file:
| Service | Default Retention | Service Name in Configuration File |
|---|---|---|
/service/hvmail-bounce-processor |
10MB | BOUNCE_PROCESSOR |
/service/hvmail-config-agent |
1MB | CONFIG_AGENT |
/service/hvmail-dd-dispatcher |
1MB | DD_DISPATCHER |
/service/hvmail-dd-logreader |
1MB | DD_LOGREADER |
/service/hvmail-event-processor |
10MB | EVENT_PROCESSOR |
/service/hvmail-httpd |
1MB | HTTPD |
/service/hvmail-logfile-agent |
1MB | LOGFILE_AGENT |
/service/hvmail-logfile-summary |
1MB | LOGFILE_SUMMARY |
/service/hvmail-logfile-writer |
1MB | LOGFILE_WRITER |
/service/hvmail-passenger |
250MB | PASSENGER |
/service/hvmail-postgres |
20MB | POSTGRES |
/service/hvmail-pure-authd-studio |
1MB | PURE_AUTHD_STUDIO |
/service/hvmail-pure-ftpd |
1MB | PURE_FTPD |
/service/hvmail-qmail-pop3d |
1MB | QMAIL_POP3D |
/service/hvmail-qmail-smtpd |
10MB | QMAIL_SMTPD |
/service/hvmail-qmail-smtpd2 |
10MB | QMAIL_SMTPD2 |
/service/hvmail-qmail-smtpd3 |
10MB | QMAIL_SMTPD3 |
/service/hvmail-redis |
1MB | REDIS |
/service/hvmail-redis-np |
1MB | REDIS |
/service/hvmail-rpc |
1MB | RPC |
/service/hvmail-rspawn-limiter |
1MB | RSPAWN_LIMITER |
/service/hvmail-simplemh |
1MB | SIMPLEMH |
/service/hvmail-simplemh2 |
1MB | SIMPLEMH |
/service/hvmail-smtp-sink |
1MB | SMTP_SINK |
/service/hvmail-tls |
1MB | AUTO_TLS |
/service/hvmail-studio-worker |
1MB | STUDIO_WORKER |
Adjusting any of the default rention levels listed above is a three step process:
-
Identify the name that the configuration file uses for the service in the above table. For example, GreenArrow’s PostgreSQL service is named
POSTGRES. -
Add an entry to the
/var/hvmail/control/logconfig.multilogfile of the following form:POSTGRES='s2097152 n10'In the above example,
POSTGRESis the service name identified in the previous step,s2097152tellsmultilogto allow each log file to grow to up to 2,097,152 bytes, or 2MB in size andn10tellsmultilogto retain up to 10 of these log files. In other words - retain up to 20MB of PostgreSQL’s output. -
Restart the
multilogservice by using thesvccommand to apply the change:svc -t /service/hvmail-postgres/log/
