Помогите Отследить когда сервер выключается

  • Автор темы Автор темы reZero
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

reZero

Активный участник
Пользователь
Баллы
76
Всем привет

Возникла необходимость детектинге падения или долгого зависания сервера

В идеале я хочу отправлять в тг оповещения о том, что сервер упал или намертво завис

Не знаю как отследить эти два момента. Можно даже отдельным java приложением, главное отследить эти два момента

P.S. onDisable метод не канает, так как высока вероятность "ложного" срабатывания оповещения, когда плагин просто будет рестартится через плагман
 
Переменная не будет false, если сервер был готов
Чет я тоже не пойму что ты хочешь этим сказать...
Мое предложение таково. Сделать отдельный плагин и не трогать его плугманом чтобы не плодить ложных срабатываний. Ну и отслеживать в onDisable.
Если ты хочешь чтобы и при полном краше сервера(как при простом закрытии консоли) когда метод onDisable не сработает тоже было уведомление. То можно сделать отдельное приложение которое будет подключается к процессу сервера и чекать его. В jdk есть такая тема как jconsole она вроде работает по этому принципу Так что можно загуглить как реализована работа с процессами в ней и сделать также.
 
Чет я тоже не пойму что ты хочешь этим сказать...
Мое предложение таково. Сделать отдельный плагин и не трогать его плугманом чтобы не плодить ложных срабатываний. Ну и отслеживать в onDisable.
Если ты хочешь чтобы и при полном краше сервера(как при простом закрытии консоли) когда метод onDisable не сработает тоже было уведомление. То можно сделать отдельное приложение которое будет подключается к процессу сервера и чекать его. В jdk есть такая тема как jconsole она вроде работает по этому принципу Так что можно загуглить как реализована работа с процессами в ней и сделать также.
Дополню:
Если на java все-таки с процессами реализовать не получится то всегда есть c++ там это реализовать 100% можно. Просто гугли отслеживание процессов c++
 
можно сделать отдельное приложение которое будет подключается к процессу сервера и чекать его. В jdk есть такая тема как jconsole она вроде работает по этому принципу Так что можно загуглить как реализована работа с процессами в ней и сделать также.
Пока не получается найти в гугле ответа, как подключиться к процессу через джаву. Видимо я как-то не так формирую запрос
 
Пока не получается найти в гугле ответа, как подключиться к процессу через джаву. Видимо я как-то не так формирую запрос
Либо так просто нельзя. Я только предположил что можно.
 
Кстати пришла еще 1 хорошая идея. Сделать какую-то прогу которая будет просто пинговать сервер через обычный java Socket и если коннект был не удачный то серв выключен.
 
Кстати пришла еще 1 хорошая идея. Сделать какую-то прогу которая будет просто пинговать сервер через обычный java Socket и если коннект был не удачный то серв выключен.
Если сервер зависнет намертво, но при этом не выключится - такой способ не сработает
 
Если сервер зависнет намертво, но при этом не выключится - такой способ не сработает
Но зато у тебя будет еще и лог о том что серв намертво завис. В этом случае тоже нужно что-то делать ведь
 
Я о том же что при установке пары рантаймов и тд все будет работать Но если челл сказал что нельзя значит нельзя((
Да ващеееее
Хотя че еще он может сделать, кроме как в 20 раз настрать себе в штаны :D
 
Но зато у тебя будет еще и лог о том что серв намертво завис. В этом случае тоже нужно что-то делать ведь
Немного не понял тебя
Если сервер намертво зависнет, он на пинги тоже отвечать не будет?
 
Немного не понял тебя
Если сервер намертво зависнет, он на пинги тоже отвечать не будет?
Если он завис на секунд так 10-20 то при подключении на обрабативыющий порт серва при его долгом не отвечании Socket может подумать что порт никто не обрабатывает и выбросит ту же ошибку когда его реально никто не обрабатывает. Ну или же если залаг был не долгий то сокет все же законектится что означает что серв не лег
 
Если он завис на секунд так 10-20 то при подключении на обрабативыющий порт серва при его долгом не отвечании Socket может подумать что порт никто не обрабатывает и выбросит ту же ошибку когда его реально никто не обрабатывает. Ну или же если залаг был не долгий то сокет все же законектится что означает что серв не лег
Но я бы все-таки сделал на c++ ибо лучше не пинговать сервер за зря
 
Всем спасибо, остановлюсь пока на пингах через сокеты...
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх