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".

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

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

А как же компиляние

1. BFS.

2. Запускай сборку в отдельной cgroup с установленными квотами на проц. Какие проблемы?

или пресловутый 12309 при записи больших объёмов на флешку?

cgoups тебе никак не помогут ни от багов ядра, ни от кривых настроек оного.

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

Где именно это разбивается о суровую реальность? На 80% десктопов? На 30% серверов?

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

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

Binary ★★★★★
()

Дай Боже и умелый троллинг этому треду еще столько же страниц срача. Воистину вбросовы и питательны дела твои Леннарт!

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

а что там такого? апачевый конфиг вполне себе древовидная структура.

вопрос в другом - да, редактировать руками такое неудобно. А вот если надо этот конфиг изменять из программы - то тут напарываешься на вагон геморроя.

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

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

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

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

MS это удалось и ничего, не жалуются.

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

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

мне под конфиг. но раз уж разговор зашёл за реестр, грех не спросить.

Так реестр и есть конфиг. Логов там никогда не лежало.

В качестве хранилища можно использовать обычные каталоги. Вопрос только в эффективности расходования места. Знаю, что бывают специализированные read only ФС с минимальным оверхедом. Но неужели не бывает специализированных ФС с минимальным оверхедом, предназначенных для RW?

geekless ★★
()

Поттеринг молодец, давно нужно было сделать journal, но он оказался единственным человеком, у которого хватило смелости не только на то, чтобы мыслить и писать код, но и действовать так, чтобы его идеи внедрялись в столь крупном дистрибутиве как Fedora. За это я ему готов даже у.бищный PulseAudio простить, тем паче, что многие проблемы Pulse'а в корне суть есть проблемы самой ALSA.

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

aufs, unionfs - но это тоже ещё тот гемор. Хуже другое, у меня жёсткие ограничения на свободное место и обьём ОЗУ.

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

Запускай сборку в отдельной cgroup с установленными квотами на проц. Какие проблемы?

Это отдельно красноглазить надо. А там всё само...

cgoups тебе никак не помогут ни от багов ядра, ни от кривых настроек оного.

Так оно же, вроде, и на I/O планировщик распространяется, нет?

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

Так реестр и есть конфиг.

А дальше уже заданный вопрос - есть ли реализация подобной вещи для *nix написанная с использованием только POSIX API и на языке С без всяких плюсов.

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

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

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

А это уже скорее проблемы приложения, как такие вещи обрабатывать. держать скрипты в конфиге - overkill. А если уж конфиг сам является по сути скриптом, то тут автор приложения сам выходит за рамки обсуждаемого.

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

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

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

Да упихивается вроде.

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

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

Инклуды и условия как ты в хранилище засунешь?

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

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

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

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

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

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

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

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

Ты так говоришь, будто портянку ключей читать удобнее.

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

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

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


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


а еще, например, как задавать порядок одинаковых опций, когда это важно:
check_rule: rule_1
check_rule: rule_2
check_rule: rule_3
check_rule: rule_4

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

мсье не слышал о том, что бывает key-multivalue? то есть «один ключ - много значений».

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

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

http://bsonspec.org/

Бинарный JSON.

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

Никаких зависимостей.

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

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

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

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

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

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

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

Это как раз проблема хранения. Потому что если somekey=value1, то в рамках нашей модели не может быть somekey=value2. А условия — это как раз самое оно: somekey равно или value1, или value2, но на этапе хранения это не известно.

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

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

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

cat path/to/key и echo value > path/to/key уже не в моде?

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


check_rule - родитель, внутри себя имеет несколько объектов rule, у которых есть параметр order. Что как маленькие)


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

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

Формат в нём бинарный по типу базы данных - так что попробуй его прочитать после порчи файлухи

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

мсье не слышал о том, что бывает key-multivalue? то есть «один ключ - много значений».

Вот видишь, ты уже начал усложнять ТЗ. «Простое key-value хранилище», ага.

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

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

Здрасти. Ты же с позиции разработчика софтины разговариваешь — ищешь сишную либу. При чем тут правка конфигов уже запиленного софта.

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