LINUX.ORG.RU

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

 , ,


1

2

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

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

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

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

★★★★★

Проверено: timur_dav ()
Последнее исправление: JB (всего исправлений: 2)
Ответ на: комментарий от farafonoff

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

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

anon8
()
Ответ на: комментарий от farafonoff

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

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

EvgGad_303 ★★★★★
()
Ответ на: комментарий от farafonoff

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

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

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

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

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

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

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

AVL2 ★★★★★
() автор топика
Ответ на: комментарий от AVL2

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

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

qnikst ★★★★★
()
Ответ на: комментарий от Divius

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

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

argin ★★★★★
()
Ответ на: комментарий от anon8

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

farafonoff ★★
()
Ответ на: комментарий от EvgGad_303

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

farafonoff ★★
()
Ответ на: комментарий от farafonoff

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

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

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

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

farafonoff ★★
()
Ответ на: комментарий от farafonoff

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

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

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

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

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

farafonoff ★★
()
Ответ на: комментарий от AVL2

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

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

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

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

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

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

AVL2 ★★★★★
() автор топика
Ответ на: комментарий от AVL2

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

no-dashi ★★★★★
()
Ответ на: комментарий от farafonoff

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

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

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

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

farafonoff ★★
()
Ответ на: комментарий от no-dashi

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

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

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

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

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

AVL2 ★★★★★
() автор топика
Ответ на: комментарий от farafonoff

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

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

no-dashi ★★★★★
()
Ответ на: комментарий от farafonoff

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

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

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

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

AVL2 ★★★★★
() автор топика
Ответ на: комментарий от baverman

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

AVL2 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.