LINUX.ORG.RU
ФорумTalks

[lennart][journal] Аргументация автоматизации для zabbix

 


0

1

В споре с одним из людей по ссылке на гуглоплюс Леннарта Поттериинга, мне привели такой аргумент в пользу Journal и бинарных логов:

If you have a problem, and want solve it with regexps - you have 2 problems. With every new release any distro(and kernel) may start produce new logging messages, any hardware/software warnings/errors. Regular logs will help you found out reason of failure, only after failure. Its just too late.

Skilled sysadmins doesn't use sed and vim anymore, they use zabbix and puppet (just example), and they want software logs/output to be easy collected/aggregated/understand for tools which they use to automate admins work.

Once more, for better (more reliable and more representative) monitoring - logs should be normalized. Every skilled developer knows it. Then you need think about some compressed normalized-log format. On typical highload server you could get about 100G logs in a day, and before rotation its waste of space. Ok. Lets think about monitoring, sometimes(once a second/minute/hour) you need parse logs - with general log structure its just read hole file (imagine about 2-3G logs per hour) - its a) takes too long, b) wipes buffer cache on your server. So you need some custom binary format, or put data in mysql/sqlite/etc. Its now starting looking like journald even more.

На русском - то, что для машинной обработки с помощью zabbix и тп лучше иметь бинарные логи, и то, что sed/awk/perl уже не модно. Мол админы раньше были школьниками - по 10 машин на лицо, а теперь по 100+. И grep уже не тот, что раньше.

Вы согласны с этим? Я не могу с этим спорить, потому что в общем-то я не админ с 100+ серверами.

★★★★★

Я не могу с этим спорить, потому что в общем-то я не админ с 100+ серверами

Ну и что? Все равно они мудаки и мнение их неправильное )

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

нет ) я иногда прислушиваюсь к чужому мнению.

XVilka ★★★★★
() автор топика

Я не админ, но мне по работе приходилось парсить многогигабайтные логи ошибок одного сервера веб-приложения на яве при помощи sed/grep/etc. Сервер при этом вставал раком от нагрузки, а самая мякотка была в том, что мы даже не знали, что искать. Там было несколько десятков разных видов ошибок, полный список возможных сообщений и их формат не знали даже разработчики. Это было очень сомнительное удовольствие.

Axon ★★★★★
()

... по 10 машин на лицо, а теперь по 100+. И grep уже не тот, что раньше...

По самым скромным оценкам за время моего использования PC средняя скорость компьютеров выросла в несколько сотен раз, объем накопителей (в моём случае) примерно в 1000 раз. Неужели grep перписали на Cи Шарп?

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

Да, ещё программисты тоже переводятся, остаются только Поттеринги, да Дениски Поповы.

daemonpnz ★★★★★
()

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

P.S. люди пишущие в лог что попало в произвольном формате должны гореть в соответствующем месте.

stevejobs ★★★★☆
()

Текстовый формат обладает существенным преимуществом - его можно просматривать любым текстовым редактором. Вплоть до того, что при физическом удалении файла лога с диска, можно попровать грепнуть весь /dev/sda. При удалении бинарного файла такой фокус не пройдёт.

Греп гигабайтных логов действительно штука медленная. Но будет ли поделка от Ленни Поттера быстрее грепа, пока неясно. И будет ли она хоть сколь-нибудь надёжной, тоже неясно.

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

<имхо>«Школьники»-админы с 10 машинами на лицо досконально знали, что и как там работает, и такие логи им имхо были не нужны. А 100+ машин превращают админа в биоробота, которому некогда разбираться, что там у него и как, способного лишь просыпаться и менять компьютеру подгузники (читай: перезагрузить или переустановить систему) по сигналу того же заббикаса «Эй, раб, у меня тут что-то случилось».</имхо>

З.Ы. Сам не админ, регулярно работаю с меньше чем 5 машинами.

pv4 ★★
()

Радикальные варианты тут

Логи не нужны.

Deleted
()

Что ни обновишь страницу треккера — всё одни леннарты мелькают. Что ж за день-то такой.

bloodredfrog ★★
()

Regular logs will help you found out reason of failure, only after failure.

А инновационный Journal позволит вам предвидеть любой сбой!

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

Напишут «бинарный» греп, «бинарный» текстовый редактор, «бинарный» find, всё будет в шоколаде.

btw, объясните мне кто-нибудь, с каких пор текстовый формат перестал быть бинарным. Или проблема в том, что нельзя будет использовать любимый вим лол? )))

stevejobs ★★★★☆
()

and they want software logs/output to be easy collected/aggregated/understand for tools which they use to automate admins work.

Так давно уже есть софт для сбора, управления и анализа логов(logrotate, logwatch, metalog и проч.)

Lighting ★★★★★
()

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

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

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

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

Заббиксу люто по бую, откуда читать сообщения (если это вообще нужно по условиям задачи). Что к агенту прикрутить, то и будет читаться. Это раз.

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

Есть куча Ъпрайзного софта, который ближайшие 10 (если сильно повезет) лет точно не начнет писать логи через journald, и придется одновременно тянуть текстовые и бинарные грепалки для заббикса.

