systemd-journaldDaemonDienstdervonsystemdverwaltetwird
SammeltalleLogsaneinerzentralenStelle
BinaryFormatmitdiversenVorteilengegenüberPlain-TextFormat
ProblemeherkömmlichersyslogDienste1/2BisherwurdensämtlicheLogsnacheinembeliebigenMustergeschrieben(abhängigvomDienst/Tool)–automatischeLoganalyseschwierig
TimestampsenthieltenmeistkeineZeitzonenInfos
BinaryDatenkonntenbishernichtdirektinssysloggeschriebenwerden(coredumps,firmwaredumps,SCSIsensedata)
ProblemeherkömmlichersyslogDienste2/2VieleverschiedeneLogs(syslog,lastlog,audit,kernellogs,etc.)
LogFilessindrelativeinfachmanipulierbar,AngreiferkönnenInformationenzueinemAngriffrelativeinfachverstecken
Earlyboot/lateshutdownInformationenmeistnichtvorhanden
BackgroundLogFormatDieeinzigenMetaDaten,diebeiherkömmlichensyslogImplementationenmitgeschicktwerden,sindQuelle(Facility),Priorität,Timestamp,PID,Hostname/IP
DerSerberverifiziertdieseInformationenmeistnichtundlegtdieseeinszueinsab
DiemeistenInformationensindoptionalundesistnichtpräzisevorgeschrieben,wiedieSyntaxaussieht;dadurchvariierendieLogsjenachSyslogImplementationstark
Konfigurationvonjournald1/2/etc/systemd/journald.conf
man5journald.conf
Storagedefiniert,obdasLogpersistentistpersistent=persistentin/var/log/journalvolatile=nurimMemoryauto=persistentin/var/log/journalwennvorhanden
Compressdefiniert,obKompressioneingeschaltetist
Konfigurationvonjournald2/2Sealdefiniert,obpersistentejournalFilesmiteinemKeysigniertwerden,umdiesevorManipulationenzuschützen
ForwardToXYZdefiniert,objournaldNachrichtenaneinenherkömmlichensyslogDienst,denKernellogbuffer(kmesg),etc.weitergeleitetwerdensollen
NachÄnderungen:
systemctlrestartsystemd-journald
nichtvergessen!
Loganalysemitjournalctl1/6journalctlisteinhigh-levelZugangzudenLogs
NützlicheFiltersinddirektintegriert:
BootNummer/SystemStarts
ZeitIntervall
SpezifischeLogFelder
Loganalysemitjournalctl2/6LogseinesspezifischenToolsanalysieren
journalctl/usr/sbin/httpd
-fFortlaufendeAnzeige
-eZeigtdieletztenEinträge
-rUmgekehrteReihenfolge
LogseinesspezifischensystemdUnitsanzeigen
journalctl-umariadb
Loganalysemitjournalctl3/6FilterungnachSystemStartsistnützlich,umz.B.ProblemenachdemerstenRebootinfolgeeinesUpdateszufinden
Beispiel:
journalctl--list-boot
journalctl-b42
Loganalysemitjournalctl4/6FilterungbasierendaufeinemZeitintervallsindnützlich,umProbleme,dieineinembestimmtenZeitraumpassiertsind,zuanalysieren
Beispiele:
journalctl--since"2014-06-309:17:16"
journalctl--since"now"
journalctl--since"today"--until"11:00"
Loganalysemitjournalctl5/6Zeitangaben,sieheman7system.time
Annahme,aktuelleZeit:2016-08-2318:15:22
"11:00"2016-08-2311:12:00
"now"2016-08-2318:15:22
"+3h30min"2016-08-2321:45:22
Loganalysemitjournalctl6/6FilterungnacheinemspezifischenLogFeldistnützlich,umz.B.ProblemeeinesspezifischenProzesses,einesspezifischenBenutzers,etc.zufinden
man7systemd.journal-fields
Beispiele:
journalctl_PID=507--since"today"
journalctl_UID=1000
journalctl_SYSTEMD_UNIT=httpd.service
LimitierungLogGrösseParameterinjournal.conf
[System|Runtime]MaxUse
[System|Runtime]MaxFileSize
[System|Runtime]MaxFiles
System=onDisk(persistent)Files
Runtime=inMemoryFiles
man5journald.conf
LimitierungLogGrösse2/4[System|Runtime]MaxUsedefiniert,wievielPlatzdasjournalmaximalbelegendarf
Defaultist10%derPartitionsgrösseaufwelcherdasJournalliegt
DieserWertbeinhaltetallejournalFiles(auchrotierte)
LimitierungLogGrösse3/4[System|Runtime]MaxFileSizedefiniert,wiegrossindividuelleJournalFileswerdendürfen
Defaultist1/8derGrössevon[System|Runtime]MaxUsedamitsiebenRotationenmöglichsind
LimitierungLogGrösse4/4[System|Runtime]MaxFilesdefiniert,wievieleindividuelleJournalFilesmaximalaufbewahrtwerden
Deafultist100
FeelFreetoContactUswww.adfinis-sygroup.ch
TechBlog
GitHub