Jak spravovat protokoly souborů Linux pomocí Achieve

Distribuce Linuxu jsou díky své schopnosti přizpůsobit se novým funkcím a novým rolím ideální pro jakýkoli typ podnikového prostředí a nejlépe zdarma díky otevřenému kódu.

Máme tisíce aplikací nebo nástrojů navržených pro centralizovanou kontrolu nad všemi aspekty systému, a tak jako správci nebo pracovníci IT s jistotou vědí, kdy dojde k chybě, a vědí, jak ji vyřešit.

V této široké škále možností najdeme Logrotate, což je nástroj distribuce a jeho funkcí je otáčení a komprimace souborů protokolu.

Tento úkol je důležitý, protože tím, že s těmito soubory neprovedete žádnou akci, může být ovlivněno místo na pevném disku, což vede k dalším typům obecných chyb.

V tomto případě použijeme Ubuntu 17.10 a Logrotate je ve výchozím nastavení nainstalován a je již nakonfigurován pro správu úloh otáčení protokolů všech nainstalovaných balíčků, včetně rsyslog, výchozího procesoru systémového protokolu.

Dále uvidíme, jak nainstalovat a používat tento cenný nástroj.

1. Identifikujte verzi nainstalovaného Linuxu Logrotate


Prvním krokem, který je třeba udělat, je podrobně vědět, jakou verzi Logrotate máme, v tomto případě Ubuntu 17.10. K tomu spustíme následující příkaz:
 logrotate -verze
Výsledkem bude následující:

ZVĚTŠIT

Pokud Logrotate není nainstalován, zobrazí se chyba. Nástroj můžeme nainstalovat pomocí správce balíčků použité distribuce Linuxu.

Pokud je nainstalován Logrotate, ale číslo verze se výrazně liší, můžeme mít problémy s některým nastavením obslužného programu. Dokumentaci konkrétní verze Logrotate můžeme konzultovat přímo na jeho manuálové stránce:

 muž logrotate
Výchozí konfigurační strukturu Logrotate vidíme v distribuci Linuxu:

ZVĚTŠIT

2. Logujte konfiguraci Linuxu


Informace o konfiguraci Logrotate lze v případě Ubuntu obecně nalézt na dvou místech:

atd. / logrotate.confTento soubor obsahuje některá výchozí nastavení a nastavuje otáčení u některých protokolů, které nevlastní žádný systémový balíček. Také používá příkaz include k získání nastavení z libovolného souboru v adresáři /etc/logrotate.d.

/etc/logrotate.d/V tomto adresáři umístí jakýkoli balíček, který nainstalujeme a potřebujeme pomoc s otáčením protokolu, jeho konfiguraci Logrotate. Při standardní instalaci by zde již měly existovat soubory pro základní systémové nástroje, jako jsou apt, dpkg, rsyslog atd.

Ve výchozím nastavení bude logrotate.conf konfigurovat týdenní střídání protokolů (týdně), přičemž soubory protokolu budou vlastnit uživatel root a skupina syslog (su root syslog), přičemž budou uchovávány čtyři soubory protokolu (rotace 4) a nové soubory budou vytvořeny prázdné. evidence. vytvořené po otočení proudu (vytvoření).

Ke konfiguračnímu souboru Logrotate balíčku v /etc/logrotate.d můžeme přistupovat pomocí nástroje cat:

 kočka /etc/logrotate.d/apt

ZVĚTŠIT

Tento soubor obsahuje konfigurační bloky pro dva různé soubory protokolu v adresáři / var / log / apt /: term.log a history.log. Oba mají stejné možnosti.

Jakákoli možnost, která není v těchto konfiguračních blocích nastavena, zdědí výchozí hodnoty nebo hodnoty nastavené v /etc/logrotate.conf. Možnosti konfigurované pro vhodné protokoly jsou:

otočit 12Uchovává dvanáct starých souborů protokolu.

MěsíčníOtočit jednou za měsíc.

KomprimovatStará se o kompresi otočených souborů. Ve výchozím nastavení používá gzip a výsledkem jsou soubory končící příponou .gz. Příkaz komprese lze změnit pomocí volby compresscmd.

chybějícíokPokud soubor protokolu chybí, nepíše chybovou zprávu.

oznámeníSoubor protokolu neotáčí, pokud je prázdný.

K dispozici je mnoho dalších možností konfigurace.

3. Konfigurujte službu Linux Logrotate a přidejte konfiguraci do /etc/logrotate.d/


Dále nakonfigurujeme konfigurační soubor, který bude zpracovávat protokoly služby, kterou vytvoříme.

Ke správě souborů protokolu pro aplikace mimo předem zabalené a předkonfigurované systémové služby máme dvě možnosti:

  • Vytvořte nový konfigurační soubor Logrotate a umístěte jej do cesty /etc/logrotate.d/. To poběží denně jako uživatel root spolu se všemi ostatními standardními úlohami Logrotate.
  • Vytvořte nový konfigurační soubor a spusťte jej mimo výchozí konfiguraci Logrotate Ubuntu. To je nutné pouze v případě, že potřebujeme spustit Logrotate jako uživatel bez oprávnění root nebo pokud chcete protokoly otáčet častěji než denně (hodinové nastavení v /etc/logrotate.d/ by nebylo účinné, protože nastavení systému Logrotate běží pouze jednou denně).

V tomto případě chceme nakonfigurovat střídání protokolů pro webový server, který do cesty / var / log / solvetic-app / vloží access.log a error.log. Poběží jako uživatel www skupiny a skupina.

Chcete -li přidat nějakou konfiguraci do /etc/logrotate.d/, musíme nejprve otevřít nový soubor následujícím způsobem:

 sudo nano /etc/logrotate.d/solvetic-app
tam přidáme následující řádky:
 /var/log/solvetic-app/*.log {denní chybějící otočení 14 komprimovat oznámení prázdné vytvoření 0640 www-data www-data sdílené skripty postrotate systemctl reload solvetic-app endscript}

ZVĚTŠIT

Změny můžeme uložit pomocí kombinace kláves Ctrl + O a editor ukončíme pomocí Ctrl + X.

Některé z nových konfiguračních směrnic v tomto souboru jsou:

vytvořte 0640 www-data www-dataTento parametr vytvoří po otočení nový prázdný soubor protokolu se zadanými oprávněními (0640), vlastníkem (www-data) a skupinou (také www-data).

sdílené skriptyTento příznak označuje, že skripty přidané do konfigurace běží pouze jednou za běh, nikoli pro každý otočený soubor.

postrotovat do koncového skriptuTento blok obsahuje skript, který se spustí po otočení souboru protokolu. V takovém případě můžeme naši solvetic-app znovu načíst. Někdy je nutné, aby se aplikace přepnula do nově vytvořeného souboru protokolu.

Před kontrolou protokolů musíme počítat s postrotate popravami. Komprese může trvat dlouho a software by se měl okamžitě přepnout do nového souboru protokolu. Pro úkoly, které musí běžet po komprimaci záznamů, použijte místo toho blok poslední akce.

Po přizpůsobení konfigurace, která nejlépe vyhovuje našim potřebám a byla uložena v souboru /etc/logrotate.d, ji můžeme zkontrolovat spuštěním následujícího řádku.

 sudo logrotate /etc/logrotate.conf -debug
To volá logrotate, ukazuje na standardní konfigurační soubor a aktivuje režim ladění:

ZVĚTŠIT

Budou vytištěny informace o tom, jaké soubory protokolu Logrotate zpracovává a co se na nich spouští. Pokud vše vypadá dobře, máme hotovo. Standardní úloha Logrotate poběží jednou denně a bude obsahovat vaše nové nastavení.

4. Jak vytvořit samostatnou konfiguraci protokolování Loggrate Linux


Nejprve vytvoříme konfigurační soubor v našem domovském adresáři. Můžeme jej otevřít pomocí textového editoru:
 sudo nano /home/solvetic/logrotate.conf
Do nového souboru vložíme následující:
 /home/solvetic/logs/*.log {hodinové chybějící otočení 24 komprimace vytvořit}

ZVĚTŠIT

Změny můžeme uložit a soubor opustit.

Toto nastavení bude otáčet soubory každou hodinu, zkomprimuje a uchová čtyřiadvacet starých záznamů a vytvoří nový soubor protokolu, který nahradí otočený soubor. Abychom otestovali, že funguje správně, můžeme vytvořit soubor protokolu spuštěním následujících řádků:

 cd ~ sudo mkdir logs sudo touch logs / access.log

ZVĚTŠIT

Nyní, když máme prázdný soubor protokolu na správném místě, spustíme příkaz logrotate.
Provedeme následující:

 logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate -state -verbose

ZVĚTŠIT

Parametr --verbose vytiskne podrobné informace o tom, co používáme s Logrotate. V tomto případě uvidíme, že se nic neotáčelo. Toto je poprvé, co Logrotate viděl tento soubor protokolu, a jak víme, soubor je starý nula hodin a neměl by se otáčet.

Pokud se podíváme na stavový soubor, uvidíme, že Logrotate zaznamenal určité informace o provedení, které jsme provedli:

 cat / home / solvetic / logrotate-state
Uvidíme následující:

ZVĚTŠIT

Logrotate zaznamenal záznamy, které analyzoval, a kdy je naposledy považoval za otočení. Pokud stejný příkaz spustíme o hodinu později, záznam se otočí podle plánu. Pokud chcete přinutit Logrotate otáčet soubor protokolu, když by to jinak nemělo, můžeme použít příznak --force:

 sudo logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate -state --verbose -force

5. Vytvoření naplánované úlohy na platformě Achieve Linux


Nakonec musíme nakonfigurovat úlohu cron, aby spustila Logrotate každou hodinu. Chcete -li to provést, otevřete crontab našeho uživatele provedením následujícího:
 crontab -e
Do otevřeného souboru přidáme následující řádek:
 14 * * * * / usr / sbin / logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate-state

ZVĚTŠIT

Tento úkol bude probíhat ve 14. minutě každou hodinu, každý den. V zásadě funguje se stejným příkazem logrotate, který jsme spustili dříve, přestože jsme logrotate rozšířili na celou cestu / usr / sbin / logrotate. Soubor můžeme uložit pomocí kombinace kláves Ctrl + O a opustit jej pomocí Ctrl + X.

Viděli jsme tedy, jak je Logrotate jednoduchý, ale účinný nástroj, pokud jde o správu a řízení záznamů v jakékoli distribuci Linuxu.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave