LINUX.ORG.RU

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

 , ,


1

2

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

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

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

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

★★★★★

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

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

>То есть ты один из тех кто обосрался просто по жизни.

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

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

обыватели абсолютно правы

дай мне 5 000 000 000 рублей, которые были потрачены на фобос-грунт, и я запущу тебе на ту орбиту, где он находится, 10 таких же тупых, не выдающих телеметрию (в точности как он :-) болванок весом в 15 тонн

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

Алса как раз сложная и запутанная система, потому что решает сразу много задач - тут тебе и драйвер, и смешивание, и преобразование частот. Пульс обеспечивает смешивание, и предоставляет только simple alsa api. То что некоторые программёры полезли в mmap-api - это их проблемы.

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

> Напиши функцию date_between, и всё станет тривиально.

вменяемые люди пишут дату в лог так, чтобы сравнение дат было простым сравнением строк

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

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

Лёгкость, с которой ты пытаешься применить этот ущербный псевдопсихоанализ показывает, что, как и любой пытающийся быть психологом человек ты укрываешься от своих проблем, не решая их, и пытаешься лезть в чужие, насаждая свое изуродованное этими самыми проблемами мировоззрение и пытаясь поднять свое искалеченное ЧСВ методом соседа со сдохшей свиньей. Я знаю много психологов, и все они не люди, поверь.

дай мне 5 000 000 000 рублей, которые были потрачены на фобос-грунт, и я запущу тебе на ту орбиту, где он находится, 10 таких же тупых, не выдающих телеметрию (в точности как он :-) болванок весом в 15 тонн

Ты еще и совдеповский клоун, из тех, которые трещат на каждом углу «Дайте мне и я сделаю»/«Мне не дадут сделать то или это», оправдывая свою ничтожность внешними факторами. Ни один из успешных людей не пользуется такими приемами в спорах, следовательно ты — обосрался по жизни, как я и сказал раньше. Данных теперь предостаточно.

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

>> системд еще хочет себя юзать в качестве менеджера сессий на десктопе

facepalm.txt

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

и до того, как лезть в менеджмент сессии, надо отладить системд как рабочий и удобный инит

короче — идеи хорошие, реализация... ну в общем как пульса

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

Nov 23 21:47:04 artem-eee ovpn-client[1945]: Options error: option 'keepalive' cannot be used in this context Nov 23 21:47:04 artem-eee ovpn-client[1945]: OPTIONS IMPORT: timers and/or timeouts modified Nov 23 21:47:04 artem-eee ovpn-client[1945]: OPTIONS IMPORT: --ifconfig/up options modified Nov 23 21:47:04 artem-eee ovpn-client[1945]: OPTIONS IMPORT: route options modified

Ноябрь на первом месте... Очень удобно сравнивать строки, да.

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

> Ты еще и совдеповский клоун, из тех, которые трещат на каждом углу «Дайте мне и я сделаю»/«Мне не дадут сделать то или это», оправдывая свою ничтожность внешними факторами.

Данных теперь предостаточно.

где ты видел, чтобы я «трещал „Мне не дадут сделать то или это“» ?

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

> Ноябрь на первом месте... Очень удобно сравнивать строки, да.

значит формат записи в лог настраивали невменяемые люди, только и всего

хинт: 2011.11.23 21:47:04

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

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

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

с одной стороны, ты считаешь рассуждения на основе постов в этот тред, ущербными:

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

с другой стороны, ты сам проводишь рассуждения на основе постов в этот тред, и считаешь их не ущербными, а дающими «предостаточно» данных о реальной ситуации:

Ни один из успешных людей не пользуется такими приемами в спорах, следовательно ты — обосрался по жизни, как я и сказал раньше. Данных теперь предостаточно.

это говорит о том, что ты либо идиот, либо успешно им прикидываешься

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

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

я всего лишь попробовал отнестись к тебе не как генератору бреда, и проанализировать то, что ты сказал

больше я эту ошибку совершать не буду — надеюсь всем уже ясно, что ты бредишь

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

Если ты не можешь структурировать строку простого текста, то как ты собрался структурировать кортеж?

Не распарсил. Кортеж - это уже есть структура, не?

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

ну не знаю.. чтобы это было адекватно придётся sqllogrotate делать и т.д.

delete from messages where date < ... + периодический vacuum или хороший autovacuum

а сейчас он чем плохо?

А тем, что без должных усилий каждый разработчик пишет в него по-своему

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

Не путай психоанализ и анализ обычный.

это говорит о том, что ты либо идиот, либо успешно им прикидываешься

Это говорит о том, что идиот — ты, потому что у тебя в голове каша, подмена понятий и твои посты в целом не структурированы и непоследовательны. Вот сейчас ты ничего не смог ответить, поэтому полез к предыдущим моим фразам. Тут безо всякой психологии видно, что ты трепло и клоун.

По теме твоего сообщения, «рассуждения на основе постов» такими не являлись. Ты применил типичный псевдопсихологический трюк «проецирование своих проблем на собеседника», а я выдал данные из своего опыта общения с психологами и теми, кто хочет ими стать, ведь «путешествуя по миру нельзя закрывать глаз и ушей». Именно поэтому я уверен что объединяющие их как личностей особенности применимы и к тебе, и теперь у меня нет ни единой причины сомневаться в этом, чисто статистически. Я не люблю индивидуализм, и вероятность твоей особенности в данном вопросе крайне мала.

Помимо этого, ты выдернул фразу из контекста, сказав, что ты ее не говорил. Очевидно, что между сказанной и не сказанной тобой фразами (которые, кстати, объединены именно поэтому) лежит всего лишь одна, очень простая: «Если хочешь — пойди и возьми». За ней последует либо «мне не дадут», либо «у меня не получится», либо всякого разного рода отмазки, необходимые для того чтобы не говорить предыдущие две фразы. Таким образом, ты не в состоянии применять методы индукции и дедукции в разговоре, что выявляет как идиота именно тебя.

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

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

по поводу которого все неадекваты ЛОРа решили отметится itt?

Ну, тебе виднее почему ты решил отметиться.

Откуда ты взял, что «не критично»?

Достаточно стандартная оценка. Именно с этим допущением и проектируются базы данных, а ты как думал?

С чего ты вообще решил, что нужна оптимизация?

При чём тут оптимизация? Я отвечаю на вопрос о накладных расходах.

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

systemd слишком сложен, его невозможно реализовать без ошибок, а это для системы инициализации сервера вообще недопустимая вещь

А что-нибудь можно реализовать без ошибок? Ядро? Для ядра ошибки ещё менее допустимая вещь. Но давайте всё-таки двигаться вперёд.

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

Структурированный согласно нормам и правилам английского языка

Это троллинг или ты серьёзно? Не поленишься прочитать тут лекцию по разбору естественного языка? Может быть анализатор логов на нейронных сетях?

И пока не будет создано нечто более универсальное и более простое, чем человеческий язык

Аватарка какбэ намекает, да

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

А вообще, не корми троллей, нормально всё, ты молодец :)

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

> Кто-то вызывает mount -a кроме как при старте системы?

Да кто угодно. Отмонтировал, изменил размер раздела, примонтировал.

Кому-то нужны эти shell скрипты кроме как для старта сервисов?

Кому-то нужен systemd, кроме как для старта сервисов?

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

> delete from messages where date < ... + периодический vacuum или хороший autovacuum

1). delete ты делать не имеешь права

2). как vacuum скажется, да безотлогательном логировании пока он выполняется?

А тем, что без должных усилий каждый разработчик пишет в него по-своему

как будто бы это плохо. А на досуге можешь придумать таблицу, в которую уложатся все варианты логов, которые ведутся сейчас. Или silver-bullet, который структуры, который подойдёт для всех.

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

> Достаточно стандартная оценка. Именно с этим допущением и проектируются базы данных, а ты как думал?

а ничего, что базы данных для другого служат и там доп. то, что даётся за эти доп расходы (выполнение ACID) _необходимо_.

qnikst ★★★★★
()

Исключительный дибилизм. Че теперь, LFS собирать, чтоли?

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

> Ясно, что такая программа будет зависеть от журнал, а журнал будет в одном-трех дистрах линукса, так что реальное поле применения нативного вызова журнала - сервисы и программы конкретного дистра. О-малое, короче.