И нахрена нам оно такое надо?

leave ★★★★★
()

У меня, конечно, не 100+ машин, но sed/awk/bash в моде вполне. У меня прописаны скрипты на самые распространенные задачи/проблемы (кстати почти все используют awk, т.к. он читаемее regexp'а в sed'е.

100G logs - фигня, опять же, неосиляторы скриптовых языков и архиваиции кукарекают.

Поттеринг бесится с жиру, имхо.

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

И нахрена нам оно такое надо?

Игнорирование замечание Поттеринга о более 100 Гб логов в день. И это вовсе не преувеличение. А самое худшее, что не редко эти логи нельзя потоково обрабатывать, потому что лишь спустя некоторое время будет обращение к ним запросом, который нельзя предугадать. Более того, запрос далеко не единичный. И для таких штук делают костыли вроде записи логов в БД через sql-врапперы для syslog, потому что БД с этим справляется на порядки(!) лучше, и это факты, доказанные экспериментальным путём.

Просто большинство не сталкивается с такими вещами, и начинается ор без знания предмета и нюансов. Это раздражает.

Есть куча Ъпрайзного софта, который ближайшие 10 (если сильно повезет) лет точно не начнет писать логи через journald, и придется одновременно тянуть текстовые и бинарные грепалки для заббикса.

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

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

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

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

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

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

А ещё подумай - насколько будет легче создавать фильтры для утилит, подобной logcheck/logwatch.

Chaser_Andrey ★★★★★
()

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

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

<имхо>«Школьники»-админы с 10 машинами на лицо досконально знали, что и как там работает, и такие логи им имхо были не нужны. А 100+ машин превращают админа в биоробота, которому некогда разбираться, что там у него и как, способного лишь просыпаться и менять компьютеру подгузники (читай: перезагрузить или переустановить систему) по сигналу того же заббикаса «Эй, раб, у меня тут что-то случилось».</имхо>

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

по сигналу того же заббикаса «Эй, раб, у меня тут что-то случилось»

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

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

Сколько весили логи серверов в эпоху 100 Мб винтов и какова скорость была винтов?

Сколько весят логи серверов в эпоху терабайтных винтов и какова сейчас скорость?

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

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

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

Сколько весили логи серверов в эпоху 100 Мб винтов и какова скорость была винтов?

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

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

Текстовый формат обладает существенным преимуществом - его можно просматривать любым текстовым редактором. Вплоть до того, что при физическом удалении файла лога с диска, можно попровать грепнуть весь /dev/sda. При удалении бинарного файла такой фокус не пройдёт.

Это не аргумент. Ты же не будешь защищать FAT, а не reiserfs/ext3/ext4, потому что удалённый файл в FAT очень просто восстановить, и потому что FAT прост как доска?

Грепание содержания удалённого файла - это исключение из правил, и им не следует пользоваться, как аргументом. Что делать, если ты удаляешь файл с раздела SSD, в котором любая свободная ячейка может быть переписана в следующую секунду? А если удаляешь файл с закриптованого раздела? Но кто будет отказываться от SSD/шифрования только из-за такого недостатка (а с случае с криптованием невозможность грепнуть удалённые файлы становится фичей!). Так же обстоят дела и с БД. Но глупо же жаловаться на внутренний формат базы данных, так как у тебя есть инструменты для работы.

Кстати, а что скажешь о ротейтнутых логах в .gz или .bz2 или даже .lzma? Уж их содержимое ты точно не грепнешь. А ведь для них есть те же bzcat/zcat/lzcat, bzgrep/zgrep/lzgrep, которые работают с бинарными архивами, на лету распаковывая. И этими инструментами пользуются даже бородатые админы, и никто не жалуется, что не Ъ.

Чем хуже наличие инструментов вроде jcat, jgrep, jless, jdiff?

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

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

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

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

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

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

P.S. люди пишущие в лог что попало в произвольном формате должны гореть в соответствующем месте.

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

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

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

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

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

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

Chaser_Andrey ★★★★★
()

Оффтоп

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

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

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

В Windows уже сделали... кхм... лучше я буду грепать свои текстовые логи.

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

Планируется, что первая реализация journald войдет в следующий релиз Linux-дистрибутива Fedora — 17 «Beefy Miracle».

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

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

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

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

syslog() сохраняется и добавляется новый API. Какие еще сущности?

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

Потому что текущая система логов - это plaintext, и в ней нельзя решить многие вышеперечисленные проблемы by design.

Чушь. Открой для себя утилиту od, которая замечательно переводит двоичные данные в текст уже ~40 лет.

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

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

Дело говоришь. Но на лоре этот аргумент не пройдёт. Тут до последнего будут верить, что введение нового инструмента внезапно исправит людскую лень и неорганизованность.

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

У меня пара десятков.

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

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

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

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

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

яростно отрицать преимущества нового

мы не отрицаем его преимущества. Мы лишь указываем на его недостатки.

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

Что на счёт индексирования, быстрой выборки?

Тесктовые данные прекрасно индексируются; индекс ускоряет выборку.

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

Но ты ведь понимаешь, что это совершенно не излишество?

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

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