Kuidas parandada täielikku systemd-ajakirja

11 min lugemine - 20. mai 2026

hero section cover
Sisukord
  • Kuidas parandada täis systemd-päevikut
  • Probleemi diagnoosimine
  • Logide ohutu kustutamine
  • Journaldi suuruspiirangute konfigureerimine
  • Logide haldamise automatiseerimine
  • Kokkuvõte
Jaga

Diagnoosige ja parandage täis systemd-ajakirja vaakumkäskude, journald.conf-i suuruse piirangute, automaatsete puhastusajamite ja logide edastamise abil.

Kuidas parandada täis systemd-päevikut

Systemd-päevik salvestab kõik teie serveri poolt loodud logisõnumid ning VPS-il, millel on väike juurpartitsioon, võib see vaikselt ära tarbida kogu teie vaba kettaruumi. Kui see juhtub, ei õnnestu teenuseid käivitada, kirjutamine seiskub ja te kaotate just need diagnostilised andmed, mida vajate, et välja selgitada, mis valesti läks. Käesolev juhend käsitleb, kuidas probleemi diagnoosida, vabastada kohe ruumi ja konfigureerida journald nii, et see enam ei korduks.


 

Probleemi diagnoosimine

Alustage sellest, et kontrollite, kui palju ruumi ajakiri kasutab:

journalctl --disk-usage

See näitab kõigi aktiivse ja arhiveeritud logifailide kogumahtu. Võrdle seda oma vaba kettaruumiga df -h. 20 GB juurpartitsioonil moodustab isegi 2 GB logifaile üle 10% kogu kettaruumist, mis on piisav probleemide tekitamiseks.

Seejärel selgitage välja, millised teenused tekitavad kõige rohkem müra. See üherealine käsk järjestab viimase 24 tunni jooksul 10 kõige aktiivsemad logifailide allikat:

journalctl --since "24 hours ago" | awk '{print $5}' | cut -d'[' -f1 | sort | uniq -c | sort -rn | head -10

Filtreerige vead spetsiaalselt journalctl -p err -b , et näha, kas mõni teenus on takerdunud krahhi-tsüklisse ja üleujutab ajakirja. Samuti saate kontrollida, kas journald piirab mõne teenuse kiirust:

journalctl -u systemd-journald | grep -i "suppressed"

Sõnumite summutamine tähendab, et teenus ületas 30 sekundi jooksul vaikimisi määratud 10 000 kande piirmäära. See ongi süüdlane.

Mõned asjad on VPS-instantsidel eriti levinud. Kui Storage=auto on määratud ja /var/log/journal/ olemas, kasutab journald püsivat salvestusruumi, mille vaikimisi piirang on umbes 4 GB. Väikesel juurpartitsioonil täitub see kiiresti. Ebaõnnestunud väljalülitamine võib samuti jätta rikutud ajakirjafailid, millel on .journal~ . Need failid ei roteeru normaalselt ja võtavad jätkuvalt ruumi.

Logide ohutu kustutamine

Enne midagi eemaldamist vahetage aktiivset logifaili, et säilitada praegused logid:

journalctl --rotate

Seejärel kustutage arhiveeritud logid. Saate valida vanuse, suuruse või failide arvu järgi:

sudo journalctl --vacuum-time=1d
sudo journalctl --vacuum-size=100M
sudo journalctl --vacuum-files=5

Esimene valik kustutab logid, mis on vanemad kui 24 tundi. Teine valik vähendab ajakirja kogumahutavust 100 MB-ni. Kolmas valik säilitab ainult viis viimast arhiveeritud faili. Valige oma olukorrale sobiv variant.

Kui ketas on täiesti täis ja journalctl-käskudele ei reageerita, võib olla vaja logifailid käsitsi kustutada:

sudo rm -rf /var/log/journal/*
sudo systemd-tmpfiles --create --prefix /var/log/journal

See on viimane abinõu. See kustutab kõik salvestatud logid ja loob kataloogi uuesti õigete õigustega. Pärast puhastamist taaskäivitage daemon ja kontrollige:

sudo systemctl restart systemd-journald
journalctl --disk-usage

Journaldi suuruspiirangute konfigureerimine

Journaldi vaikimisi seaded on liiga avarad. VPS-i puhul on need liiga avarad. Muuda konfiguratsiooni, et määrata logide salvestamisele kindlad piirangud. Loo ülekirjutamisfail, selle asemel et muuta peamist konfiguratsiooni otse, nii et su muudatused jäävad alles ka pärast paketi uuendamist:

sudo mkdir -p /etc/systemd/journald.conf.d/
sudo nano /etc/systemd/journald.conf.d/size-limits.conf

Peamised direktiivid:

ParameeterVPS (20–40 GB kettaruum)Pühendatud serverMida see teeb
SystemMaxUse500M kuni 1G2G kuni 5GPäeviku kogumahu kindel piir
SystemKeepFree1 G10% kettastOperatsioonisüsteemi jaoks reserveeritud vaba ruum
MaxRetentionSec7–14 päeva30–90 päevaKustutab automaatselt sellest vanemad logid
SystemMaxFileSize20M kuni 50M100MMaksimaalne suurus ühe logifaili kohta

Mõlema seadistamine SystemMaxUse ja SystemKeepFree annab teile kahekordse kindluse: logid on piiratud kindla suurusega ja süsteemil on alati hingamisruumi, sõltumata sellest, mis muud veel kettal on.

Püsiv vs. muutuv mälu

Direktiiv Storage= direktiiv määrab, kuhu logid salvestatakse. Määrake Storage=persistent logide kirjutamiseks /var/log/journal/ kettale. See on soovitatav tootmisserverite puhul, kuna logid säilivad taaskäivituste järel ja võimaldavad uurida krahhe tagantjärele. Kui kataloog puudub, looge see:

sudo mkdir -p /var/log/journal

Alternatiiv, Storage=volatile, hoiab logid RAM-is /run/log/journal/. Logid kaovad taaskäivitamisel. See on mõistlik ajutiste konteinerite või serverite puhul, mis edastavad kõik logid välisesse süsteemi.

Kompressiooni keelamine suure liiklusega serverites

Journald pakub vaikimisi alla 512 baiti suuruseid andmeobjekte. Suure logide läbilaskevõimega serveritel tekitab see CPU-le lisakoormust. Määrake Compress=no , kui edastate logisid väliselt ja ei pea kohalikku salvestusruumi minimeerima. Määrake ForwardToConsole=no tootmiskeskkonnas. Konsooli edastamine on sünkroonne ja takerdunud virtuaalne jadakonsool võib journald-daemoni täielikult blokeerida.

Pärast iga konfiguratsiooni muutmist taaskäivitage teenus:

sudo systemctl restart systemd-journald

Logide haldamise automatiseerimine

Käsitsi puhastamine ei ole mastaapselt teostatav. Looge systemd-ajastin, et logisid graafiku järgi puhastada. Seadistage teenuseüksus aadressil /etc/systemd/system/journal-vacuum.service:

[Unit]
Description=Vacuum old journal logs
 
[Service]
Type=oneshot
ExecStart=/usr/bin/journalctl --vacuum-time=7d --vacuum-size=500M

Seejärel looge vastav ajastin /etc/systemd/system/journal-vacuum.timer:

[Unit]
Description=Weekly journal vacuum
 
[Timer]
OnCalendar=Sun 02:00
Persistent=true
 
[Install]
WantedBy=timers.target

Lülitage see sisse sudo systemctl enable --now journal-vacuum.timer. Ajastin töötab igal pühapäeval kell 2 öösel ja rakendab ühe läbimisega nii ajapõhist kui ka mahupõhist säilitamist.

Üks asi, mida ajastin ei suuda tuvastada, on rikutud ajakirjafailid. Ebaõige väljalülitamise järel paneb journald kahjustatud failid karantiini, lisades failinimele ~ failinimele. Need .journal~ failid arvestatakse endiselt kettaruumi kasutamisel, kuid neid ei puhastata automaatselt. Kontrollige regulaarselt vanu faile ja eemaldage need:

find /var/log/journal/ -name "*.journal~" -mtime +30 -delete

Logide edastamine väljapoole

Serverite puhul, kus on vaja pikaajalist säilitamist ilma kohaliku salvestusruumi suurendamiseta, edastage logid tsentraliseeritud süsteemi. Lihtsaim lähenemine on syslogi edastamise lubamine journald.conf:

ForwardToSyslog=yes

Struktureeritud logide puhul, millel on täielikud metaandmed (PID, UID, üksuste nimed), kasutage systemd-journal-remote JSON-vormingus kirjeid logihaldusplatvormile edastamiseks. Välise logimäluga kaitstakse ka teie auditeerimisjälge, kui kohalik kett rikneb või serveri turvalisus ohustatakse.

Kokkuvõte

Täielikku systemd-päevikut on lihtne parandada ja seda on kerge ära hoida. Olulised sammud:

  • Kontrollige kasutust journalctl --disk-usage ja tuvasta müra tekitavad teenused.
  • Vabasta ruum kohe käsuga journalctl --rotate ja seejärel --vacuum-size või --vacuum-time.
  • Määrake selged suuruspiirangud journald.conf ümberkirjutamisfailis.
  • Automatiseerige puhastamine systemd-ajastiga.
  • Edastage logid väliselt pikaajaliseks säilitamiseks.

FDC VPS- ja pühendatud serverite paketid pakuvad tootmislogide töökoormuste jaoks vajalikku kettaseadme sisend-väljundit ja salvestusruumi.

Blogi

Sel nädalal esile tõstetud

Rohkem artikleid
Zombiprotsessid Linuxis: Leia, eemalda, takista

Zombiprotsessid Linuxis: Leia, eemalda, takista

Õppige, kuidas tuvastada, eemaldada ja vältida zombiprotsesse Linuxis. Käsklused, koodiparandused ja seire näpunäited serverite administraatoritele.

15 min lugemine - 19. mai 2026

Linuxi serveri karastamise kontrollnimekiri

15 min lugemine - 8. mai 2026

Rohkem artikleid
background image

Kas teil on küsimusi või vajate kohandatud lahendust?

icon

Paindlikud võimalused

icon

Ülemaailmne haare

icon

Kohene kasutuselevõtt

icon

Paindlikud võimalused

icon

Ülemaailmne haare

icon

Kohene kasutuselevõtt