Судя по активному впендюриванию «фич» федоры куда попало (xorg, gnome etc.) все не так радужно. Красношапчатые его везде понавпихивают.

Тормозов у мальчиков нетути.

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

640кб

> структуры, который подойдёт для всех
бггг. базы в 640 кб хваити для всего.

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

> *идея* юзать его в качестве менеджера сессий разумна, но исполнение этого должно быть модульным

Не вижу ничего разумного. Менеджеру сеансов не требуется работать с деревом зависимостей и запускать службы по требованию. Менеджеру сеансов требуется грузить программы из fd.o-шного автозапуска, запскать WM, опционально, инициализировать настройки тулкита и выполнять сохранение/восстановление запущенных приложений. Последнего сейчас нормально никто не делает, кроме кед, а очень жаль.

Эти программы — инит и менеджер сеансов — вообще не имеют ничего общего.

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

>имеем сбоку бантик в виде нового журнала, работающего параллельно с syslog'ом.

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

бантик проектируется изначально хреново, в виде велосипеда с квадратными колёсами. весь тред об этом.

не факт.

формат лога надо стандартизировать - да (имхо).

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

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

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

можно было и бинарный вид принять, но не изобретая велосипед (есть масса форматов БД на простых файлах, включая встраиваемые хранилища).

да тоже нет. перечисленным целям ничего не соответствует. sql отпадает, поскольку переменный список полей, а в индексах половина нулей. И к тому же непонятно как поведет себя стандартный движок. если подсунуть ему обрезанный в произвольном месте файл. nosql? поискать можно, но все, что я видел, было бы несуразно монструозно для записи логов. + отдельный сервис для ведения этой базы, а когда его поднимать в журнале?

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

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

>Менеджеру сеансов не требуется работать с деревом зависимостей и запускать службы по требованию.

что?

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

>Судя по активному впендюриванию «фич» федоры куда попало (xorg, gnome etc.)

xorg безальтернативен как сервер иксов, но это не новый продукт, а все тот же xfree86, который и был безальтернативным еще в 90-х годах.

gnome внедряется уже более десяти лет и все равно отнюдь не безальтернативен и далеко не везде. В том числе и в федоре я пользуюсь lxde и не жужжу.

И наконец, заисимость от гнома - это серьезное ограничение программы. И даже зависимость от иксов не всегда проходит, ибо есть сервера без иксов и их много.

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

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

> Именоо это я и имел в виду, говоря, что прежде чем завязывать свою программу на журнал - трижды подумаешь. а надо ли оно...

Последнее время создается впечатление, что некоторые дистроклепатели не думают даже одного раза.

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

>Ага... система не взлетела - скажем /usr накрылся частично и как теперь ты собирается узнать что причиной этому было «событие 0xc00dae»?

Во первых, а как ты раньше это мог узнать, если не смонтировался /var/log ?

А во вторых, есть /run/journal В котором копится все, что было до момента подключения /var/log

Или еще веселее - лог побился...

А это уже вопрос реализации. Неубиваемость файла журнала и инструменты его восстановления должны быть в приоритете.

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

>Последнее время создается впечатление, что некоторые дистроклепатели не думают даже одного раза.

в данном случае они не при делах. Решение принимает автор программы и если он хочет, чтобы программа работала за пределами федоры и вообще линукса, то...

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

>>имеем сбоку бантик в виде нового журнала, работающего параллельно с syslog'ом.

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

задача была - ввести новые возможности либо с сохранением текстового представления логов, либо с введением открытого бинарного формата (типа dbf).
естественно, никто никого никогда не заставит переписывать вызовы syslog(int,char*) на syslog(int,int,int,dword,char*), например. понятно, что нужна новая функция, типа syslog2(int,int,int,dword,char*,...). от этого - от написания новой функции - никуда не уйти, если нужна стандартизация набора данных логов. здесь вы меня просто неверно поняли.

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

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

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

можно было и бинарный вид принять, но не изобретая велосипед (есть масса форматов БД на простых файлах, включая встраиваемые хранилища).

да тоже нет. перечисленным целям ничего не соответствует. sql отпадает, поскольку переменный список полей,

