{"id":673,"date":"2017-04-08T12:58:23","date_gmt":"2017-04-08T10:58:23","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=673"},"modified":"2017-07-25T10:10:27","modified_gmt":"2017-07-25T08:10:27","slug":"journal","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/08\/journal\/","title":{"rendered":"Journal"},"content":{"rendered":"<p>Poza <em>syslogiem<\/em> RHEL7 oferuje dodatkowe narz\u0119dzie do przegl\u0105dania i zarz\u0105dzania logami &#8211; <em>Journal<\/em> &#8211; zaimplementowany przez demon <em>journald<\/em>. Demon przechowuje komunikaty w postaci binarnej w plikach zwanych dziennikami (<em>journals<\/em>), zlokalizowanymi w katalogu <em>\/var\/run\/journal<\/em>.<!--more--><\/p>\n<p>Przegl\u0105danie wszystkich komunikat\u00f3w systemu od ostatniego rebootu:<br \/>\n<code># journalctl<\/code><\/p>\n<p>Format strukturyzowany:<br \/>\n<code># journalctl -o verbose<\/code><\/p>\n<p>Wy\u015bwietlenie tylko 3 linii log\u00f3w:<br \/>\n<code># journalctl \u2013n 3<\/code><\/p>\n<p>Wy\u015bwietlenie wszystkich komunikat\u00f3w od ostatniego rebootu. Je\u017celi dodatkowo dodamy -0 lub -1 czy -2 to wy\u015bwietlone zostan\u0105 komunikaty od poprzednih reboot\u00f3w.<br \/>\n<code># journalctl \u2013b<\/code><\/p>\n<p>Wy\u015bwietlenie tylko komunikat\u00f3w wygenerowanych przez kernel od ostatniego rebootu:<br \/>\n<code># journalctl \u2013k \u2013b \u20130<\/code><\/p>\n<p>Wy\u015bwietlenie komunikat\u00f3w generowanych tylko przez konkretny demon, np. przez <em>crond<\/em>:<br \/>\n<code># journalctl \/sbin\/crond<\/code><\/p>\n<p>Wy\u015bwietlenie wszystkich komunikat\u00f3w generowanych przez konkretny proces np.<em> PID 1374<\/em>:<br \/>\n<code># journalctl _PID=1374<\/code><\/p>\n<p>Wy\u015bwietlenie komunikat\u00f3w wygenerowanych przez konkretny unit:<br \/>\n<code># journalctl _SYSTEM_UNIT=sshd<\/code><\/p>\n<p>Wy\u015bwietlenie komunikat\u00f3w z konkretnego zakresu czasowego, komunikaty z errorami:<br \/>\n<code># journalctl --since 2014-09-04 --until 2014-09-05 \u2013p err<\/code><\/p>\n<p>Komunikaty ze wszystkimi warningami, kt\u00f3re pojawily si\u0119 dzisiaj.<br \/>\nMo\u017cna okre\u015bli\u0107 konkretny zakres czasu w formacie hh:mm:ss lub yesterday, today, tomorrow.<br \/>\n<code># journalctl --since=today \u2013p warning<\/code><\/p>\n<p>Do wy\u015bwietlenia komunikat\u00f3w dotycz\u0105cych konkretnego unitu podajemy jego nazw\u0119 po opcji <em>-u<\/em>:<br \/>\n<code># journalctl -u httpd<\/code><\/p>\n<p>Przegl\u0105danie log\u00f3w w czasie rzeczywistym podobnie jak w tail z opcj\u0105 -f (w moim CentoOSie ta opcja nie dzia\u0142a):<br \/>\n<code># journalctl \u2013f<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Trwa\u0142e przechowywanie log\u00f3w journala.<\/span><\/p>\n<p>Domy\u015blnie dzienniki sk\u0142adowane s\u0105 w katalogu <em>\/run\/log\/journal<\/em>, kt\u00f3ry jest system plik\u00f3w sk\u0142adowanym w pami\u0119ci operacyjnej a wi\u0119c dane nie b\u0119d\u0105 dost\u0119pne po reboocie systemu. Mo\u017cemy w\u0142\u0105czy\u0107 sk\u0142adowanie danych przez journald w spos\u00f3b trwa\u0142y w katalogu <em>\/var\/log\/journal<\/em>:<\/p>\n<p><code># mkdir \u2013p \/var\/log\/journal<\/code><br \/>\n<code> # systemctl restart systemd-journald<\/code><br \/>\n<code> # ll \/var\/log\/journal<\/code><br \/>\n<span style=\"color: #808080;\"><code> drwxr-xr-x 2 root root 27 04-08 13:27 662a75de83ac4f48b32e361141f65571<\/code><\/span><\/p>\n<p>Po restarcie journal sk\u0142adowany jest w pliku o takiej samej nazwie jak 128-bitowy unikalny ID naszej maszyny:<br \/>\n<code># cat \/etc\/machine-id<\/code><br \/>\n<span style=\"color: #808080;\"><code>662a75de83ac4f48b32e361141f65571<\/code><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Poza syslogiem RHEL7 oferuje dodatkowe narz\u0119dzie do przegl\u0105dania i zarz\u0105dzania logami &#8211; Journal &#8211; zaimplementowany przez demon journald. Demon przechowuje komunikaty w postaci binarnej w plikach zwanych dziennikami (journals), zlokalizowanymi w katalogu \/var\/run\/journal.<\/p>\n","protected":false},"author":1,"featured_media":1521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/673"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=673"}],"version-history":[{"count":7,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/673\/revisions"}],"predecessor-version":[{"id":1214,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/673\/revisions\/1214"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/1521"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=673"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}