LINUX.ORG.RU

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

 , ,


1

2

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

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

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

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

★★★★★

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

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

poettering

Can I connect a remote RFC compliant syslog protocol message generator to the journal?

At this point in time, no, you can’t. And it is unlikely that journald will ever support this out-of-the-box. However, it shouldn’t be too difficult to write a converter or gateway tool to make this work.



Читать я умею, не волнуйся.

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

kernelpanic ★★★★★
()

Прошу прощения за опечатки. Не ожидал, что так оперативно проведут новость. ;)

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

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

вы не понимаете, но надеюсь поймёте.

я не просто умею читать я ещё умею понимать прочитаное но увы только действительно текст а не двоичные данные на моём жёстком диске или в памяти компьютера

\\ по толстоте брюшевной решил поиграть в капитана(ну и слить псевдоюмор про толстоту брюшевную)

Thero ★★★★★
()

Скоро Поттеринг по уровню обожания на ЛОРе обгонит Убунту.

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

>какой шлак, боже.

Гугл тоже шлак я так понимаю. Amazon вообще торгаши.

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

>я рассчитываю выкинуть сислог коль скоро журнал будет внутри системд

То есть я так понимаю это тебе не нуджно из каких-то практических соображений а чтобы было?

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

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

Напиши Леннарту об этих важных деталях (ну или не ты, но напишите!), человек может не знает о подводных камнях или путях как написать правильно, но с текстовыми конфигами %)

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

Ответ от русскоязычных пользователей сусе (где с версии 12.1 стоит systemd): планируем свалить на Calculate Linux Desktop. Рассматриваются так же варианты арча и генты.

Примечание для тролей: не напрягайтесь - про всех пользователей я пошутил. Это конечно мое личное имхо.

anonymous
()

идея хорошая, кроме сети. Про бинарники спорно. Мне в принципе без разницы, что делать tail/cat /var/log/messages, что какой-нибудь showjournal, который будет показывать лог.

xpahos ★★★★★
()

Почему программист, ежели правильно понимаю, замахнулся на архитектурные решения?

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

>Ответ от русскоязычных пользователей сусе (где с версии 12.1 стоит systemd)

О, брат по проблемам: с 12.1 можно без последствий выпилить systemd? Стоит обновлять систему?

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

>Напиши Леннарту об этих важных деталях (ну или не ты, но напишите!), человек может не знает о подводных камнях или путях как написать правильно, но с текстовыми конфигами %)

Как будто Леннарта волнуют чужие подводные камни. Он разбирается только со своими, которые сам себе и создаёт.

anonymous
()

/me счастлив что в Gentoo такого понятия как стандартный логгер вообще нет. Есть только рекомендуемый логгер. Нынче - syslog-ng.

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

>во-первых с архитектурой windows registry ты знаком только по-наслышке, там минимум 2 его копии.

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

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

Это потому, что в отличии от винды, в линуксе пока необходимые для загрузки конфиги не собраны в несколько тяжёлых «хрупких» бинарных файлов а хранятся в куче мелких текстовиков. Ты вообще в курсе, что при добавлении информации в начало большого файла, необходимо сдигать весь его «хвост»? А если сдвинуть информацию в большей части бинарника хотя-бы на байт и не успеть это зарегестрировать везде где нужно, то файлу хана, адреса не совпадут.

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

>Если к качеству перевода не придираться, то в оригинале в общем-то так и написано.

«Мы не хотим» = бинарный формат файлов? Вот кусок из самого перевода:

_SERVICE=systemd-logind.service
MESSAGE=User harald logged in
MESSAGE_ID=422bc3d271414bc8bc9570f222f24a9
_EXE=/lib/systemd/systemd-logind
_COMM=systemd-logind
_CMDLINE=/lib/systemd/systemd-logind
_PID=4711
_UID=0
_GID=0
_SYSTEMD_CGROUP=/system/systemd-logind.service
_CGROUPS=cpu:/system/systemd-logind.service
PRIORITY=6
_BOOT_ID=422bc3d271414bc8bc95870f222f24a9
_MACHINE_ID=c686f3b205dd48e0b43ceb6eda479721
_HOSTNAME=waldi
LOGIN_USER=500

В каком месте он бинарный?

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

> Ты вообще в курсе, что при добавлении информации в начало большого файла, необходимо сдигать весь его «хвост»?

тяжелый случай, для БД( а тут речь идет о специализированной БД ) этого не нужно делать, и это и не делается

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

>человек может не знает о подводных камнях или путях как написать правильно
Какого хрена он тогда вообще за это взялся?

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

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

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

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

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

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

Those who do not understand Unix are condemned to reinvent it, poorly.
-- Henry Spencer

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

Вы таки не понимаете

Вы таки не понимаете.

Зло не в том, что нам предлагается поверить в то, что СУБД и картежное исчисление будет работать эффективнее пары регэспов (тем более что это скорее всего так и есть)

Зло в том, что вместо системы где главным форматом является текст и которая может быть расширена до системы работающей любым форматом (в том числе и с бинарным/СУБД), нам предлагают систему которая работает только с бинарным форматом.

Притом в этой системе нет «искаропки» сетевого коллектора (или я не увидел упоминания в статье? ) и она еще жутко сырая.

А теперь, внимание! Правильный вопрос: зачем нам всем это надо?!

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

>под федорой от него ощутимый толк был..

Какой?

anonymous
()

Просмотрел комментарии. Объясните, почему сабж ругают за то, что логи будут бинарными? Ведь будет же утиль для работы с ними. Т.е. если раньше perl-скрипт парсил непосредственно логи, то теперь будет парсить выхлоп утилиты. Разве большая разница? Я ни разу не админ, в теме соображаю плохо.