об этом давайте подробнее. почему переменный? разве не дополненный?

и ещё раз - что мешает оставить хранилище текстовым? что мешает индексы физически хранить не в том же файле, а в соседнем?

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

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

а в общем: сначала некоторые особо одарённые скрыли от пользователей возможность входа из dm на другой десктоп. стали говорить, что текстовые конфиги - это прошлый век. теперь говорят, что X - фуфло, потому что картинка при просмотре фильма не плавная. надо вейланд канпелять. теперь говорят, что сущность из разряда «биг тейбл», гораздо менее прозрачная, нежели syslog, должна быть в дистрибутивах линукса.
это шоу-стопперы. никто не рад очередному шоу-стопперу.

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

delete ты делать не имеешь права

гхмм? это почему же?

как vacuum скажется, да безотлогательном логировании пока он выполняется?

vacuum плохо, autovacuum почти никак

как будто бы это плохо

таки да! мне тут уже в коментах предлагали анализ английского языка как панацею

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

для другого служат

для чего? просьба при анализе заострить внимание на SQLite

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

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

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

> гхмм? это почему же?

логи на то и логи, чтобы храниться, если периодически делать delete, то и с файлами проблем не будет.

vacuum плохо, autovacuum почти никак

хотелось бы верить

таки да! мне тут уже в коментах предлагали анализ английского языка как панацею

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

О посте ниже, в системе логирования от ACID только AD нужно, причём желательно с максимально коротное временем на запись. В СУБД, требования другие сооствественно и другие требования к скорости операций.

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

> xorg безальтернативен как сервер иксов, но это не новый продукт, а все тот же xfree86

Ничего подобного. В Xorg напихали всякой херни (с подачки красношапочников или ими самими): DBus, HAL (теперь выпиливают), udev, ...

gnome внедряется уже более десяти лет и все равно отнюдь не безальтернативен и далеко не везде.

Однако в дистр, где гномик стоит по дефолту, УЖЕ запилена КУЧА ненужных свистоперделок.

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

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

Вот тут-то как-раз и оздается впечетление, что НЕ думает. Иначе не привлекал-бы к написанию такого сказочного долбоеба, на весь свет прославленного своими «творениями».

sergv
()
Ответ на: логи от mumpster

Нет, до кучи всем :-)

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

Проясню-уж свое отношения к поттеропрограммам и красношапочной политике партии до конца:

1) поттеринг знать не знал и знать не хочет, ЧТО, ПОЧЕМУ и КАК делалось на тему изобретаемых им костылей ДО него.

2) Дорвавшись до практически монопольного ведения критически важных составляющих практически любой Open Source системы Карсная Шапка... забила большой и могучий на альтернативное видение развития курируемых ею проектов.

3) Как следствие имеем кривой, непереносимый код с кучей ненужных зависимостей.

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

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

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

и мы постоянно читаем о том, что то или иное традиционное для линукс систем свойство с этим чудом неработает - ровно так, как и должно быть

один не глупый человек сказал, что не надо двигаться вперёд, если стоишь на краю пропасти. все разработки автора этого чуда ломают все проверенные временем принципы проектирования *nix систем, и ПО для них.

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

>Ничего подобного. В Xorg напихали всякой херни (с подачки красношапочников или ими самими): DBus, HAL (теперь выпиливают), udev,

И благодаря этому в большинстве систем xorg.conf пуст. В нем по дефолту больше нет необходимости.

И еще, общий объем изменений микроскопичен. ДА, сделали модульным, да, добавили автоконфигурирование, но это крайне мало по сравнению с тем, что было зделано в xfree86.

Однако в дистр, где гномик стоит по дефолту, УЖЕ запилена КУЧА ненужных свистоперделок.

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

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

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

с systemd такой возможности нет.

пересобрать systemd? убрать ненужные сервисы (или как они это называют)?

добиться безошибочной работы столь сложно устроенной системы исключительно трудно

а что так такого сложного, что сложнее ядра? касательно твоей аналогии: в 90% случаев самосборные ядра работают менее стабильно, чем официальные.

проверенные временем принципы проектирования *nix систем

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

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

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

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