Re[17]: Hello UNIX!
От: Anton Batenev Россия https://github.com/abbat
Дата: 25.08.15 13:16
Оценка:
Здравствуйте, Sinclair, Вы писали:

S> К сожалению, в реальной жизни к моменту, когда понадобилась аналитика, "добавлять в приложение" уже поздно.


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

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


Ну что же за мазохизм-то?! Если для решения задачи есть адекватный задаче инструмент, то надо пользоваться этим инструментом.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re[18]: Hello UNIX!
От: Mamut Швеция http://dmitriid.com
Дата: 25.08.15 13:23
Оценка:
AB>Ну вот эти "любые трансформации" и являются "фигурным выпиливанием", тут я абсолютно ничего не придумал, а написал краткий пересказ документации по твоей ссылке — берем sed-подобные выражения, регулярки и фигачим преобразования.

/o\ Ты продолжаешь видеть ровно только, что хочешь.

AB>Да, именно так — "каждый делает одно дело, но делает его хорошо".

M>> Можно пример «нетривиальных запросов», которые можно решить только в консоли sed'ом и awk'ом?
AB>Я не делал подобных категоричных заявлений, по этому не могу ответить на твой вопрос.

оно все прикольно ровно до определенного момента (пока логи имеют поля, пока требуется относительно тривиальные выборки и т.д.), дальше берем в руки awk/sed/grep-подобный скальпель и занимаемся художественным выпиливанием.


1. логи могут не иметь полей. splunk все равно с ними справится
2. можно увидеть пример «нетривиальной выборки», наконец?

AB>Приведенные тобой примеры — это вполне конкретные выборки для вполне конкретных целей аналитики для продажников / ученых и т.д.


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


Пассы руками. Ноль конкретики. Самое смешное, что ты говоришь только о продажах. Хотя я, например, упоминал, например, персентили. Ой. Внезапно логи можно использовать для анализа поведения сервера, прикинь. Находить попытки взлома и т.п.

AB>Так, например, в приведенных тобой примерах в логе может отсутствовать JSESSIONID, потому что он передается не в GET запросе, а кукой и куки не логгируются. В POST запросе могут приезжать данные формы, которые так же не попадают в лог, но могут быть необходимы для продажной аналитики. Создание предметно-ориентированного лога или использование соответствующего api я считаю более чем адекватным для решения задач такого рода — у продажников свои заморочки, у сейсмологов свои.


Да ты что. А то я не знал. А то у нас не было 150 различных логов в абсолютно разных форматах, с разными данными. У нас одни пацаны умудрились логгировать все в JSON'е. И ничего, прекрасно splunk со всем справился

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


Что именно ты делаешь с логами мы, видать, так и не увидим. Что не удивительно

Краткая выжимка нашего увлекательнейшего разговора:

M: Есть тулзы для работы с логами, гораздо удобнее и лучше

AB: Не подойдут для маленьких установок, сомнения для больших, где маленькие: это VPS с 512MB RAM, большие: это терабайт логов в сутки. Любые другие варианты не подходят, потому что я так сказал: не нужны!

AB: для нетривиальных выборок не подходят. Нет, то, что ты показал, это не нетривиальные выборки, это аналитика, я про аналитику не говорю. Мне не нужна аналитика. Но я точно знаю, что есть какие-то мифические нетривиальные выборки, которые ты решить не сможешь, а у меня консоль!!

AB: я легко прикручу аналитику к приложению! CSV (что с ним делать? — M.)! Дамп в базу данных (что с ним делать? — M.)! Какой-то API (какой? — M.)




dmitriid.comGitHubLinkedIn
Re[10]: Hello UNIX!
От: Yoriсk  
Дата: 25.08.15 15:15
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

AB>Расскажу про себя. Частенько встречается задача посчитать то или иное количество событий по логу. Например, выяснить максимальное количество запросов в секунду к веб-серверу, посмотреть какое-нибудь количество ошибок/успехов за последние N минут, найти популярный запрос к сайту, посчитать среднее время ответа сервиса и т.д.


Анализаторы логов придумали трусы, да. А как вы решите задачу "найти популярный запрос к сайту", вы же не знаете что это за запрос, эта ваша магия умеет group by?

AB>Это как на велосипеде — один раз научился кататься, дальше уже не забудешь.


