Logovací soubory (logy) jsou základním nástrojem pro diagnostiku a řešení problémů v IT infrastruktuře. Jedním ze základních logů, který se využívá při správě a diagnostice e-mailových služeb, je maillog
. Tento soubor obsahuje záznamy o všech akcích souvisejících s e-mailovými službami na serveru, jako jsou odesílání a přijímání e-mailů, autentizace uživatelů, chyby při doručování a další. V tomto článku se podíváme na to, jak číst maillog
a ukážeme si konkrétní příklady z praxe, které pomohou identifikovat a řešit běžné problémy.
Základy čtení maillogu
Maillog
se obvykle nachází v /var/log/
na většině Linuxových distribucí a jeho přesná poloha může záviset na konfiguraci systému a používaném e-mailovém serveru (např. Postfix, Sendmail, Exim). Soubor lze prohlížet pomocí standardních nástrojů pro práci s textem, jako jsou cat
, less
, tail
, grep
apod.
Formát záznamu
Každý záznam v maillogu
obvykle obsahuje datum a čas, hostname serveru, název služby (např. postfix/smtpd), identifikátor procesu (PID) a samotnou zprávu. Formát zprávy se může lišit v závislosti na typu události.
Příklad 1: Úspěšné odeslání e-mailu
Jan 12 10:23:45 mailserver postfix/smtp[12345]: 0A1B2C3D4E: to=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>, relay=example.com[192.0.2.1]:25, delay=0.35, delays=0.05/0.01/0.09/0.2, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 123456789)
Z tohoto záznamu lze vyčíst, že e-mail s ID 0A1B2C3D4E
byl úspěšně odeslán na adresu Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
přes server example.com
s IP adresou 192.0.2.1
. Celková doba doručení byla 0.35 sekundy, přičemž zpoždění v jednotlivých fázích je detailně rozepsáno. Status sent
a kód 250 2.0.0 Ok
signalizují úspěšné odeslání.
Příklad 2: Chyba při doručování e-mailu
Jan 12 10:25:30 mailserver postfix/smtp[23456]: 1D2C3B4A5F: to=<Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>, relay=none, delay=0, delays=0/0/0/0, dsn=5.0.0, status=bounced (host example.com[192.0.2.2] said: 550 5.1.1 <Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>: Recipient address rejected: User unknown in virtual mailbox table)
Tento záznam ukazuje, že pokus o odeslání e-mailu na adresu Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
selhal, protože adresát neexistuje. Server example.com
s IP 192.0.2.2
vrátil chybovou zprávu 550 5.1.1
s vysvětlením, že uživatel není znám. Status bounced
indikuje, že e-mail byl vrácen odesílateli.
Analýza problémů
Při analýze maillogu
je důležité všímat si kódů stavu (DSN - Delivery Status Notification) a chybových zpráv, které poskytují klíčové informace o povaze problému. Pomocí grep
lze efektivně filtrovat záznamy týkající se konkrétní e-mailové adresy, ID zprávy nebo specifické chybové zprávy.
Čtení a analýza maillogu
je zásadní dovedností pro každého správce e-mailových serverů. Umění interpretovat záznamy umožňuje rychle identifikovat a řešit problémy, zlepšovat konfiguraci a zajišťovat plynulý chod e-mailových služeb. Doufáme, že tento článek vám poskytl užitečný úvod do čtení maillogů
a pomohl vám lépe porozumět běžným problémům, s nimiž se můžete setkat.