LINUX.ORG.RU

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

 , ,


1

3

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

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

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

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

★★★★★

Проверено: timur_dav ()

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

Я так подозреваю, что этот Поттеринг один из них.

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

P.S. сабж поддерживаю, но без обратной совместимости будет плохо. Много сетевых устройств поддерживают только syslog.

timur_dav ☆☆☆☆☆ ()

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

УБИВАТъ!!

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

>Его бредовые идеи о микроядре проверены практикой и выброшены в мусорку.

Расскажи это всяким современным вендам и макам. Монолит - тупиковый путь.

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

> А давайте всем ЛОРом скинемся на киллера.

А давайте без «давайте»? Это от лица тех, кто внимательно прочитал всю статью.

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

> ОК, попробуй - потом нам расскажешь, насколько бинарные логи хороши.

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

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

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

Вполне возможно.

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

:)

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

> Расскажи это всяким современным вендам и макам. Монолит - тупиковый путь.

Скажи теперь, что венда с макосью - микроядерные, ага.

plm ★★★★★ ()

> Поскольку данная разработка Леннарта войдет в Fedora 17 и далее скорее всего разойдется по всем дистрибутивам
Побежал на LQO поднимать мужикам настроение просьбой впилить это в Slackware, ибо я давно не слышал что-бы Патрик обкладывал матом Леннарта и его выкидыши.

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

> Расскажи это всяким современным вендам и макам. Монолит - тупиковый путь.

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

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

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

Толстота и неадекват. Слился быстро, а как хорошо начинал...

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

>Скажи теперь, что венда с макосью - микроядерные, ага.

Скажу что они туда движутся. Не говоря уж о всяких fuse.

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

>Операции переключения на лету и сетевая прозрачность.
Давайте, лучше, в конкретных примерах. А то вот у X'ов тоже «сетевая прозрачность», а толку в современных реалиях чуть.

Я linux юзаю только в качестве серверной ОС, поэтому могу тупить.

zgen ★★★★★ ()

перевод — халтура, читать невозможно. а Поттеринг со своими идеями не нужен, да.

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

> Вот всё, о чём ты написал - зачем это (я имею в виду нововведения)?!!?!!

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

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

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

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

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

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

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

> Как человек который каждый день имеет с системаи приращивающими приблизительно 20G/день логов я тебе скажу что ты чуть более чем полностью неправ.

Это ты неправ. Грепать по логу стоит O(n), создавать запросы к базе, в которой все уже отсортировано по строчкам и колонкам - гораздо дешевле. В современных сислогах есть возможность писать в базу, и это было-бы мегакруто, если бы не «НО!» о, котором недаром Леннарт пишет - стандарта на формат сообщений нету, поэтому его приходится выдумывать на ходу.

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

Буквально позавчера из свеже-установленного SuSE 12.1 выкорчевал с мясом: systemd, pulseaudio, policykit, consolekit, udisks, akonadi & Co., Система работает стабильно, визуально всё стало работать плавнее, холостое потребление памяти сократилось в полтора раза, заметно уменьшилось время полной загрузки.

у меня ничего этого нет, кроме policykit, а от него в репозитории арча зависит gtk и ещё много чего…

По теме: убейте уже его, а!

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

> ты стал задавать вопросы, вместо жалобных стонов

Ссылку на мои «жалобные стоны» не приведёшь? (особенно не надеюсь на ответ - скорее всего, ты этот вопрос аккуратно проигнорируешь)

А что мне делать и куда идти, я уж сам как-нибудь решу.

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

> Ссылку на мои «жалобные стоны» не приведёшь? (особенно не надеюсь на ответ - скорее всего, ты этот вопрос аккуратно проигнорируешь)

Гы, так не ты-ли тут ныл, в этой ветке, что надо куда-то уходить, «федорка не та» и т.п.?

The Journal: жизнь после syslog (комментарий)

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

Да, сложнее и тупее. Логи системы по определению должны не в плэйнтексте храниться, а в БД. И должны быть удобные инструменты работы с ними.

oguretz ()

> Можно по разному относится к Леннарту Поттерингу.

относитЬЬЬЬЬся

НЕНАВNСТЬ!!!

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

> Грепать по логу стоит O(n), создавать запросы к базе, в которой все уже отсортировано по строчкам и колонкам - гораздо дешевле.

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

А как насчёт актуальности этих самых «отсортированных строчек и колонок» в БД? Ведь разные ситуации бывают, и иногда сбросить текстовую строчку в лог будет быстрее, чем обновить/добавить запись в БД, а?

OldFatMan ()

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

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

По-твоему, это нытьё?!! О_О

Спокойная констатация факта.

И слов «федорка не та» я что-то там не вижу.

Ты уж поточнее будь.

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

> Логи системы по определению должны не в плэйнтексте храниться, а в БД. И должны быть удобные инструменты работы с ними

eventvwr ага

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

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

Ты телепат? Или у тебя три с половиной задачи на примитивненьком табличном логе? Не смеши меня. В наших системах логи считает ETL-кластер, никакая базка и близко не справится. А для тактических непредсказуемых задач в которых надо непредсказуемым образом анализировать информацию шелл заруливает все. По той простой причине что неизвестно что понадобиться и в каком виде.

стандарта на формат сообщений нету, поэтому его приходится выдумывать на ходу.


Да что он говорит. А он не думал что его нету именно по той причине что невозможно придумать стандарт лога на все случаи жизни? Именно поэтому вендовый лог неюзабелен чуть более чем полностью. Любой линуксовый админ в любой программе если что не так - куда смотрит? Правильно в лог, системный, специфичный или консольный. И радуется что за длоли секунды он его отфильтрует, трансформирует, и проссумирует. Никакой SQL и рядом не валялся по широте возможностей.

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

>Как человек который каждый день имеет с системаи приращивающими приблизительно 20G/день логов я тебе скажу что ты чуть более чем полностью неправ.

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

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

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

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

Ну вот, наконец-то - ты спрашиваешь вопросы, вместо нытья и детских подколок (типа «я не надеюсь на ответ, но все-таки»).

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

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

Ведь разные ситуации бывают, и иногда сбросить текстовую строчку в лог будет быстрее, чем обновить/добавить запись в БД, а?

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

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

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

>>> А то вот у X'ов тоже «сетевая прозрачность», а толку в современных реалиях чуть.

Х-терминалы никогда популярны «в народе» не были. Хотя, мне запускать граф. программы очень приятственно через ssh (в особых случаях даже на 3d можно расчитывать). Pulseaudio позволяет подключить, например, bt-гарнитуру уже во время звонка и переключить вывод на неё, не обрывая соединения. IMHO, очень удобно и кошерно, особенно при желании продвигать линукс на мобильные системы.

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

Сказал, как отрезал. :)

Логи системы по определению должны не в плэйнтексте храниться, а в БД.

Позволь узнать, а где ознакомиться с этим «определением»?

И должны быть удобные инструменты работы с ними.

Они есть.

А впрочем, твоё дело - ставь новую федору и пользуйся более удобной подсистемой логов.

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

> Логи системы по определению должны не в плэйнтексте храниться, а в БД

Как минимум rsyslog умеет хранить логи в БД. А поделка Потцринга - нет. Дальше что?

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

> Система развивается, а тебе пора переключать мозги с более привычного на принципиально более правильное.

Уберите детей с LOR. LOR от них тупеет.

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

>>> Оно работает кое-как только с HDA, наверное

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

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

man индексы, man B-tree

по сабжу: скорее бы уже все логи и настройки перенесли в Postgresql чтобы не маяться с этим зоопарком!

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

>вот петицию создал

Они не useless. Просто внезапно кому-то пришло в голову, что пора отчаливать от флотилии тру unix-like воннаби и грести в сторону печенек. Примерно как гноме. Я так это вижу.

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

а тебе пора переключать мозги с более привычного на принципиально более правильное.

Я винимательно жду от тебя предложения по форматированию следующих сообщений в принципиально более правильный формат.

Nov 21 16:32:45 home kernel: [91318.923325] Redirect from 78.30.246.60 on eth0 about 78.30.200.15 ignored.
Nov 21 16:32:45 home kernel: [91318.923330]   Advised path = 92.249.95.50 -> 78.30.200.15
Nov 21 16:33:11 home kernel: [91344.440618] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 16:33:11 home kernel: [91344.440626] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 16:34:11 home kernel: [91404.456018] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 16:34:11 home kernel: [91404.456026] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 16:41:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 37 to 36
Nov 21 16:41:11 home smartd[2614]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 113 to 112
Nov 21 16:58:32 home kernel: [92866.062749] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 16:58:32 home kernel: [92866.062754] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 17:11:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 64 to 63
Nov 21 17:11:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 36 to 37
Nov 21 17:11:12 home smartd[2614]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 112 to 113
Nov 21 17:14:21 home sshd[15234]: reverse mapping checking getaddrinfo for softheme-50.voks.ua [195.177.74.50] failed - POSSIBLE BREAK-IN ATTEMPT!
Nov 21 17:14:24 home sshd[15234]: Accepted keyboard-interactive/pam for home from 195.177.74.50 port 47481 ssh2
Nov 21 17:20:25 home sshd[15246]: Received disconnect from 195.177.74.50: 11: disconnected by user
Nov 21 17:41:11 home smartd[2614]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 113 to 112
Nov 21 17:45:56 home kernel: [95710.025641] Redirect from 94.203.124.195 on eth0 about 94.203.125.63 ignored.
Nov 21 17:45:56 home kernel: [95710.025646]   Advised path = 92.249.95.50 -> 94.203.125.63
Nov 21 17:45:56 home kernel: [95710.028712] Redirect from 94.203.125.86 on eth0 about 94.203.125.63 ignored.
Nov 21 17:45:56 home kernel: [95710.028717]   Advised path = 92.249.95.50 -> 94.203.125.63
Nov 21 17:45:56 home kernel: [95710.041158] Redirect from 94.203.124.50 on eth0 about 94.203.125.63 ignored.
Nov 21 17:45:56 home kernel: [95710.041161]   Advised path = 92.249.95.50 -> 94.203.125.63
Nov 21 17:45:57 home kernel: [95710.283084] Redirect from 94.203.124.251 on eth0 about 94.203.125.63 ignored.
Nov 21 17:45:57 home kernel: [95710.283089]   Advised path = 92.249.95.50 -> 94.203.125.63
Nov 21 18:11:11 home smartd[2614]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 112 to 113
Nov 21 18:41:12 home smartd[2614]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 113 to 112
Nov 21 18:42:31 home kernel: [99105.104352] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 18:42:31 home kernel: [99105.104360] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 18:42:57 home kernel: [99131.070222] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 18:56:37 home kernel: [99950.380912] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 19:02:14 home kernel: [100287.951098] Redirect from 178.54.40.6 on eth0 about 178.54.40.1 ignored.
Nov 21 19:02:14 home kernel: [100287.951101]   Advised path = 92.249.95.50 -> 178.54.17.190
Nov 21 19:02:15 home kernel: [100288.125403] Redirect from 178.54.17.109 on eth0 about 178.54.17.190 ignored.
Nov 21 19:02:15 home kernel: [100288.125408]   Advised path = 92.249.95.50 -> 178.54.17.190
Nov 21 19:11:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 115 to 116
Nov 21 19:11:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 46 to 47
Nov 21 19:12:24 home kernel: [100897.206842] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 19:12:24 home kernel: [100897.206850] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 19:12:26 home kernel: [100899.818681] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 19:41:06 home kernel: [102619.134050] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 19:41:12 home smartd[2614]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 112 to 113
Nov 21 19:42:06 home kernel: [102679.113668] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 20:33:05 home kernel: [105738.335071] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 20:48:03 home kernel: [106636.375574] Redirect from 223.16.208.1 on eth0 about 223.16.213.248 ignored.
Nov 21 20:48:03 home kernel: [106636.375579]   Advised path = 92.249.95.50 -> 223.16.213.248
Nov 21 21:11:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 116 to 117
Nov 21 21:11:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 47 to 48
Nov 21 21:29:42 home worker_nscd: getaddrinfo*.gaih_getanswer: got type "SOA"
Nov 21 21:41:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 117 to 101
Nov 21 21:41:11 home smartd[2614]: Device: /dev/sda [SAT], SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 48 to 51
Nov 21 22:04:05 home kernel: [111198.416928] martian source 92.249.95.50 from 10.0.0.1, on dev eth0
Nov 21 22:04:05 home kernel: [111198.416936] ll header: 00:1c:f0:c8:1c:43:00:24:14:2c:a5:c0:08:00
Nov 21 22:05:45 home sudo:    home : TTY=pts/3 ; PWD=/home/home ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/messages
Nov 21 22:06:01 home sudo:    home : TTY=pts/3 ; PWD=/home/home ; USER=root ; COMMAND=/usr/bin/tail -fn100 /var/log/messages

и описания тулзов как с этим форматом работать.

И пусть тебя не пугает схожесть с вендой

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

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

А в возможности все это построить так как я хочу а не так как Леттарт задумал.

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

>Позволь узнать, а где ознакомиться с этим «определением»?

Ты тупой? Вообще структура логов как таковых полностью соответствует законам реляционной алгебры, и ВНЕЗАПНО для таких структур данных были специально разработаны базы данных! Да-да, мой юный дружок, с такими структурами удобнее, быстрее и эффективнее работать именно как с базами данных, а не как с неунифицированными по полям и содержанию плэйнтекстовыми полотнами.

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