LINUX.ORG.RU

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

 , ,


1

2

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

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

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

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

★★★★★

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

>Такой специалист по базам данных мог бы и знать, что текстовые файлы тоже можно индексировать.

Давеча как раз писал general balanced tree индесацию CSV файла в 2.5GB/13MLines.

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

он называется SQL. Всё уже придумано.

Предположим, случился сбой в файловой системы и часть библиотек исчезла, и появилась в lost+found. После чего доступ к базе внезапно осложняется.

cvs-255 ★★★★★
()
Ответ на: комментарий от oguretz

>А с автоматической обработкой ошибок что делать? регекспы писать?

system X fault, writing log... log fault, wrong format...log fault log fault...fault...fault...fault...

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

по остальным пунктам, у тебя там просто каша, я пишу что лог нужен в 99% случаев на твое кудахтанье по поводу его прикрученности к системд, но ты уже придумываешь на это другое, «да зачем, если это уже сделано!»(ни к селу ни к городу), придумываешь самые идиотские реализации поддержки сети логдемоном и обвиняешь, следовательно, сам себя в идиотизме (тут я тебя поддержу, да, ты выглядишь как идиот). не пост а говно короче.

oguretz
()
Ответ на: комментарий от anonymous

О_о так может и про отсутствие сетевой прозрачности тоже наврали?

хы а ведь нам обещали внезапные правк в переводе.. этож как спорить с википедией.

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

> Определи понятие «совсем бинарник».

Рискну предположить что _ощще бинарный файл_. Также встречаются аналоговые (котороые передаются ртом) и вербальные (которые транслируются руками и ногами)

Ж)

iBliss
()
Ответ на: комментарий от liksys

liksys

UNIX-way - это сохранение простого простым

Я вот в свете происходящего тут подумал, возможно ли, что LINUX как рекурсивная аббревиатура Linux Is Not UniX задумывался.

stolz
()

В переведённой статье огромное количество пунктуационных ошибок. Автор, обрати на это внимание.

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

> А еще лучше - на гуйню с галочками и выпадашками, которая будет по базе искать.

Ага, гуйню по ssh через медленный интернет

cvs-255 ★★★★★
()
Ответ на: комментарий от oguretz

>я пишу что лог нужен в 99% случаев на твое кудахтанье по поводу его прикрученности к системд,
Если лог не нужен, то должна быть возможность его отключить, а ее нет.

придумываешь самые идиотские реализации поддержки сети логдемоном

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

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

какой шлак, боже. 12 лет перевода материалов на говно, «оптимизации потребления», а понтов как у пускателя спутников.

oguretz
()
Ответ на: комментарий от kernelpanic

потомучто в системд хочется по сисктл видеть последние 10 строчек отправленных процессом в лог....

а два системлога ничем не хуже чем 1. всё дело в том что тяжело делать революцию, а эволюция рождает мутантов по определению.

Стоит ли оно того? вопрос для тех у кого нет смысла в жизни.

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

>суть бинарного формата только в одном — в ускорении поиска и в унификации формата.

Ошибаешься, его суть в накапливании багов при внезапном отключении питания. Как в винде: железяка перезагрузилась а при следующей загрузке нарисовалась жопа реестру. Теперь эту развлекуху портируют в линукс, без этой фичи он до нормального десктопа не дорастёт. Насчёт ускорения поиска ты неправ, в бинарном формате для поиска и безопасной записи можно использовать меньшее число потоков.

Napilnik ★★★★★
()

А почему никто не высказал такой простой мысли, что Поттеринг является всего лишь говорящей головой РедХата? Все излишне новаторские идеи вкладываются в его говорилку. Потом обкатываются на Федоре, которую, прошу заметить, РедХат курирует. Но все недовольство выплескивается на излишне гениального Поттеринга. А РедХат вроде белый и пушистый и самый правильный? Нечестно как-то. Поттеринг вроде бы у них на зарплате. Может никакой он не программист, а просто пиар-менеджер?

И еще - в этих ваших линуксах хоть одна подсистема бывает хоть какое-нибудь время стабильной и без революций?

shish
()
Ответ на: комментарий от liksys

а надо было и так леннарту и написать. он же написал почему инит плох и почему системд крут

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

> Боюсь, что многие будут со мной не согласны, но pulseaudio таки win.

Шаришь, бро :) Поттеринг вообще молодец.

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

Что значат param1..param255 в контексте ошибки номер 138 можно прочитать в справке.

java.lang.NullPointerException
at GUI.makeFrame(GUI.java:71)
at GUI.<init>(GUI.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at bluej.runtime.ExecServer$3.run(ExecServer.java:808)

Теперь вот это.

Nirdosh
()

... и вообще нет поддержки сети

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

In the initial version journald’s ?network support? will be very simple: to share journal files across the network, simply copy them to a central host with a tool like scp, rsync or via NFS. The journal browser client tool will then transparently merge these files, interleaving them as necessary. In a _later version we plan to extend the journal minimally to support live remote logging_, in both PUSH and PULL modes always using a local journal as buffer for a store-and-forward logic. Regardless which mode of transportation is used, the underlying journal format is designed to be scalable to large numbers of hosts and all entries are identified by both the machine ID and the host name. The goal is to implement an efficient journal monitoring tool that can browse journals from a multitude of hosts transparently and live, while leaving to the administrator the choice of transport so that he can adjust it to his own needs, i.e. whether live functionality is more important than avoiding the thundering herd, and other considerations.
FiXer ★★☆☆☆
()
Ответ на: комментарий от shish

>Потом обкатываются на Федоре, которую, прошу заметить, РедХат курирует.
Давно известно, что шапка все подряд тестирует на федоре (федораюзеров не жалко), а вот если все эти поделия в рхел полезут, тогда можно будет ругать шапку.

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

И да, недописал, возможно РедХат просто ищет механизмы для накопления чужих логов и их простого анализа. Ну как в микрософт. В этом разрезе идея вполне подходящая. Для РедХата. Вобщем совершили вброс и ждут реакцию.

shish
()
Ответ на: комментарий от FiXer

>In a _later version we plan to extend the journal minimally to support live remote logging_, in both PUSH and PULL modes always using a local journal as buffer for a store-and-forward logic.

1. А это ничего, что логи на сервер логирования должны уходить сразу же?
2. Что делать с тыщами устройств которые умеют только syslog?

kernelpanic ★★★★★
()

Долго читал комменты, потом долго писал свой. Пытался найти оправдание бинарным логам. Не осилил :(

ЛОГИ не должны быть бинарными! ЛОГИ - это не инструмент сбора статистики! ЛОГИ это нечто, содержащее информацию на случай непредвиденных ситуаций. Для этих целей текстовый формат ИДЕАЛЕН. Неизвестно, где и когда стрельнёт и в каком виде будет сообщение об ошибке, и поэтому сделать универсальный инструмент для анализа логов, который будет эффективнее и удобнее grep'а, нереально.

Если по логам нужно МНОГО, ЧАСТО и ПО-РАЗНОМУ искать, то это уже не логи, а система сбора и просмотра статистики. Для неё базы данных, бинарные форматы и т.п. вполне актуальны, хотя если показателей много - даже для базы это уже вполне себе неслабая OLAP-задача.

Кстати, тоже всегда удалял все эти avahi, которые перечислили выше. Тоже никогда не понимал, зачем они нужны. А это оказывается сраный гарринг поттеринг их нарожал. Авада кедавра его надо, идиота, или лучше империо и направить избыточную энергию в полезное русло. Главное, чтобы это мудило не добралось до /etc/. Чего он вообще под линуксом делает? Гнать его на винду.

Если этот гарри поттер в итоге родит удобную универсальную систему сбора СТАТИСТИКИ, которую можно будет применять для разных софтин одновременно, которая не испортит больше ничего в системе и которая не будет зависимостью для всего софта - МИЛОСТИ ПРОШУ. Идеально - если добавит в название слово «статистика». Но что-то я боюсь, что вряд ли. Вообще, наверное, нужно на эту тему посрать в англоязычных комментах и мэйл-листах, чего всем и рекомендую, пользы будет в любом случае больше, чем от «убитьубитьубить» - реально-то его никто не убьёт и даже от линукса не отлучит, так-то может и была бы.

А так, раз уж это говно уже написано, я надеюсь, что авторы свободного софта останутся вменяемыми, не будут вершить революцию, а если и будут ЭТО использовать, то ТОЛЬКО в качестве опции, ТОЛЬКО очень аккуратно и ТОЛЬКО там, где это действительно необходимо.

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

> Бинарные логи, это крафне важная штука для Тру Энтерпрайза, т.к. копаться в 50 гигах логов за несколько часов в виде текстового файла не так прикольно, как делать запросы к базе.

И чо?

У Ъ-программ свои логи. MySQL срёт в бинарные логи и никому не мешает. Нафиг системные логи в бинарниках?

anonymous
()
Ответ на: комментарий от Thero

grep присутствует в busybox, и может быть собран статически. Да и реализация grep в разы проще любой базы данных+утилиты

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

На современных железках это хоть сколько-нибудь будет заметно? Даст ощутимый выигрыш?

Судя по вою, Леннарт всех затроллил разжиганием Binary vs Text. До чего это доведет, посмотрим на федоре.

FiXer ★★☆☆☆
()

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

KDE41user
()
Ответ на: комментарий от mv

> dmix/dnsoop не работали, как надо.

У меня где-то в то же время (Ubuntu 5.10, если быть точным) была проблема даже обратная — отключить dmix, дать приложению монопольный контроль над девайсом, чтоб вывести звук без преобразований. А упрямая убунта все расшаривала девайс между приложениями (я тогда только осваивался с линуксом). Убунта позволяла, кстати, повысить качество ресемплинга, что некоторое время служило воркераундом.

Что-то пульсоподобное в современной ОС обязано быть. esound ли, jack - пофиг, но всё подряд с ними должно работать. Так вышло, что у авторов PA пороха хватило на большее.

У меня на Арче не было ничего кроме Альсы. Хотя, могу приврать, т.к., помню, был шкандаль из-за завимости фонона от libpulse. Сейчас я на убунте (купился на юнити). Но проблем со звуком не знал с Арчем (с голой Альсой) и, справедливости ради, не знаю сейчас на Убунте.

Так что, с формулировкой «обязано быть» не согласен.

anonymous
()
Ответ на: комментарий от kernelpanic

очередное шаблонное говно написал ты, я предвидел это «ко-ко-ко» про отключение еще 2 поста назад, о чем написал «будут исходники. хочешь — отключай».

oguretz
()
Ответ на: комментарий от Thero

Развелось поттеров в каждом сортире... Вовы Пукина на них нет...

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

блин жаль у меня тогда не было возможности сделать скриншот когда мне ява выдала невлезающийвэкранэксепшна уводящее кнопки ок за экран и имевшее тип окна категорически неперемещающимся за пределы экрана заголовком -_-

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

> с тем же успехом у тебя может сломаться греп(а порядок меньшим конечно но суть таже).

у меня еще останется less, busybox grep, vim

cvs-255 ★★★★★
()
Ответ на: комментарий от vitalif

чёрт там ведь походу суть в том что теперь можно делать комикс логи этож эволюция! Это ясно как восемь пальцев на руках!

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

>Если этот гарри поттер в итоге родит удобную универсальную систему сбора СТАТИСТИКИ

К сожалению она будет намертво завязана на все его поделия, будет работать только если в системе объединены каталоги {,/usr}/{,s}bin, структура /etc и /var будет объявлена устаревшей и подлежащей переработке, а ядро несовместимым.

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

во-первых с архитектурой windows registry ты знаком только по-наслышке, там минимум 2 его копии. во-вторых отключение питания на моей памяти убило данные только одному гентушнику, падкому до оптимизации и водрузившего систему на рейзерфс.

oguretz
()
Ответ на: комментарий от maxcom

Согласен, так и внес.

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

внимательный о базах данных не говорим обсуждаем комикслоги леннарта. тем не менее греп тоже утилита также как и уже упомянутые bzgrep на подобии с ним будет lpgrep etc

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

на убунте могу проследить зависть: как так в федоре пульса работает и звук с полтычка везде, а мы чем хуже?

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

При желании для текстовых файлов можно обойтись даже dd или cat, без всяких грепов. Попробуйте почитать бинарные файлы.

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

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

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

Так что, с формулировкой «обязано быть» не согласен.

Просто так звук игрался и тогда. Проблемы были, когда три программы хотят одновременно писать потоки 8КГц@8 бит, 44k1@16 и 48@16, плюс в этом же время две другие программы читать на 8КГц@8 бит и 44k@16. Вот это было Содом и Гоморра. А ещё при двойном пересемплировании (8>44>48) из-за какого-то бага гармоничные шумы в dtf-код добавлялись, и dtmf-декодер на той стороне с ума сходил.

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

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

mv ★★★★★
()

Post Sleeptum автор статьи таки сделал из новости слух -_-

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

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

Во первых, это будет уже другая сеть.

«Демон журнала не говорит по протоколу RFC, и вряд ли когда нибудь будет.»

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

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

Вы не умеете читать текст? O_o. Как же вы прочитали моё сообщение тогда? Текстовые файлы можно прочитать даже в hex-редакторе. На то они и текстовые файлы.

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