Верю. Но это же нужно несколько лет каждый день "кататься", а если твоя работа не в велосипедировании как таковом, а оное является лишь средством и нужно раз в месяц, причём каждый раз разное — не научишься.
Re[19]: Hello UNIX!
От: Anton Batenev Россия https://github.com/abbat
Дата: 25.08.15 16:49
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M> Краткая выжимка нашего увлекательнейшего разговора:

M> M: Есть тулзы для работы с логами, гораздо удобнее и лучше
M> AB: Не подойдут для маленьких установок, сомнения для больших, где маленькие: это VPS с 512MB RAM, большие: это терабайт логов в сутки. Любые другие варианты не подходят, потому что я так сказал: не нужны!

Перевираешь. Я не писал, что "не подойдут", я писал (циатата): "В over 99% случаев никаких других инструментов нет (и в принципе не планируется) <потому что>". Так же я не писал "не нужны", а как раз наоборот (цитата: "У данных продуктов есть своя ниша, где они будут "на своем месте", но для моих задач в большинстве случаев они не подходят.").

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

M> AB: для нетривиальных выборок не подходят. Нет, то, что ты показал, это не нетривиальные выборки, это аналитика, я про аналитику не говорю. Мне не нужна аналитика. Но я точно знаю, что есть какие-то мифические нетривиальные выборки, которые ты решить не сможешь, а у меня консоль!!


И еще раз переврал. Я говорил о том, что (цитата): "оно все прикольно ровно до определенного момента (пока логи имеют поля, пока требуется относительно тривиальные выборки и т.д.), дальше берем в руки awk/sed/grep-подобный скальпель и занимаемся художественным выпиливанием.".

Для фигурного выпиливания у меня и так есть sed/awk/grep — зачем мне еще одна сущность для этого мне не совсем понятно.

M> AB: я легко прикручу аналитику к приложению! CSV (что с ним делать? — M.)! Дамп в базу данных (что с ним делать? — M.)! Какой-то API (какой? — M.)


Что делать с CSV? Это универсальный формат, который поддерживается большим числом приложений от банального excel до языков программирования. Если не нравится или не подходит csv, можешь писать в tskv/json/xml — тут смысл в разделении/независимости потоков данных, которые требуются аналитикам и эксплуатации. Мне не интересно время между входом на сайт и переходом на страницу покупки, продажникам не интересно как нагрузка распределяется по worker-ам.

Что делать с данными в БД? Да всю ту аналитику, про которую ты рассказываешь — там уже не возникает особых вопросов по поводу объема данных, сами данные очищены от лишней "шелухи" (а в некоторых случаях может потребоваться и пост-обработка например по обезличиванию данных).

Какой API? Да тот же Google Analytics / Яндекс.Метрика где необходимые события можно послать простым вызовом js, до каких-то специализированных внутренних решений.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re[11]: Hello UNIX!
От: Anton Batenev Россия https://github.com/abbat
Дата: 25.08.15 17:12
Оценка: :))
Здравствуйте, Yoriсk, Вы писали:

Y> AB>Расскажу про себя. Частенько встречается задача посчитать то или иное количество событий по логу. Например, выяснить максимальное количество запросов в секунду к веб-серверу, посмотреть какое-нибудь количество ошибок/успехов за последние N минут, найти популярный запрос к сайту, посчитать среднее время ответа сервиса и т.д.

Y> Анализаторы логов придумали трусы, да. А как вы решите задачу "найти популярный запрос к сайту", вы же не знаете что это за запрос, эта ваша магия умеет group by?

Ну это вообще элементарно:

... | sort | uniq -c | sort -n | tail


(оптимизировать при необходимости)

Y> AB>Это как на велосипеде — один раз научился кататься, дальше уже не забудешь.

Y> Верю. Но это же нужно несколько лет каждый день "кататься", а если твоя работа не в велосипедировании как таковом, а оное является лишь средством и нужно раз в месяц, причём каждый раз разное — не научишься.

Тут важен принцип, который осваивается относительно быстро, а дальше уже просто нарабатывается мастерство.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re[18]: Hello UNIX!
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.08.15 17:33
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

AB>С тем же самым успехом в реальной жизни данных может и не быть в сырых логах. Если же они есть и так внезапно потребовались, то не вижу никаких проблем их достать.

Из моего опыта, в логах есть 99.9% от того, что нужно. Потому что обычно в логи пишут более-менее всё. Ибо в серверных приложениях интерактивная отладка — экзотика, а без отладки приложения обычно не взлетают совсем. Во всех 100% случаев, когда за последние 10 лет я слышал фразу "этого в логах нету", имелось в виду "у нас нет такого лога, чтобы то, что вам нужно, было в нём одном". Обычная работа саппорта — это "смотрим в лог №1, по нему понимаем, в какой лог глядеть следующим", и так пять раз в простых случаях, и восемь раз — в сложных.

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

AB>Ну что же за мазохизм-то?! Если для решения задачи есть адекватный задаче инструмент, то надо пользоваться этим инструментом.
Воот. А вы — отказываетесь
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Hello UNIX!
От: Terix  
Дата: 25.08.15 18:33
Оценка: 2 (1)
Здравствуйте, MTD, Вы писали:

MTD>Здравствуйте, alex_public, Вы писали:


MTD>>>Это у меня стоит, но понятное дело до удобства как в Линуксе далеко.


_>>А где возникает разница?)


MTD>Окно не ресайзится, копирование текста через задницу. Попробовал, кстати, ConEmu — дико глючит на ресайзе окна.


msys2 поставь. Там нормальный ресайз и нормальное копирование текста. Плюс софт поновее.
Re[20]: Hello UNIX!
От: Mamut Швеция http://dmitriid.com
Дата: 25.08.15 19:14
Оценка:
AB>И еще раз переврал. Я говорил о том, что (цитата): "оно все прикольно ровно до определенного момента (пока логи имеют поля, пока требуется относительно тривиальные выборки и т.д.), дальше берем в руки awk/sed/grep-подобный скальпель и занимаемся художественным выпиливанием.".

AB>Для фигурного выпиливания у меня и так есть sed/awk/grep — зачем мне еще одна сущность для этого мне не совсем понятно.


Можно мне рассказать об этом «определенном моменте»? Уже третий раз спрашиваю, заметью


M>> AB: я легко прикручу аналитику к приложению! CSV (что с ним делать? — M.)! Дамп в базу данных (что с ним делать? — M.)! Какой-то API (какой? — M.)


AB>Что делать с CSV? Это универсальный формат, который поддерживается большим числом приложений от банального excel до языков программирования.


Какой именно CSV ты собираешь предоставлять, если у тебя, по тоим же словам, полтора гигабайта логов генерится? Аналогично для дампов

AB>Если не нравится или не подходит csv, можешь писать в tskv/json/xml — тут смысл в разделении/независимости потоков данных, которые требуются аналитикам и эксплуатации.



AB>Мне не интересно время между входом на сайт и переходом на страницу покупки, продажникам не интересно как нагрузка распределяется по worker-ам.



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

AB>Что делать с данными в БД? Да всю ту аналитику, про которую ты рассказываешь — там уже не возникает особых вопросов по поводу объема данных, сами данные очищены от лишней "шелухи" (а в некоторых случаях может потребоваться и пост-обработка например по обезличиванию данных).


«Очищены от шелухи» о даааа. Кто эти данные будет «очищать отшелухи»?

AB>Какой API? Да тот же Google Analytics / Яндекс.Метрика где необходимые события можно послать простым вызовом js, до каких-то специализированных внутренних решений.


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

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


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


dmitriid.comGitHubLinkedIn
Re[19]: Hello UNIX!
От: Anton Batenev Россия https://github.com/abbat
Дата: 25.08.15 19:33
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

S> AB>С тем же самым успехом в реальной жизни данных может и не быть в сырых логах. Если же они есть и так внезапно потребовались, то не вижу никаких проблем их достать.

S> Из моего опыта, в логах есть 99.9% от того, что нужно. Потому что обычно в логи пишут более-менее всё. Ибо в серверных приложениях интерактивная отладка — экзотика, а без отладки приложения обычно не взлетают совсем.

Возможно тогда твой опыт ограничивается большими организациями, с более-менее налаженным процессом, который обкладывают "градусниками" во все места — это хороший и правильный подход. Однако в мире "дикого" интернета отладка приложений в 99.9% случаев сводится к заливке файла по FTP на боевой сервер и просмотру результата в браузере (хотя есть еще более клинические случаи типа Bitrix).

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

S> AB>Ну что же за мазохизм-то?! Если для решения задачи есть адекватный задаче инструмент, то надо пользоваться этим инструментом.

S> Воот. А вы — отказываетесь

От использования адекватных задаче инструментов я никогда не отказывался (вот пример, где для решения задачи парсинг логов консольными утилитами я посчитал нецелесообразным). Увы, не моя вина, что решения типа splunk/kibana мне <пока> негде/незачем применять.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re[5]: Hello UNIX!
От: Sheridan Россия  
Дата: 25.08.15 19:56
Оценка:
Здравствуйте, Слава, Вы писали:


С>Вин 3.11 работала на 4 МБ оперативки. И неплохо так работала, гуй рисовался.


С>Скажи уж честно (хотя ты и не разработчик), сделать нормальное GUI — трудоемко, и сравнимо с написанием основной программы. Вот оне, девелоперы опенсорца, и не хотят тратить время на гуй. Да и на чем его рисовать? GDI виндового у них нет, а кроссплатформенный фреймворк с закругленными кнопочками, градиентами и шрифтами 36pt — для слепых пингвинов, этот фреймворк жрет память как не в себя, да еще и падает.


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

Жырно, друг мой. Очень жырно. Потренируйся в политике, потом можешь обратно сюда попробовать
Matrix has you...
Re[7]: Hello UNIX!
От: Stanislaw K СССР  
Дата: 25.08.15 20:01
Оценка: +1
Здравствуйте, Kernighan, Вы писали:

K>>Голословное утверждение. Ни мой отец, ни моя мать не смогли нормально работать за Убунтой, чего не скажешь о винде и осх, но, наверное, они не "простые пользователи", ага.


K>У тебя очень криворукие родственники.

K>У меня и отец и мать работают с Kubuntu.
K>76 и 78 лет, Карл!

"работают" — в смысле зарабатывают? или имелось в виду "включают видеотелефон комп, скайп автозапуске один клик для связи с ребенком". с последним сценарием у меня 90 летний дядька справляется.
Все проблемы от жадности и глупости
Re[21]: Hello UNIX!
От: Anton Batenev Россия https://github.com/abbat
Дата: 25.08.15 23:05
Оценка:
Здравствуйте, Mamut, Вы писали:p

M> AB>И еще раз переврал. Я говорил о том, что (цитата): "оно все прикольно ровно до определенного момента (пока логи имеют поля, пока требуется относительно тривиальные выборки и т.д.), дальше берем в руки awk/sed/grep-подобный скальпель и занимаемся художественным выпиливанием.".

M> AB>Для фигурного выпиливания у меня и так есть sed/awk/grep — зачем мне еще одна сущность для этого мне не совсем понятно.
M> Можно мне рассказать об этом «определенном моменте»? Уже третий раз спрашиваю, заметью

Ну из последнего и простого (чтобы было понятно и без специализированных тонкостей).

Приложение было запущено в русской локали и начало писать в лог Август вместо Aug. Решение тривиально — мапим одно в другое. Что в консоли, что в splunk придется сделать карту соответствий.

В логе были закодированы ссылающиеся домены. Часть была закодирована в punnycode (при чем с ошибкой), часть кириллицей в utf-8, часть кириллицей в cp1251 (постарались разные поколения разработчиков). Приводим к одному виду, группируем, считаем — в любом инструменте придется повыпиливать.

M> M>> AB: я легко прикручу аналитику к приложению! CSV (что с ним делать? — M.)! Дамп в базу данных (что с ним делать? — M.)! Какой-то API (какой? — M.)

M> AB>Что делать с CSV? Это универсальный формат, который поддерживается большим числом приложений от банального excel до языков программирования.
M> Какой именно CSV ты собираешь предоставлять, если у тебя, по тоим же словам, полтора гигабайта логов генерится? Аналогично для дампов

Эм... А в чем проблема? Во-первых в целевом логе не будет лишнего (бэктрейсов, различной отладочной информации и т.д.) — только то, что требуется, что сокращает его размер эдак раз в 5-10 (а то и больше, зависит от). Во вторых, речь не про ранее озвученные терабайты (там уже все сделано, хотя есть к чему стремиться), а про обычные среднестатистические проекты.

M> AB>Если не нравится или не подходит csv, можешь писать в tskv/json/xml — тут смысл в разделении/независимости потоков данных, которые требуются аналитикам и эксплуатации.

M> AB>Мне не интересно время между входом на сайт и переходом на страницу покупки, продажникам не интересно как нагрузка распределяется по worker-ам.
M> Мне нравится, как ты второй раз видишь строго и исключительно продажи в моем тексте, даже после того, как я тебя напрямую ткнул в изъяне в твоем видении.

Процентили? Я показал тебе как можно считать процентили на awk как ты и просил. В соседнем сообщении показал как можно дешево считать процентили по временам ответа бэкенда. Еще что-то нужно сделать с процентилями?

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

Состояние сервера? Ну уж точно для этого есть различные специализированные инструменты.

M> AB>Что делать с данными в БД? Да всю ту аналитику, про которую ты рассказываешь — там уже не возникает особых вопросов по поводу объема данных, сами данные очищены от лишней "шелухи" (а в некоторых случаях может потребоваться и пост-обработка например по обезличиванию данных).

M> «Очищены от шелухи» о даааа. Кто эти данные будет «очищать отшелухи»?

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

M> AB>Какой API? Да тот же Google Analytics / Яндекс.Метрика где необходимые события можно послать простым вызовом js, до каких-то специализированных внутренних решений.

M> В общем, ты явно не имеешь ни малейшего представления, о чем ты говоришь. Как мне поможет Яндекс.Аналитика найти, например, цитирую себя из ответа Синклеру
M> Потому что в итоге может легко понадобиться протрейсить путь заказа через 15 подсистем в пяти датацентрах на трех языках программирования (хех, я это делал с помощью спланка, не приходя в сознание, обладая только номером заказа, который в процессе бработки мог спокойно меняться).

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

Возможно ты хотел намекнуть, что пройти "15 подсистем в пяти датацентрах на трех языках программирования" по вашим логам было адски сложно? Ну если это действительно так, то гордиться тут особо-то нечем — сегодня тебе удалось, завтра что-нибудь пойдет не так и добро пожаловать в мой мир консоли, развертывания из бэкапов, фигурное выпиливание и т.д.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re[20]: Hello UNIX!
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.08.15 04:08
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

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

Нет, не ограничивается.
AB>Однако в мире "дикого" интернета отладка приложений в 99.9% случаев сводится к заливке файла по FTP на боевой сервер и просмотру результата в браузере (хотя есть еще более клинические случаи типа Bitrix).
И тем не менее, даже в самом диком интернете машины времени нету, и невозможно метнуться в 2013, чтобы заботливо подложить файлик с расширенным логгированием.

AB>В "правильном" мире нет никакой необходимости сливать все логи в одну помойку — процесс налажен, статистика отдельно, технические логи отдельно, все отправляется, анализируется, считается, планируется, эксплуатируется.

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


AB>От использования адекватных задаче инструментов я никогда не отказывался (вот пример, где для решения задачи парсинг логов консольными утилитами я посчитал нецелесообразным). Увы, не моя вина, что решения типа splunk/kibana мне <пока> негде/незачем применять.

Ок.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Hello UNIX!
От: Privalov  
Дата: 26.08.15 05:13
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Я даже находясь в отпуске, в Приэльбрусье, даже несмотря на то что интернеты тут пока ещё чуть лучше тыквы, все равно решил тебе ответить.


Любопытство разобрало. Зачем ты, уезжая в отпуск, вообще с собой интернеты взял? Их и на работе хватает.
Re: Hello UNIX!
От: cppman  
Дата: 26.08.15 07:21
Оценка:
Здравствуйте, tapatoon, Вы писали:
T>Отсюда вопрос. Есть ли платные линуксы для домашних компов? По максимум приближенное в плане UI к винде.

Пользуюсь SuSe. По UI как винда, но тут же дело-то не в ОСи, а в том прикладном софте, который нужен. Если такой зависимости нет, то и проблемы нет.
Re[22]: Hello UNIX!
От: Mamut Швеция http://dmitriid.com
Дата: 26.08.15 08:19
Оценка:
M>> Можно мне рассказать об этом «определенном моменте»? Уже третий раз спрашиваю, заметью
AB>Ну из последнего и простого (чтобы было понятно и без специализированных тонкостей).
AB>Приложение было запущено в русской локали и начало писать в лог Август вместо Aug. Решение тривиально — мапим одно в другое. Что в консоли, что в splunk придется сделать карту соответствий.

Что в этом нетривиального?

AB>В логе были закодированы ссылающиеся домены. Часть была закодирована в punnycode (при чем с ошибкой), часть кириллицей в utf-8, часть кириллицей в cp1251 (постарались разные поколения разработчиков). Приводим к одному виду, группируем, считаем — в любом инструменте придется повыпиливать.


Что в этом нетривиального?

Напомню:

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


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

M>> Какой именно CSV ты собираешь предоставлять, если у тебя, по тоим же словам, полтора гигабайта логов генерится? Аналогично для дампов

AB>Эм... А в чем проблема? Во-первых в целевом логе не будет лишнего (бэктрейсов, различной отладочной информации и т.д.) — только то, что требуется,

Что именно требуется? Ты вообще знаешь, что именно потребуется в каждый данный момент времени? Я — нет. У нас в команде висело 15 различных отчетов (таблицы, графики, просто суммарная информация). При том, что мы — не продажники. Мы вообще пилили REST APIs и Dunning chain. Из этих отчетов менеджеру не-технарю нужны были два. Плюс у него собственных было еще 10, которые нас не интересовали.

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

AB>что сокращает его размер эдак раз в 5-10 (а то и больше, зависит от). Во вторых, речь не про ранее озвученные терабайты (там уже все сделано, хотя есть к чему стремиться), а про обычные среднестатистические проекты.


Ага. Уже в ход пошли некие мифические «среднестатистические проекты»

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

AB>Процентили? Я показал тебе как можно считать процентили на awk как ты и просил.

Ах, да, вот это:
... | sort -n | awk '{ s[NR] = $1; } END { print int(NR * 0.9); }'


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

AB>В соседнем сообщении показал как можно дешево считать процентили по временам ответа бэкенда. Еще что-то нужно сделать с процентилями?


Например, выбрать процентили отдельно по ресурсам. Найти и отобразить выпадающие outlier'ы. У нас одним запросом выводилась таблица, в которой показывалось все сразу: max, min, avg, median, 90-й персентиль, 95-й персентиль, 99-й персентиль — и все это было разбито по ресурсам (то есть запросы к /orders/1855680909/addresses/898908080 попадали в группу /orders/:id/addresses/:id) и т.п.

AB>Попытки взлома меня интересуют мало, т.к. это непрерывный процесс, чтобы из за него проявлять беспокойство. Все известные мне случаи проникновения — это человеческая халатность или ошибка разработки, которые я не контролирую.


Из того, что ты их не контролируешь как-то следует, что их не надо искать?

AB>Состояние сервера? Ну уж точно для этого есть различные специализированные инструменты.


Смотря какое состояние какого сервера Было у нас выпадение нескольких систем. LiveOps подняли все, а мы смотрим на графике наших запросов, что 99% запросов возвращает HTTP 419. Оказалось, что одна из систем после подъема несмотря на рапорт «все ура» была совсем не ура.

Но да, но да. «Специализированные тулзы» ©

M>> «Очищены от шелухи» о даааа. Кто эти данные будет «очищать отшелухи»?

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

1. Что такое «требуемая информация»
2. Что мешает эту информацию писать в логи?
3. Что мешает фильтровать логи?

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

M>> Потому что в итоге может легко понадобиться протрейсить путь заказа через 15 подсистем в пяти датацентрах на трех языках программирования (хех, я это делал с помощью спланка, не приходя в сознание, обладая только номером заказа, который в процессе бработки мог спокойно меняться).

AB>Она (согласно своему назначению) тебе поможет проследить путь пользователя по сайту


Это ты ее за меня назначил. Я же говорю, ты банально продолжаешь видеть только и исключительно продажи. Уже третий раз подряд.

AB>Возможно ты хотел намекнуть, что пройти "15 подсистем в пяти датацентрах на трех языках программирования" по вашим логам было адски сложно? Ну если это действительно так, то гордиться тут особо-то нечем — сегодня тебе удалось, завтра что-нибудь пойдет не так и добро пожаловать в мой мир консоли, развертывания из бэкапов, фигурное выпиливание и т.д.


Что «пойдет не так»? Как мне поможет консоль, если я не смогу что-то найти в логах с помощью спланка? Как твоя консоль поможет мне в описанном мной сценарии? Давай я для тебя его опишу:

— Заказ из магазина оформляется через XML-RPC. Он попадает в кластер из 8 машин, разделенных на 2 датацентра (первый лог)
— В зависимости от разных параметров, этот кластер отдает заказ через erlang-rpc или через xml-rpc на кластер из 4 машин в двух датацентрах (два разных лога + лог rabbitmq)
— система, сосбтвенно, обрабатывающая заказ, логгирует процедуру создания заказа в системе (еще один лог, на самом деле два)
— параллельно вызывается risk check, который попадает либо в новую систему (отдельный кластер из 4 машин — отдельный лог на кластере) либо в legacy (отдельная подсистема тут же, но отдельный лог)
— через нцать дней с заказом могут происходить манипуляции: напрямую из backoffice'а (тут логи действий пользователя, в отдельном логе + логи системы заказа), через XML-RPC (см. схему выше), из внешней системы, написанной вообще на руби, и общающейся с нами через XML-RPC или REST-API (логи внешней системы, схема для XML-RPC выше, логи системы, реализующей REST-API)
— все эти манипуляции + автоматические обработки передвигают заказ по dunning chain (логи собственно подсистемы dunning'а)
— в зависимотси от оплаты и прочего добавляются логи от: бухгалтерской системы, платежной системы, почтовой системы и еще вагон и маленькая тележка

Все это может быть сильно разнесено друг от друга по времени (до полугода, обычно — в течение двух недель).

Через две недели может прийти простой вопрос: посоны, почему на заказ номер XXX сначала смогли частично активировать, а остаток заказа не смогли активировать? Причин может быть с десяток — от программерской ошибки до ошибок магазинов, клиентов, банков и т.п.

Для того, чтобы в Спланке мне увидеть это все сразу, мне достаточно ввести "orderid=XXXXXX" и получить выборку по всем логам сразу. После этого я могу резать эту информацию на запчасти так, как мне удобно и угодно, несмотря на то, что это — логи в нцати разных форматах от нцати разных подсистем с нцати разных физически разнесенных кластеров.

Твой ход в консоли в студию.


dmitriid.comGitHubLinkedIn
Re[17]: Hello UNIX!
От: Kernighan СССР  
Дата: 26.08.15 10:35
Оценка: 1 (1)
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Kernighan, Вы писали:


K>>Зачем-то начал (именно ты начал) сравнивать текстовый редактор с консолью.

Ops>Какой ты конкретный. Это был лишь первый попавшийся пример.

Пример чего?
Что можно понять на этом примере?
Re[14]: Hello UNIX!
От: 0BD11A0D  
Дата: 26.08.15 11:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Можно посмотреть на скриншот Invite Attendees, где аналогичный ассистант реально показывает расписание людей, а не "information unavailable", как на всём, что я вижу в гугле?

S>Откуда thunderbird берёт эти данные?

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

S>Нет. "Само" всё только ухудшается. Организовать может только организатор — причём неважно, кто он по званию. В нормальной команде для каждый может выступать организатором — по мере появления задач.


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

Ладно, я понял. Два мира — два кумира.
Re[7]: Hello UNIX!
От: Дрободан Фрилич СССР  
Дата: 26.08.15 13:13
Оценка:
CreatorCray:

Aё>> Редактор текстов для венды убожество блокнотик, для гнома- gedit с подстветкой синтаксиса и поддержкой кодировок.

CC> Никто в здравом уме на винде в блокноте текст не редактирует.
Я редактировал, случалось.
Чего так напали на блокнот?
Без подсветки синтаксиса можно прожить.
Если хранить в UTF-8 то поддерживаются одновременно все алфавиты.
В текст экзотической кодировке не откроется, да и фиг с ним.
Re[7]: Приэльбрусье
От: Sheridan Россия  
Дата: 26.08.15 13:16
Оценка:
Здравствуйте, Privalov, Вы писали:

S>>Я даже находясь в отпуске, в Приэльбрусье, даже несмотря на то что интернеты тут пока ещё чуть лучше тыквы, все равно решил тебе ответить.


P>Любопытство разобрало. Зачем ты, уезжая в отпуск, вообще с собой интернеты взял? Их и на работе хватает.

Ну, я уже вернулся домой. Час назад гдето
По вечерам там практически нечего делать, если без кампании едешь, а в этот раз подвёл град у нас в Минводах: побило много машин и крыш, друзья-знакомые оказались заняты ремонтами. Вот поехали мы вдвоём с женой.
Днём то гуляем по окрестностям от долины нарзанов до поляны Азау. А вот после 21 часа становится уже скучновато. Можно конечно в кафе сидеть и пиво потреблять, но в интернетах читать разное оказалось для нас интереснее
Matrix has you...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.