Как стать автором
Обновить

Комментарии 15

Спасибо за обзор! Отличный инструмент, на много удобнее syslog.
Я бы еще добавил следующее:
* Задание pager'а «export SYSTEMD_PAGER=cat»
* Логи по пути к бинарнику: journalctl _EXE=/usr/bin/daemon
* Есть некий баг в systemd, который иногда не отображает некоторые логи, лечится следующим образом: journalctl -f -t daemon
* Если есть желание писать логи в syslog, то в journald.conf необходимо задать ForwardToSyslog=yes. Тогда journald будет дублировать логи в сокет syslog'а по пути "/run/systemd/journal/syslog" (сокет уже должен быть создан демоном syslog). Тип сокета должен быть unix-dgram
Спасибо за интересное дополнение!
Мне вот интересно, как удаленный забор/передача логов работает на большом кол-ве хостов. Существующие решения с syslog/rsyslog имеют свойство терять логи при больших числах машин/логов/данных.
Если тот же udp:514 то вряд ли будет как-то иначе. Как раз из-за udp. И это не зависит от демона.
Тут разве что городить свой колхоз и передавать архивированные сообщения как-нибудь более надёжно.
НЛО прилетело и опубликовало эту надпись здесь
Не очень понятно с ротацией логов:

SystemMaxFileSize= объём файла лога, по достижении которого он должен быть удален с диска;

То есть после достижения определенного размера файл просто удаляется? Со всем содержимым?
По идее должны удаляться старые записи, но какой ценой это достигается, если логи хранятся в бинарном виде в каком-то одном файле? Переписывается весь файл?

Для текстовых логов, rotated можно настроить например ротацию помесячно, и хранение 12 месяцев. То есть нагрузка — раз в месяц удаляется один файл.
По достижении определённого размера происходит переключение на следующий файл. Это может произойти если достигнут один из двух пределов: SystemMaxFileSize, либо MaxFileSec.

Файлы удаляются пока не удаётся вписаться в лимиты, описанные через SystemMaxUse и SystemKeepFree.

Да, можно настроить всё так, что файлы будут сразу же после достижения максимального размера удаляться «с концами». Но вряд ли это будет хорошей настройкой. По умолчанию — SystemMaxFileSize составляет ⅛ от SystemMaxUse, так что у вас будут храниться последние 7 файлов.

Можете эти лимиты «задрать» до бесконечности, но даже в этом случае логи могут быть удалены, если диск переполнится (идея проста: скорее всего «старые» логи менее ценны, чем «новые»), так что варианта roated получить не удастся. Если на диске хватает места, то MaxFileSec равный 1month даст примерно то же, что и rotated. Это, кстати, умолчальное значение.

«Отдельный» плюс за КДПВ
Теперь в Linux есть свой Event Log :)
Но по нему до сих пор можно grep-ать, в отличии от виндового.
Так и в винде с этим никаких проблем ;)

PS C:\Users\Evgeniy> Get-EventLog -LogName System -Newest 15 | Where-Object {$_.Message -like "Система*"}

   Index Time          EntryType   Source                 InstanceID Message                                                                                                                  
   ----- ----          ---------   ------                 ---------- -------                                                                                                                  
    2345 авг 20 08:57  Information Microsoft-Windows...            1 Система вышла из состояния пониженного энергопотребления....                                                             
    2336 авг 20 08:57  Information BTHUSB                 1074069522 Система Windows не может сохранить коды проверки подлинности Bluetooth (ключи связи) на локальном адаптере. Клавиатуры...
Ну не ужос ли…
$ grep -i kernel.*bug /var/log/messages
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий