Dimosha Posted May 10, 2018 Share Posted May 10, 2018 Добрый день. Возник вопрос по поводу логов. Возможно ли каким-то образом забирать все логи в realtime с сервера (имею ввиду то, что пишется в консоли)? К примеру, в HLDS имеется такая штука, как "logaddress_add", есть ли что-то подобное в MTA? Link to comment
LoveFist Posted May 10, 2018 Share Posted May 10, 2018 А какая цель? Что хотите в итоге получить? Link to comment
Dimosha Posted May 10, 2018 Author Share Posted May 10, 2018 (edited) 5 minutes ago, LoveFist said: А какая цель? Что хотите в итоге получить? Обрабатывать логи с многих серверов в режиме реального времени. К примеру, те же оповещения на email/telegram при каких-то событиях на сервере. Отвалилась БД, скрипт не смог запуститься или ещё что. Возможно так же и в развлекательных целях, например, имеются системы автоматического проведения игр по CS (fastcup/overpro (не реклама)), они осуществляют свою деятельность именно таким способом. Придётся делать самопис, в случае отсутствия данной функции, но может есть какое-то решение "из коробки". Edited May 10, 2018 by Dimosha Link to comment
LoveFist Posted May 10, 2018 Share Posted May 10, 2018 Понял. Рекомендую не париться с логами, а напрямую обращаться к веб серверу и вызывать необходимые действия. Для этого можно использовать https://wiki.multitheftauto.com/wiki/FetchRemote Мне кажется logaddress_add это какое-то извращение. Да, если есть задача хранить огромное количество логов на удаленном сервере, чтобы не забивать жесткий диск боевого сервере, то да, это может быть не плохой выход. Но если нужно просто реагировать на события на сервере, то это сильно избыточно. Почему бы просто не дернуть нужный скрипт на веб сервере? Ведь это же гораздо проще чем держать отдельный сервер обработки логов (да еще и на Ruby), который 90% времени будет впустую греть процессор распарсивая чат логи 1 Link to comment
Dimosha Posted May 11, 2018 Author Share Posted May 11, 2018 Допустим. Каким тогда образом я могу ловить исключения и сразу о них стучаться? Плюс ко всему.. В случае добавления какого-то события, мне приходилось бы его добавлять только на сервер (веб, к примеру), а сам клиент, то есть, сервер МТА, оставлять без изменений. По факту, двойная работа Link to comment
LoveFist Posted May 11, 2018 Share Posted May 11, 2018 Если исключение можно отследить на уровне скрипта, то его также можно слать напрямую. Это ведь то же событие. На какие-то низкоуровневые segmentation fault'ы вроде народ не жалуется и сервер сам по себе стабильно работает. В любом случае если сервер упал, то он и в лог ничего не запишет. Для таких ситуаций нужно что-то внешнее. Или о каких исключениях идет речь? Про добавление новых событий. Если в лог пишется прям все все, то возможно на мта сервер и не нужно будет лезть. Просто эта работа уже была сделана ранее, когда добавлялся вывод в лог для этого события Мне кажется мы не о том спорим. Вы спросили конкретный вопрос, а я начинаю парить свое мнение. Сори Из коробки нет возможности писать в удаленное место логи. Нужно придумывать свое решение, чтобы это реализовать. 1 Link to comment
Dimosha Posted May 11, 2018 Author Share Posted May 11, 2018 36 minutes ago, LoveFist said: Если исключение можно отследить на уровне скрипта, то его также можно слать напрямую. Это ведь то же событие. По поводу этого не знал - перечитаю, спасибо 36 minutes ago, LoveFist said: Мне кажется мы не о том спорим. Вы спросили конкретный вопрос, а я начинаю парить свое мнение. Сори Наоборот, Вы объяснили, что такого решения, по факту, нет и предложили варианты решения проблемы, за что отдельное спасибо 37 minutes ago, LoveFist said: Из коробки нет возможности писать в удаленное место логи. Нужно придумывать свое решение, чтобы это реализовать. Благодарю ещё раз Link to comment
Other Languages Moderators Disinterpreter Posted May 12, 2018 Other Languages Moderators Share Posted May 12, 2018 On 10.05.2018 at 14:15, Dimosha said: Добрый день. Возник вопрос по поводу логов. Возможно ли каким-то образом забирать все логи в realtime с сервера (имею ввиду то, что пишется в консоли)? К примеру, в HLDS имеется такая штука, как "logaddress_add", есть ли что-то подобное в MTA? попробуй писать логи сразу в NFS 1 Link to comment
TEDERI Posted May 13, 2018 Share Posted May 13, 2018 (edited) Я бы решил эту задачу при помощи перехвата дебаг-сообщений через событие onDebugMessage. Затем отправлять HTTP реквесты на свой сервер, который будет анализировать эти сообщений. Таким образом решается и вопрос с отловом исключений. Если нужно ловить не только дебаг, но и сообщения из чата, то добавить обработчик событий onChatMessage. Edited May 13, 2018 by TEDERI Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now