Комментарии 15
Спасибо за обзор! Отличный инструмент, на много удобнее syslog.
+2
Я бы еще добавил следующее:
* Задание 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
* Задание 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
+4
Спасибо за интересное дополнение!
0
Вот еще тикет в github по сбору логов через logstash github.com/elastic/logstash/issues/1729
0
Мне вот интересно, как удаленный забор/передача логов работает на большом кол-ве хостов. Существующие решения с syslog/rsyslog имеют свойство терять логи при больших числах машин/логов/данных.
0
Не очень понятно с ротацией логов:
SystemMaxFileSize= объём файла лога, по достижении которого он должен быть удален с диска;
То есть после достижения определенного размера файл просто удаляется? Со всем содержимым?
По идее должны удаляться старые записи, но какой ценой это достигается, если логи хранятся в бинарном виде в каком-то одном файле? Переписывается весь файл?
Для текстовых логов, rotated можно настроить например ротацию помесячно, и хранение 12 месяцев. То есть нагрузка — раз в месяц удаляется один файл.
SystemMaxFileSize= объём файла лога, по достижении которого он должен быть удален с диска;
То есть после достижения определенного размера файл просто удаляется? Со всем содержимым?
По идее должны удаляться старые записи, но какой ценой это достигается, если логи хранятся в бинарном виде в каком-то одном файле? Переписывается весь файл?
Для текстовых логов, rotated можно настроить например ротацию помесячно, и хранение 12 месяцев. То есть нагрузка — раз в месяц удаляется один файл.
+1
По достижении определённого размера происходит переключение на следующий файл. Это может произойти если достигнут один из двух пределов: SystemMaxFileSize, либо MaxFileSec.
Файлы удаляются пока не удаётся вписаться в лимиты, описанные через SystemMaxUse и SystemKeepFree.
Да, можно настроить всё так, что файлы будут сразу же после достижения максимального размера удаляться «с концами». Но вряд ли это будет хорошей настройкой. По умолчанию — SystemMaxFileSize составляет ⅛ от SystemMaxUse, так что у вас будут храниться последние 7 файлов.
Можете эти лимиты «задрать» до бесконечности, но даже в этом случае логи могут быть удалены, если диск переполнится (идея проста: скорее всего «старые» логи менее ценны, чем «новые»), так что варианта roated получить не удастся. Если на диске хватает места, то MaxFileSec равный
Файлы удаляются пока не удаётся вписаться в лимиты, описанные через SystemMaxUse и SystemKeepFree.
Да, можно настроить всё так, что файлы будут сразу же после достижения максимального размера удаляться «с концами». Но вряд ли это будет хорошей настройкой. По умолчанию — SystemMaxFileSize составляет ⅛ от SystemMaxUse, так что у вас будут храниться последние 7 файлов.
Можете эти лимиты «задрать» до бесконечности, но даже в этом случае логи могут быть удалены, если диск переполнится (идея проста: скорее всего «старые» логи менее ценны, чем «новые»), так что варианта roated получить не удастся. Если на диске хватает места, то MaxFileSec равный
1month
даст примерно то же, что и rotated. Это, кстати, умолчальное значение.+2
«Отдельный» плюс за КДПВ
0
Теперь в Linux есть свой Event Log :)
-1
Но по нему до сих пор можно grep-ать, в отличии от виндового.
+2
Так и в винде с этим никаких проблем ;)
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 (ключи связи) на локальном адаптере. Клавиатуры...
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Управление логгированием в systemd