Здравствуйте, Sinclair, Вы писали:
S> К сожалению, в реальной жизни к моменту, когда понадобилась аналитика, "добавлять в приложение" уже поздно.
С тем же самым успехом в реальной жизни данных может и не быть в сырых логах. Если же они есть и так внезапно потребовались, то не вижу никаких проблем их достать.
S> Ну, или мучительные извращения с выпиливанием на основе консльных тулзов, которые для этого не предназначены.
Ну что же за мазохизм-то?! Если для решения задачи есть адекватный задаче инструмент, то надо пользоваться этим инструментом.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
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.)
Здравствуйте, Anton Batenev, Вы писали:
AB>Расскажу про себя. Частенько встречается задача посчитать то или иное количество событий по логу. Например, выяснить максимальное количество запросов в секунду к веб-серверу, посмотреть какое-нибудь количество ошибок/успехов за последние N минут, найти популярный запрос к сайту, посчитать среднее время ответа сервиса и т.д.
Анализаторы логов придумали трусы, да. А как вы решите задачу "найти популярный запрос к сайту", вы же не знаете что это за запрос, эта ваша магия умеет group by?
AB>Это как на велосипеде — один раз научился кататься, дальше уже не забудешь.
Верю. Но это же нужно несколько лет каждый день "кататься", а если твоя работа не в велосипедировании как таковом, а оное является лишь средством и нужно раз в месяц, причём каждый раз разное — не научишься.
Здравствуйте, 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, до каких-то специализированных внутренних решений.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Здравствуйте, Yoriсk, Вы писали:
Y> AB>Расскажу про себя. Частенько встречается задача посчитать то или иное количество событий по логу. Например, выяснить максимальное количество запросов в секунду к веб-серверу, посмотреть какое-нибудь количество ошибок/успехов за последние N минут, найти популярный запрос к сайту, посчитать среднее время ответа сервиса и т.д. Y> Анализаторы логов придумали трусы, да. А как вы решите задачу "найти популярный запрос к сайту", вы же не знаете что это за запрос, эта ваша магия умеет group by?
Ну это вообще элементарно:
... | sort | uniq -c | sort -n | tail
(оптимизировать при необходимости)
Y> AB>Это как на велосипеде — один раз научился кататься, дальше уже не забудешь. Y> Верю. Но это же нужно несколько лет каждый день "кататься", а если твоя работа не в велосипедировании как таковом, а оное является лишь средством и нужно раз в месяц, причём каждый раз разное — не научишься.
Тут важен принцип, который осваивается относительно быстро, а дальше уже просто нарабатывается мастерство.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Здравствуйте, Anton Batenev, Вы писали:
AB>С тем же самым успехом в реальной жизни данных может и не быть в сырых логах. Если же они есть и так внезапно потребовались, то не вижу никаких проблем их достать.
Из моего опыта, в логах есть 99.9% от того, что нужно. Потому что обычно в логи пишут более-менее всё. Ибо в серверных приложениях интерактивная отладка — экзотика, а без отладки приложения обычно не взлетают совсем. Во всех 100% случаев, когда за последние 10 лет я слышал фразу "этого в логах нету", имелось в виду "у нас нет такого лога, чтобы то, что вам нужно, было в нём одном". Обычная работа саппорта — это "смотрим в лог №1, по нему понимаем, в какой лог глядеть следующим", и так пять раз в простых случаях, и восемь раз — в сложных.
S>> Ну, или мучительные извращения с выпиливанием на основе консльных тулзов, которые для этого не предназначены. AB>Ну что же за мазохизм-то?! Если для решения задачи есть адекватный задаче инструмент, то надо пользоваться этим инструментом.
Воот. А вы — отказываетесь
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, MTD, Вы писали:
MTD>Здравствуйте, alex_public, Вы писали:
MTD>>>Это у меня стоит, но понятное дело до удобства как в Линуксе далеко.
_>>А где возникает разница?)
MTD>Окно не ресайзится, копирование текста через задницу. Попробовал, кстати, ConEmu — дико глючит на ресайзе окна.
msys2 поставь. Там нормальный ресайз и нормальное копирование текста. Плюс софт поновее.
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-файлы.
Здравствуйте, Sinclair, Вы писали:
S> AB>С тем же самым успехом в реальной жизни данных может и не быть в сырых логах. Если же они есть и так внезапно потребовались, то не вижу никаких проблем их достать. S> Из моего опыта, в логах есть 99.9% от того, что нужно. Потому что обычно в логи пишут более-менее всё. Ибо в серверных приложениях интерактивная отладка — экзотика, а без отладки приложения обычно не взлетают совсем.
Возможно тогда твой опыт ограничивается большими организациями, с более-менее налаженным процессом, который обкладывают "градусниками" во все места — это хороший и правильный подход. Однако в мире "дикого" интернета отладка приложений в 99.9% случаев сводится к заливке файла по FTP на боевой сервер и просмотру результата в браузере (хотя есть еще более клинические случаи типа Bitrix).
В "правильном" мире нет никакой необходимости сливать все логи в одну помойку — процесс налажен, статистика отдельно, технические логи отдельно, все отправляется, анализируется, считается, планируется, эксплуатируется. В мире "дикого" интернета данностью будет необслуживаемый сервер "по умолчанию", голая консоль и стандартные утилиты.
S> AB>Ну что же за мазохизм-то?! Если для решения задачи есть адекватный задаче инструмент, то надо пользоваться этим инструментом. S> Воот. А вы — отказываетесь
От использования адекватных задаче инструментов я никогда не отказывался (вот пример, где для решения задачи парсинг логов консольными утилитами я посчитал нецелесообразным). Увы, не моя вина, что решения типа splunk/kibana мне <пока> негде/незачем применять.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
С>Вин 3.11 работала на 4 МБ оперативки. И неплохо так работала, гуй рисовался.
С>Скажи уж честно (хотя ты и не разработчик), сделать нормальное GUI — трудоемко, и сравнимо с написанием основной программы. Вот оне, девелоперы опенсорца, и не хотят тратить время на гуй. Да и на чем его рисовать? GDI виндового у них нет, а кроссплатформенный фреймворк с закругленными кнопочками, градиентами и шрифтами 36pt — для слепых пингвинов, этот фреймворк жрет память как не в себя, да еще и падает.
Я даже находясь в отпуске, в Приэльбрусье, даже несмотря на то что интернеты тут пока ещё чуть лучше тыквы, все равно решил тебе ответить.
Жырно, друг мой. Очень жырно. Потренируйся в политике, потом можешь обратно сюда попробовать
Здравствуйте, Kernighan, Вы писали:
K>>Голословное утверждение. Ни мой отец, ни моя мать не смогли нормально работать за Убунтой, чего не скажешь о винде и осх, но, наверное, они не "простые пользователи", ага.
K>У тебя очень криворукие родственники. K>У меня и отец и мать работают с Kubuntu. K>76 и 78 лет, Карл!
"работают" — в смысле зарабатывают? или имелось в виду "включают видеотелефон комп, скайп автозапуске один клик для связи с ребенком". с последним сценарием у меня 90 летний дядька справляется.
Здравствуйте, 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 подсистем в пяти датацентрах на трех языках программирования" по вашим логам было адски сложно? Ну если это действительно так, то гордиться тут особо-то нечем — сегодня тебе удалось, завтра что-нибудь пойдет не так и добро пожаловать в мой мир консоли, развертывания из бэкапов, фигурное выпиливание и т.д.
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Здравствуйте, Anton Batenev, Вы писали:
AB>Возможно тогда твой опыт ограничивается большими организациями, с более-менее налаженным процессом, который обкладывают "градусниками" во все места — это хороший и правильный подход.
Нет, не ограничивается. AB>Однако в мире "дикого" интернета отладка приложений в 99.9% случаев сводится к заливке файла по FTP на боевой сервер и просмотру результата в браузере (хотя есть еще более клинические случаи типа Bitrix).
И тем не менее, даже в самом диком интернете машины времени нету, и невозможно метнуться в 2013, чтобы заботливо подложить файлик с расширенным логгированием.
AB>В "правильном" мире нет никакой необходимости сливать все логи в одну помойку — процесс налажен, статистика отдельно, технические логи отдельно, все отправляется, анализируется, считается, планируется, эксплуатируется.
Вы идеализируете "правильный" мир.
Он только снаружи выглядит хорошо. Внутри даже у самых секси-сервисов всё то же самое — бардак, недоделки, косяки и прочее.
AB>От использования адекватных задаче инструментов я никогда не отказывался (вот пример, где для решения задачи парсинг логов консольными утилитами я посчитал нецелесообразным). Увы, не моя вина, что решения типа splunk/kibana мне <пока> негде/незачем применять.
Ок.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sheridan, Вы писали:
S>Я даже находясь в отпуске, в Приэльбрусье, даже несмотря на то что интернеты тут пока ещё чуть лучше тыквы, все равно решил тебе ответить.
Любопытство разобрало. Зачем ты, уезжая в отпуск, вообще с собой интернеты взял? Их и на работе хватает.
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 как ты и просил.
Как всегда дьявол в деталях, а именно в '...'. Как ты выбираешь из логов нужные поля? Группируешь. И т.п.
AB>В соседнем сообщении показал как можно дешево считать процентили по временам ответа бэкенда. Еще что-то нужно сделать с процентилями?
Например, выбрать процентили отдельно по ресурсам. Найти и отобразить выпадающие outlier'ы. У нас одним запросом выводилась таблица, в которой показывалось все сразу: max, min, avg, median, 90-й персентиль, 95-й персентиль, 99-й персентиль — и все это было разбито по ресурсам (то есть запросы к /orders/1855680909/addresses/898908080 попадали в группу /orders/:id/addresses/:id) и т.п.
AB>Попытки взлома меня интересуют мало, т.к. это непрерывный процесс, чтобы из за него проявлять беспокойство. Все известные мне случаи проникновения — это человеческая халатность или ошибка разработки, которые я не контролирую.
Из того, что ты их не контролируешь как-то следует, что их не надо искать?
AB>Состояние сервера? Ну уж точно для этого есть различные специализированные инструменты.
Смотря какое состояние какого сервера Было у нас выпадение нескольких систем. LiveOps подняли все, а мы смотрим на графике наших запросов, что 99% запросов возвращает HTTP 419. Оказалось, что одна из систем после подъема несмотря на рапорт «все ура» была совсем не ура.
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" и получить выборку по всем логам сразу. После этого я могу резать эту информацию на запчасти так, как мне удобно и угодно, несмотря на то, что это — логи в нцати разных форматах от нцати разных подсистем с нцати разных физически разнесенных кластеров.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Kernighan, Вы писали:
K>>Зачем-то начал (именно ты начал) сравнивать текстовый редактор с консолью. Ops>Какой ты конкретный. Это был лишь первый попавшийся пример.
Здравствуйте, Sinclair, Вы писали:
S>Можно посмотреть на скриншот Invite Attendees, где аналогичный ассистант реально показывает расписание людей, а не "information unavailable", как на всём, что я вижу в гугле? S>Откуда thunderbird берёт эти данные?
Выше по дереву я дал ссылку на описание этой фичи с каким-то древним уродливым скриншотом. Если верить описанию, берет он ее оттуда же, откуда Аутглюк.
S>Нет. "Само" всё только ухудшается. Организовать может только организатор — причём неважно, кто он по званию. В нормальной команде для каждый может выступать организатором — по мере появления задач.
Если в команде каждый не только может стать организатором по мере чего-то там, но и реально становится, это и есть идеально самоорганизующаяся команда. А как еще вы себе представляете самоорганизацию?
CreatorCray:
Aё>> Редактор текстов для венды убожество блокнотик, для гнома- gedit с подстветкой синтаксиса и поддержкой кодировок. CC> Никто в здравом уме на винде в блокноте текст не редактирует.
Я редактировал, случалось.
Чего так напали на блокнот?
Без подсветки синтаксиса можно прожить.
Если хранить в UTF-8 то поддерживаются одновременно все алфавиты.
В текст экзотической кодировке не откроется, да и фиг с ним.
Здравствуйте, Privalov, Вы писали:
S>>Я даже находясь в отпуске, в Приэльбрусье, даже несмотря на то что интернеты тут пока ещё чуть лучше тыквы, все равно решил тебе ответить.
P>Любопытство разобрало. Зачем ты, уезжая в отпуск, вообще с собой интернеты взял? Их и на работе хватает.
Ну, я уже вернулся домой. Час назад гдето
По вечерам там практически нечего делать, если без кампании едешь, а в этот раз подвёл град у нас в Минводах: побило много машин и крыш, друзья-знакомые оказались заняты ремонтами. Вот поехали мы вдвоём с женой.
Днём то гуляем по окрестностям от долины нарзанов до поляны Азау. А вот после 21 часа становится уже скучновато. Можно конечно в кафе сидеть и пиво потреблять, но в интернетах читать разное оказалось для нас интереснее