LINUX.ORG.RU
 

The Journal: жизнь после syslog


1

3

В своей новой статье Леннарт Поттеринг (Lennart Poettering), известный разработкой звукового сервера PulseAudio и системы загрузки systemd, объяснил, чем его не устраивает syslog, и предложил свою универсальную реализацию системного журнала в Linux.

Среди всего прочего, в этой реализации syslog нет поддержки протокола передачи syslog и вообще нет поддержки сети, зато вместо текстовых логов используются бинарные форматы данных, для доступа к которым предлагается отдельная разделяемая библиотека.

Поскольку данная разработка Леннарта войдёт в Fedora 17 и далее, скорее всего, разойдётся по всем дистрибутивам, я взял на себя труд перевести и предложить вашему вниманию эту статью.

>>> Перевод статьи


[#] Ответ на: комментарий от farafonoff 28.11.2011 13:47:22  
>>-----Цитата---->>

Убрал какое-то непонятное число, значения которого я не понимаю (а значит оно для меня все равно бесполезно)

<<-----Цитата----<<

Вся суть поттеринга и поттеринголюбов. "Тут какая-то непонятная йухня, нам впадлу разбираться, мы сделаем свой велосипед, с блекджеком и шлюхами, а всё непонятное выкинем."

()
[#] Ответ на: комментарий от farafonoff 28.11.2011 0:57:11  
EvgGad_303
>>-----Цитата---->>

Хорошо бы сегфолтнутое приложение _всегда_ _по_умолчанию_ на сервере откладывало коредамп, иначе приходится включать коредампы и снова ждать падения, а это лишние потери времени.

<<-----Цитата----<<

а настраивать сервера перед началом эксплуатации не пробовал?

** ()
[#] Ответ на: комментарий от farafonoff 28.11.2011 17:20:45  
qnikst

ну чо сказать, делайте, посмотрим :) я уже свою позицию сказал, пока не будет цифр - не верю в то, что будут плюсы.

хочется напомнить, что чтение простого файла O(1), причём константа меньше =)

** ()
[#] Ответ на: комментарий от qnikst 28.11.2011 16:55:41  
>>-----Цитата---->>

И буду говорить, что он говно, а защищающие его идиоты до тех пор пока не увижу бенчмарк и пример работы и "статью" с цифрами.

<<-----Цитата----<<

"И это как раз та причина, по которой вы приглашены!" (c)

http://cgit.freedesktop.org/systemd/tree/src/journal/sd-journal.h?h=journal

Смысл статьи - пригласить всех заинтересованных к тестингу прототипа.

***** ()
[#] Ответ на: комментарий от AVL2 28.11.2011 17:48:28  
qnikst
>>-----Цитата---->>

Смысл статьи - пригласить всех заинтересованных к тестингу прототипа.

<<-----Цитата----<<

ок, пусть так. я не могу тестировать по причине отсутствия systemd на компьютере.

** ()
[#] Ответ на: комментарий от Divius 26.11.2011 20:48:54  
>>-----Цитата---->>

избавиться от ограничений старого.

<<-----Цитата----<<

тебе никогда не говорили, что человек это сумма его ограничений. Избавляясь от ограничений, можно и не заметить, как превратишься в обезьяну.

**** ()
[#] Ответ на: комментарий от anon8 28.11.2011 17:30:20  

Я намекал на то, что непонятные числа в логе без всякой документации абсолютно бесполезны. Я еще не видел ни одного мана, который бы документировал сообщения в syslog.

* ()
[#] Ответ на: комментарий от EvgGad_303 28.11.2011 17:35:22  

А никогда не знаешь будет программа работать стабильно или будет откладывать коредампы. С астериском особенно, сип это вообще темный лес.

* ()
[#] Ответ на: комментарий от farafonoff 28.11.2011 22:27:22  
qnikst

чтение файла предложенного AVL2 O(n*k*lnP), где n- счисло строк файла, k_n - константа кол-во слов в строке, P кол-во слов в словаре.

Твой вариант не интересен в принципе, т.к. не будет работать.

** ()
[#] Ответ на: комментарий от qnikst 28.11.2011 22:31:32  

Словарь прекрасно кэшируется, кэш можно сделать на хэш-таблице - там тоже O(1), даже быстрее. Это уже вопросы реализации. Индексная выборка ln(n), а выборка из плоского файла - n. Именно в этом месте и происходит ускорение.

* ()
[#] Ответ на: комментарий от farafonoff 29.11.2011 3:11:05  
qnikst

Быстрее O(1) это как?

Если иметь лог, словарь и кэш, то это уж точно будет выгоднее по использованию памяти... Я думаю, в этом случае просто логично иметь индекс в виде хэш-таблицы, но тогда будет только поиск по совпадению, хотя для варианта AVL2 это и нужно.

если кешируются тупо слова, то никакой индексной выборки быть не может, как строить кортежи и индексацию по ним для всех програм ты не объяснил.

** ()
[#] Ответ на: комментарий от qnikst 29.11.2011 10:27:25  

Почему не может? Можно прекрасно совмещать индексы с хэшами. Кроме того, сейчас обсуждается принципиальная идея такой системы, идея мне кажется хорошей. Подводные камни есть, но можно обойти большую их часть. Я не системный программист, не хочу вникать во всякие журналы. Когда поттеринг скажет что журнал готов, можно будет посмотреть как именно он обошел технические трудности.

* ()
[#] Ответ на: комментарий от AVL2 25.11.2011 23:05:41  
no-dashi

> учитывая, что сислог в этот момент еще не стартует, /var/log отсутствует, да, нужен или журнал или его аналог.

Модель ситуации - система не стартует, при попытке разобрать бинарный лог при запуске поттеровской смотрелки логов последняя сегфолтится, что делать? Из всех утилит живые только sash и busybox. С текстовым логом можно тупо сделать "-cat /var/log/..." и посмотреть что же там было, а с поттерлогом?

***** ()
[#] Ответ на: комментарий от no-dashi 30.11.2011 6:49:42  
>>-----Цитата---->>

С текстовым логом можно тупо сделать "-cat /var/log/

<<-----Цитата----<<

как уже упоминалось, никаких /var/log в системе еще нет, так что в текущей модели разбирать нечего.

А с журналом при таком развитии событий бинарный лог можно тем же cat/tail/less в /run/journal смотреть. Текстовые сообщения об ошибках и в бинарном файле хорошо видны.

***** ()
[#] Ответ на: комментарий от AVL2 30.11.2011 13:39:53  
no-dashi

Сообщения об ошидках видны если они текстовые. А если вместо тексота uuid? И вместо даты 64-битное целое, и еще и вместо подсистемы с ее именем 64-битное целе по ссылкой на "словь подсистем"? Вы же, любители прогресса, напроектируете такой херни...

***** ()
[#] Ответ на: комментарий от no-dashi 30.11.2011 6:49:42  

Если поттеровская поделка сегфолтится - где гарантия что бизибокс не сигфолтнется? (например, повреждена libc)

* ()
[#] Ответ на: комментарий от farafonoff 30.11.2011 21:28:51  
no-dashi

> где гарантия что бизибокс не сигфолтнется? (например, повреждена libc)

Например, busybox и sash собраны статически (так оно как правило и бывает).

***** ()
[#] Ответ на: комментарий от no-dashi 30.11.2011 21:35:31  

На каком десктопном дистре есть бизибокс? На дебиане например полиси запрещает собирать программы статически.

* ()
[#] Ответ на: комментарий от no-dashi 30.11.2011 20:34:05  
>>-----Цитата---->>

Сообщения об ошидках видны если они текстовые. А если вместо тексота uuid?

<<-----Цитата----<<

основа сообщения - текстовая строка. все остальное опционально.

Еще раз, в текущем состоянии ты вообще ничего не увидишь.

>>-----Цитата---->>

И вместо даты 64-битное целое, и еще и вместо подсистемы с ее именем 64-битное целе по ссылкой на "словь подсистем"? Вы же, любители прогресса, напроектируете такой херни...

<<-----Цитата----<<

Целое тоже ловится. было бы желание.

***** ()
[#] Ответ на: комментарий от farafonoff 30.11.2011 23:51:15  
no-dashi
>>-----Цитата---->>

На каком десктопном дистре есть бизибокс?

<<-----Цитата----<<

# yum search busybox sash
=================================================================
busybox.x86_64 : Statically linked binary providing simplified versions of system commands

***** ()
[#] Ответ на: комментарий от no-dashi 01.12.2011 8:55:36  

Опять пришли к общей беде зоопарка линукс систем. Где-то есть, где-то нет.

* ()
[#] Ответ на: комментарий от farafonoff 01.12.2011 12:23:09  
>>-----Цитата---->>

Опять пришли к общей беде зоопарка линукс систем. Где-то есть, где-то нет.

<<-----Цитата----<<

да нет в этом беды. Кому не нужен, тот и не вкладывает.

На самом деле и в убунте и в федоре стаический биззибокс есть, а это закрывает бОльшую часть линукс-сегмента.

Наверняка и в других есть, просто я не смотрел.

***** ()
[#] Ответ на: комментарий от AVL2 22.12.2011 4:52:55  

Какой мудрый дядька. Хоть и чересчур политкорректный.

** ()
[#] Ответ на: комментарий от baverman 29.12.2011 17:07:14  

Мне его позиция показалась вполне взвешенной. И действительно странно, что Леннарт ни с кем не делился планами и идеями в области нового журнала.

***** ()