řešení problémů je jedním z hlavních důvodů, proč lidé vytvářejí protokoly. Když dojde k problému, budete jej chtít diagnostikovat, abyste pochopili, proč se to stalo a jaká byla příčina. Chybová zpráva nebo posloupnost událostí vám mohou poskytnout vodítka k hlavní příčině, uvést, jak problém reprodukovat, a vést vás k řešení. Tato část představuje scénáře, kde můžete použít protokoly Linux pro řešení problémů.,
fail
Login Failures
pro bezpečnostní účely možná budete chtít vědět, kteří uživatelé se přihlásili nebo se pokusili přihlásit do vašeho systému. Ověřovací protokoly můžete zkontrolovat, zda nedošlo k neúspěšným pokusům, ke kterým dochází, když uživatelé poskytují nesprávná pověření nebo nemají oprávnění k přihlášení. K tomu často dochází při použití SSH pro vzdálený přístup nebo při použití příkazu su ke spuštění příkazu jako jiného uživatele. Tyto typy autentizačních událostí jsou zaznamenány pomocí modulu pluggable authentication module (PAM)., Neúspěšné události často obsahují řetězce jako „Failed password“ a „user unknown“, zatímco úspěšné autentizační události často obsahují řetězce jako „Accepted password“ a “ session opened.“
Příklady selhání události patří:
Příklady úspěšné přihlášení zahrnovat:
chceme-Li zjistit, které uživatelské účty jsou nejvíce neúspěšných přihlášení, musíme nejprve extrahujte uživatelská jména z auth protokolu. K tomu použijeme příkazy grep, cut, sort a uniq., Grep vrací řádky obsahující „neplatný uživatel“, střih výtažky uživatelská jména, řazení seznamu jmen, a uniq počítá počet jedinečných názvů:
Další aplikace a služby mohou používat různé formáty, takže budete muset přizpůsobit tento příkaz pro každou aplikaci. Systémy správy protokolu to pro vás mohou efektivně provést automatickou analýzou polí, jako je uživatelské jméno. To vám umožní rychle zobrazit a filtrovat neúspěšné přihlášení jediným kliknutím. V tomto příkladu vidíme, že se uživatel root pokusil přihlásit více než 300krát.,
Uživatelská jména spojená s neúspěšných pokusů o přihlášení zobrazí v Loggly dynamické pole explorer.
Log management systems vám také umožní zobrazit grafy v průběhu času na místě neobvyklé trendy. Pokud měl někdo během několika minut jeden nebo dva neúspěšné přihlášení, může se stát, že skutečný uživatel zapomněl své heslo. Pokud však existují stovky neúspěšných přihlašovacích údajů nebo se jedná o různá uživatelská jména, je pravděpodobnější, že se někdo pokouší zaútočit na systém. Zde můžete vidět náhlý nárůst pokusů o přihlášení jako správce., To zjevně není legitimní použití systému.
nárůst pokusů o přihlášení kořenového adresáře. © 2019 SolarWinds, Inc. Všechna práva vyhrazena.
příčina
příčina restartování
někdy se server může zastavit v důsledku selhání systému nebo restartu. Jak víte, kdy se to stalo a kdo to udělal?
příkaz vypnutí
Pokud někdo spustil příkaz vypnutí ručně,můžete jej vidět v souboru protokolu auth. Zde můžete vidět, že se někdo vzdáleně přihlásil jako uživatel ubuntu a poté systém vypnul.,
Inicializace Jádra
Pokud chcete vidět, když je server restartován, bez ohledu na důvod (včetně dopravních nehod), můžete si vyhledat kernel log(/var/log/kern.log
). Syslog také aplikuje zařízení „kern“ na protokoly jádra. Následující protokoly byly generovány ihned po spuštění. Všimněte si, že časové razítko mezi závorkami je 0: to sleduje dobu od spuštění jádra. Spouštěcí protokoly můžete také najít hledáním „BOOT_IMAGE“.,
zjistit
Detekovat Problémy s Pamětí
Existuje několik důvodů, server může selhat, ale jednu společnou příčinou je nedostatek paměti.
když jsou RAM a odkládací prostor zcela vyčerpány, jádro začne zabíjet procesy-obvykle ty, které používají nejvíce paměti a nejvíce krátkodobé. K chybě dochází, když váš systém používá veškerou svou paměť a nový nebo existující proces se pokusí získat přístup k další paměti. Podívejte se do souborů protokolu pro řetězce jako „z paměti“ nebo pro varování jádra., Tyto řetězce ukazují, že váš systém úmyslně zabil proces nebo aplikaci, spíše než aby proces selhal.
příklady:
mějte na paměti, že grep sám používá paměť, takže můžete způsobit chybu mimo paměť pouhým spuštěním grep. To je další důvod, proč je to báječný nápad centralizovat vaše protokoly!
cron
protokolování chyb úlohy cron
démon cron je plánovač, který spouští příkazy v určených termínech a časech. Pokud se proces nepodaří spustit nebo nedokončí, objeví se v souborech protokolu chyba cron., Tyto soubory najdete v /var/log/cron
, /var/log/messages
a /var/log/syslog
v závislosti na distribuci. Existuje mnoho důvodů, proč může práce cron selhat. Obvykle problémy spočívají spíše v procesu než v samotném démonu cron.
ve výchozím nastavení cron jobs výstup na syslog a zobrazí se v/var/log/syslog
soubor. Výstup příkazů cron můžete také přesměrovat na jiný cíl, například standardní výstup nebo jiný soubor. V tomto příkladu přivádíme příkaz“ Hello world “ k příkazu logger., Tím se vytvoří dvě události protokolu: jedna z cron a jedna z příkazu logger. -T parametr nastaví název aplikace „helloCron“::
$ crontab -e*/5 * * * * echo 'Hello World' 2>&1 | /usr/bin/logger -t helloCron
Což vytváří položky protokolu:
Každý cronu bude log různě v závislosti na konkrétním typu práce, a jak to výstupy data. Doufejme, že existují stopy ke kořenové příčině problémů v protokolech, nebo můžete podle potřeby přidat další protokolování. Ve většině případů byste měli jednoduše nechat cron přihlásit výstup vašich příkazů.
viz. Analyzujte to. Zkontrolujte to. Vyřešte to
podívejte se, na čem záleží.
spusťte bezplatnou zkušební verzi