LINUX.ORG.RU

Релиз systemd v38 c поддержкой Journal, замены системе syslog

 , , ,


0

2

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

Сообщается, что работа над Journal уже близка к завершению, остаётся нереализованными лишь несколько значительных функций и недостаточно проработана документация. Наиболее заметно наличие Journal при выполнении для сервисов команды 'systemctl status', которая теперь выдаёт в том числе и последние сообщения лога для указанного сервиса. Для совместимости с классическим syslog в systemd интегрирована специальная прослойка, которая использует сокет /run/systemd/journal/syslog для приема сообщений, включая перенаправление сообщений из /dev/log.

Данные сохраняются в /var/log/journal, если такая директория создана, в противном случае лог сохраняется в /run/log/journal. Для просмотра журнала следует использовать утилиту systemd-journalctl, которая по умолчанию генерирует вывод, полностью аналогичный формату /var/log/messages. Используя опции "-o verbose", "-o short-monotonic" или "-o json" можно менять детализацию и формат вывода. Для эмуляции поведения «tail -f» предусмотрена опция "-f".

>>> Подробности

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

А учитывая возможность выводить в json, то из самого простого js/ruby/python/чтотоеще обработка превращается в удовольствие даже без переписаных утилит.

Клево, сейчас делаем grep по текстовому файлу.

Завтра берем спецутилиту в которую встроен map/reduce и превращаем бинарную базу в текстовую в формате json, далее пишем спецскрипт на Python, которые это обрабатывает.

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

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

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

Wayland, работающий через pulsevideo уже на подходе.

И встроенный в systemd.

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

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

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

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

При наличии библиотеки если не Поттеринг, то сообщество эти утилиты допишет/перепишет.

Назови причины, почему сообщество обязано убирать г. за Поттерингом?

anonymous
()

Кто-нибудь собирал? Почему ругается:

make[2]: Вход в каталог `/home/dc/systemd-38'
  GEN    man/systemd.1
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
cannot parse http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
make[2]: *** [man/systemd.1] Ошибка 4
x4DA ★★★★★
()
Ответ на: комментарий от anonymous

Чудо-journald проверяет оставшееся место на диске.

То есть он просто втихаря перестанет писать логи? Вах-вах-вах! Тоже зашибись.
Мне как-то всё-равно, что он там какает в tmpfs. ИМХО вместо логирования в /run/log правильнее делать недостающий каталог в /var/log.

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

Ну почему же? вполне реально задать место куда писать лог и это может быть далеко не /var/log.

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

На одной из железок логи вообще не в /tmpfs, а в кольцевом буфере в памяти и ничо, работает.

У меня так на OpenWrt было, я переделал, чтобы писало в файл и передавало по сети.

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

Знать, в каком ключе следует искать субключ с правилами «filter rule 1» - дело самой программы.


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

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

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

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

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

еще раз повторяю:

Да я, в общем-то, это же и имел в виду изначально.

если же делать как ты предлагаешь

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

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

Дык это в принципе неизбежно, хоть с ini, хоть с бинарниками. Кто ж спорит.

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

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

Доо.

Ну не нашлось никого, кто бы убедительно смог опровергнуть идеи Поттеринга.

Shit happens.

Где были вы, «наниматели киллера»?

И в чем твой пойнт - «если вы не работаете в Redhat, вы не имеете права высказать свое мнение»?

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

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

In order to make entries recognisable to client utilities, journal entries may optionally carry a 128bit identifier in MESSAGE_ID=, set by the service generating the message. This ID shall be a randomly generated ID by the developer at development time. For example, there’s one ID for “User logged out” and another one for “User logged in”. All entries for these events will carry the respective 128bit ID thus making them easily recognisable, and implicitly indexed by them. It is a good idea to use IDs for this which are compatible with RFC4122 UUID of type 4, however this is not strictly required and not enforced. This is designed to be compatible with other logging systems which use UUIDs to identify message types, such as the UEFI firmware logs. Consider these 128bit IDs global error codes, that due to their randomized nature need no central standardization entity that assigns numeric IDs to specific message types. 
AptGet ★★★
()
Ответ на: комментарий от Harald

только не тяните это в Gentoo, только не тяните это в Gentoo :)

Для генты надо придумать новый USE-флаг:

USE = "-Lennart_Poettering"

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

Где были вы, «наниматели киллера»?

И в чем твой пойнт - «если вы не работаете в Redhat, вы не имеете права высказать свое мнение»?

Ну чо, болтать весело всегда, даже когда не прав. Альтернативное мнение - это почти геройство. Высказывай, тут можно. Только смысла нет.

Все ленартоненавистники должны собраться в кучу, и сделать свой красивый линукс. Но только им не до этого - всегда полно других забот, да. И РедХат тут не при чём.

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

Все ленартоненавистники должны собраться в кучу, и сделать свой красивый линукс.

А, то есть твой пойнт сводится к «спердобейся». Внезапно.

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

Все ленартоненавистники должны собраться в кучу, и сделать свой красивый линукс.

У тебя деструктивный подход. Линукс - труд многих людей, а не только ред хат и Ко. Но многие про это забыли, видимо. О чём, собственно, и весь разговор.

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

А, то есть твой пойнт сводится к «спердобейся». Внезапно.

Так было бы чего добиваться. Как программист, Леннарт - сама посредственность. Посади любого другого, может даже лучше бы получилось.

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

А, то есть твой пойнт сводится к «спердобейся». Внезапно.

Так было бы чего добиваться.

Pakostnik говорил, что леннартоненавистники должны сделать аж целый свой Линукс.

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

Ненавидят не Ленарта а то, что он делает. Причём по вполне объективным причинам. В угоду нескольким сомнительным преимуществам в жертву приносятся уже не первый год работающие (причём неплохо) системы, нарушается основной принцип UNIX: для каждого дела — своя программа, вместо этого лепится монолитный жуткий монстр, который благодаря выдающимся программистким навыкам Поетеринга ещё и безбожно глючит.

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

Pakostnik говорил, что леннартоненавистники должны сделать аж целый свой Линукс.

Придётся, если иного пути не останется. Впрочем, судя по Debian стал самым популярным дистрибутивом GNU/Linux на веб-серверах, от редхата уже и так бегут пользователи.

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

Ты действительно веришь, что это будет работать на практике?

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

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

нарушается основной принцип UNIX: для каждого дела — своя программа, вместо этого лепится монолитный жуткий монстр

А разве Linux - всё еще UNIX? Он уже давно что-то самостоятельное. Все ДЕ и прочие комбайны нуждаются в Потеринге, очевидно. :)

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

вместо этого лепится монолитный жуткий монстр

Ну, расскажи про монолитность PA.

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

Ненавидят не Ленарта а то, что он делает.

Его тоже есть за что ненавидеть. Клинический случай звёздной болезни имеет место быть. Да, кстати, если бы он это делал всё один, без поддержки редхат, то PA и systemd пылились бы где-нибудь на sf.net и ни кто про них даже бы и не вспоминал.

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

при нажатии shift-f, лесс превращается в tail -f

А... Про это я не знал, если честно. :)

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

Придётся, если иного пути не останется.

И где же он? А то скоро везде один Поттеринг будет.

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

Для генты надо придумать новый USE-флаг:

USE = "-Lennart_Poettering"

точняк :)

+2^32-1

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

Операционной системе. Нужно единое хранилище всея конфигурационного говна. Точнее, единые механизмы доступа к хранилищу всея говна.

чем тебе /etc/blah/blah-blah.conf не единое древовидное хранилише конфигов типа key=value, да и прочих тоже? и чем open/read/write/close не единый механизм доступа?

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

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

А потом ещё через какое-то время выяснится, что бинарный формат — это файл .tar.gz с переименованным расширением... :0

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

еще раз повторяю: единственный смысл «реестра для любых конфигов» (или любого другого формата для всех случаев жизни) - это универсализация работы с конфигом из любой программы, т.е. программеру важно навсегда забыть о любых конфо-форматах, а помнить только лаконичное API, которое отстраивает его от структуры хранения, всем этим занимается конфо-движок-библиотека;

Реестр — это жуткое дерьмо. Слетевшая система уносит с собой реестр вместе с настройками всех программ. Иногда разлом такой, что даже не помогает переустановка системы поверх старой копии. Реестр - это база данных, она склонна к разрастанию и чем больше, тем медленнее ворочается система. Программы после деинсталяции оставляют в реестре тонны ненужного говна на всякий случай. Не говоря уже о том, что они прячут там в неположенных местах кучу инфы, идентифицирующей пользователя при повторной установке. Реестру нужна целая инфраструктура по его обслуживанию: бэкаперы, восстановители, валидаторы, чистильщики, оптимизаторы и прочий ненужный хлам, отжирающий в итоге ресурсы компьютера. Реестр делает систему закрытой и непрозрачной.

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

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

что бинарный формат — это файл .tar.gz с переименованным расширением..

Не, некошерно. Это будет какой-нить XML, работающий через xmllint (запросами через XQuery) и запакованный в tar.gz.

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

еще раз повторяю: единственный смысл «реестра для любых конфигов» (или любого другого формата для всех случаев жизни) - это универсализация работы с конфигом из любой программы, т.е. программеру важно навсегда забыть о любых конфо-форматах, а помнить только лаконичное API, которое отстраивает его от структуры хранения, всем этим занимается конфо-движок-библиотека;

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

Загонять все в одно хранилище - это создавать прокрустово ложе.

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

Я лазил по gconf/dcong - лучше, чем реестр, но хуже чем конфиг.

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

Лучше бы при отсутствии /var/log/journal демон бы её создавал, а не занимался фигнёй.

в нормальных симстемах это контролируется опциями вроде createfile=1, createdir=1. Ибо могут быть ситуации когда логгер захочет писать в /var/log, а /var еще не замонтирован, тогда опции помогут ему определиться с дальнейшими действиями.

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

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

Спасибо за ссылки, было интересно почитать.

С этими цепочками хэшей будет один гемор. Замаскировать свое присутствие можно будет просто забив физический сектор диска с данными последнего хэша мусором, проэмулировав сбой. Вторжение конечно заподозрят но с какого момента поменялся лог - уже нет. А про write-only location могу сказать что сам по себе это конечно анекдот, но эту проблему решит периодическое подписывание хэша.

A-234 ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Я говорю с позиции человека, который делает прошивку для железки в которой используются, в частности

А зачем тебе вообще awk и grep? Кроме твоего конфигуратора что, чтото будет эти конфигши править? Если нет - так и генери их с нуля.

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

В ближайшем будущем этого не будет, потому что на фре systemd не работает. Gentoo это не только линукс.

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

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

Тут map/reduce в syslog встраивают, а вы про такие мелочи рассуждаете. :)

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

ИМХО вместо логирования в /run/log правильнее делать недостающий каталог в /var/log.

да ты ваще децил.

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

Подскажите дистры, принципиально не одобряющие поделки Поттеринга. Кроме гетны/арча, конечно.

ubuntu же о_О

Убунта одобрит systemd осенью, а журнал следующей осенью. Ну или сдвиг еще + полгода, но неизбежно, имхо.

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

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

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

ну вот нифигаж в политике и эволюции не смыслите..

Закон создан изменяемым! это лучший из принципов говачинского закона.

Thero ★★★★★
()

systemd

Не нужно

Journal

Виндовозненько

Поттеринг

RAGE MODE: ON. НУ КОГДА ЖЕ ЭТОТ УРОД ПЕРЕСТАНЕТ ТАЩИТЬ ВИНДУ В ЛИНУКС????

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