67 lines
2.6 KiB
Plaintext
67 lines
2.6 KiB
Plaintext
# Ship mail-stack logs to a remote ELK collector via syslog.
|
|
#
|
|
# Drop into /etc/rsyslog.d/ and restart rsyslog.
|
|
# Override REMOTE / PORT / PROTO via env or by editing this file.
|
|
#
|
|
# - mail-flask, mail-dramatiq уже идут в systemd journal (StandardOutput=append:
|
|
# пишет в файл, journal — параллельно). Можно читать file-tail или journal.
|
|
# - mail-backup — отдельный лог-файл от cron.
|
|
# - DMS пишет mail.log/mail.err в bind-mounted volume.
|
|
|
|
# ── Inputs (file-tail) ───────────────────────────────────────────────────
|
|
module(load="imfile" PollingInterval="2")
|
|
|
|
input(type="imfile"
|
|
File="/var/log/mail-flask.log"
|
|
Tag="mail-flask"
|
|
Severity="info"
|
|
Facility="local6"
|
|
addMetadata="on"
|
|
reopenOnTruncate="on"
|
|
stateFile="rsyslog-mail-flask"
|
|
readMode="2") # 2 = paragraph, склеивает многострочные tracebacks
|
|
|
|
input(type="imfile"
|
|
File="/var/log/mail-dramatiq.log"
|
|
Tag="mail-dramatiq"
|
|
Severity="info"
|
|
Facility="local6"
|
|
stateFile="rsyslog-mail-dramatiq"
|
|
readMode="2")
|
|
|
|
input(type="imfile"
|
|
File="/var/log/mail-backup.log"
|
|
Tag="mail-backup"
|
|
Severity="info"
|
|
Facility="local6"
|
|
stateFile="rsyslog-mail-backup"
|
|
readMode="0")
|
|
|
|
input(type="imfile"
|
|
File="/home/deeily/mail/docker/dms-data/logs/mail.log"
|
|
Tag="dms"
|
|
Severity="info"
|
|
Facility="local6"
|
|
stateFile="rsyslog-dms"
|
|
readMode="0")
|
|
|
|
# ── Output to ELK ────────────────────────────────────────────────────────
|
|
# Очередь на диск — переживает падения сети, не теряет логи.
|
|
$WorkDirectory /var/spool/rsyslog
|
|
$ActionQueueType LinkedList
|
|
$ActionQueueFileName mail_elk_q
|
|
$ActionQueueMaxDiskSpace 1g
|
|
$ActionQueueSaveOnShutdown on
|
|
$ActionResumeRetryCount -1
|
|
|
|
# Шлём всё что Facility=local6 на удалённый ELK.
|
|
# Для UDP замените `@@` на `@`. Порт по вкусу: 514 классика, 5140/5044 для Logstash.
|
|
local6.* action(type="omfwd"
|
|
target="logstash.internal"
|
|
port="5140"
|
|
protocol="tcp"
|
|
template="RSYSLOG_SyslogProtocol23Format")
|
|
|
|
# Опционально: в локальный файл для отладки.
|
|
# local6.* /var/log/mail-stack-shipped.log
|