kermzyxer
()

Надо назвать это «социальный лог». Типа «ваш компьютер теперь тоже ведёт свой блог». Причём, это будет даже интереснее читать, чем 90% твитеров.

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

Если к качеству перевода не придираться, то в оригинале в общем-то так и написано.

«Мы не хотим» = бинарный формат файлов? Вот кусок из самого перевода:

<...>

Это то, что тебе смотрелка логов покажет, а как это храниться будет мистер Поттеринг и сам ещё до конца не определился, что следует из его ответов в faq'е. К тому же, если как по твоим словам способ хранения лога будет похож на то, что в Git, то это и есть самый что ни на есть бинарный формат.

хотя основное внимание сфокусировано на форматированных ASCII строках, в качестве значений также поддерживаются и двоичные блоки (binary blobs) — которые могут использоваться для присоединения двоичных данных, типа ATA SMART данных о здоровье, важных данных SCSI, дампов (coredumps) или дампов прошивок (firmware dumps). Код, который генерирует запись, может присоединять столько полей к записи журнала, сколько сочтет нужным и эти поля могут быть общеизвестны или специфичны для службы/подсистемы/драйвера.

В общем назвать то, что будет хранить этот journal, просто текстом или просто пожатым текстом никак нельзя. Это хитрожопая база данных с индексами и отдельными утилитами для работы с этой базой.

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

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

А кто рано встает тому боженька пинка дает.

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

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

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

говноюнити

Орфографическая ошибка. Правильно - говнюнити.

А на самом деле, обозначить проблему и правильно её решить - это, тыкскыть, две большие разницы. И когда я вижу, что во время проигрывания мп3-шки на почти двухгигагерцовом камне в топе павертопа оказывается именно пульсаудио-демон - я расстраиваюсь. Потому что карточка, вообще-то, сама умеет микшировать и, подумав, наверное можно было бы решить проблему менее зверским способом, чем перенося весь рендеринг «в софт».

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

Ъ что-ли? Пройди на страницу с переводом, там будет и ссылка на оригинал, неидиот не может найти ссылку

coldy ★★
()

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

Это же надо, недостатки выдают за достоинства.

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

Зачем мне идти на страницу с переводом, о котором из первых сообщений ясно, что если уж читать, то оригинал?

Вся «новость» в целом выглядит как вброс исключительно ради срача.

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

Пардон, промахнулся: The Journal: жизнь после syslog (комментарий)

А если проще, то архитектура должна быть расширяемой. И тут хорошо помогают переключаемые механизмы хранения инфы (бакэнды). У существующей системы это все есть. Можно хранить в текстовом файле, можно хранить в СУБД. Можно хранить и на сетевом коллекторе, а сам коллектор запихнуть в облако. На вкус... Понимаешь?

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

Ну и что ему на это стоит ответить, как думаешь сам?

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

Тебя забыл спросить куда прийти и где чего поделать.

frob ★★★★★
()

Все-таки, даже пусть это и неудобно почти как штаны через голову одевать, но какое счастье, что на серверах в обилие живет FreeBSD...

Пусть там и живет!

А поттеринг (слово с маленькой буквы пишу, ибо оно - явление) - это стремление перенести винду на linux. Леннарту это чудесно удается.

sergv
()
Ответ на: комментарий от kermzyxer

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

А поттер вводит дополнительный программный слой. Это порождает возможность специфических для БД отказов и колоссально усложняет любое извлечение информации при при сбое (см. аналог: «виндовая машина с умершим реестром»), при этом нагрузка на железо возрастает. «Такой футбол нам не нужен!» ©

Oleaster ★★★
()
Ответ на: не нужно от de_simakov

KDE 3, Gnome 2, init... эка Вы спохватились-то...

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

Более того, это получается даже не SQL, а очень велосипед.

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

РедХет уже ответила: «Молодец, чувак, держи баксы, работай ещё!»

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

> log_warning(«/usr appears to be on a different file system than /. This s not supported anymore. »

«Some things will probably break (sometimes even silently) in mysterious ways.»);

Отсутствие поддержки отдельного раздела для /usr плюс отстутсвие поддержки сети - отличный кандидат для использования в enterprise системах. Товарищь движется в правильном направлении, lmao

anonymous
()

Я правильно понял, что из-за UUID мы получим тонну велосипедов как это имеется сейчас для SNMP/ASN.1, то есть journald-browser? Тем не менее не ясно смысл всей этой затеи, т.к. в отличие от ASN.1 где все жестко закреплено за некой организацией, UUID бесконтрольны. Предположение о том, что приложение возмет себе максимум 30 UUID весьма тривиально... Взлом какого-нибудь bind и вауля регистрируем себе все возможные UUID прямо на лету. Более того, можно легко сменить «добрый» UUID на «злой» и наоборот, т.к. в отличие от «жесткой» прописи непосредственно в код, наверняка кто-то начнет использовать всевозможные хэши и массивы, чем вставлять эти не понятные UUID.

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

В чем же его неграмотность, если он всего лишь назвал переменную на своем родном языке? При этом многие американцы считают такую форму написания слова тоже допустимой, так что вы совсем мимо со своим «no way!».

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

>> >Ответ от русскоязычных пользователей сусе (где с версии 12.1 стоит systemd)

О, брат по проблемам: с 12.1 можно без последствий выпилить systemd? Стоит обновлять систему?

использую сюсе на боевых серверах, systemd меня по началу огорчил и немного поверг в шок. но не так страшен черт как его малюют, там оставлен слой совместимости со скриптами инициализации systemV LSB

если в systemd нет конфига сервиса то оно дергает LSB systemV скрипт на запуск.

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

ЗЫ уходить с сюсе на калькулейт это выстрел в ногу.

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