Re: Пингуем устройства. Как быть? Устройства Online.
Добавлено: Вт июл 23, 2019 10:26 pm
вообще то есть где то в связи с устройствами проблеммы...кмк...
Обсуждение проекта
https://www.mjdm.ru/forum/
вообще то есть где то в связи с устройствами проблеммы...кмк...
Не понял, что вы имеет ввиду, но вот на всякий случай замер ping():tarasfrompir писал(а): Вт июл 23, 2019 10:26 pmвообще то есть где то в связи с устройствами проблеммы...кмк...![]()
![]()
![]()
Код: Выделить всё
Старт - 2019-07-23T22:29:56+03:00
Конец - 2019-07-23T22:30:01+03:001. еще и Вас спрошу Линукс ?SmoKE_xDDD писал(а): Вт июл 23, 2019 10:30 pm Не понял, что вы имеет ввиду, но вот на всякий случай замер ping():5 секунд на 1 пинг. 70 устройств = 6 минут. Учитываем тормоза разных систем и получаем примерно 10-15 минут.Код: Выделить всё
Старт - 2019-07-23T22:29:56+03:00 Конец - 2019-07-23T22:30:01+03:00
При чем тут это, если в ядре MJDM задано время пинга и количество пакетов?tarasfrompir писал(а): Вт июл 23, 2019 10:35 pm1. еще и Вас спрошу Линукс ?SmoKE_xDDD писал(а): Вт июл 23, 2019 10:30 pm Не понял, что вы имеет ввиду, но вот на всякий случай замер ping():5 секунд на 1 пинг. 70 устройств = 6 минут. Учитываем тормоза разных систем и получаем примерно 10-15 минут.Код: Выделить всё
Старт - 2019-07-23T22:29:56+03:00 Конец - 2019-07-23T22:30:01+03:00
2. это устройство офлайн?
3. И если 2 верно то какой пинг устройства онлайн?
4. И если 2 не верно - то прблемма с линком к устройству....кмк....
![]()
![]()
Код: Выделить всё
/**
* Ping host
* @param mixed $host Host address
* @return bool
*/
function ping($host)
{
if (IsWindowsOS())
exec(sprintf('ping -n 1 %s', escapeshellarg($host)), $res, $rval);
elseif (substr(php_uname(), 0, 7) === "FreeBSD")
exec(sprintf('ping -c 1 -t 5 %s', escapeshellarg($host)), $res, $rval);
else
exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval);
return $rval === 0 && preg_match('/ttl/is', join('', $res));
}притом что данная функция на лине ожидает первого ответа от устройства, ИЛИ отправляет запросы не более 5 секунд... ( для винды 1 секунда) я прав? (это относится к первому вопросу)SmoKE_xDDD писал(а): Вт июл 23, 2019 10:42 pm При чем тут это, если в ядре MJDM задано время пинга и количество пакетов?Код: Выделить всё
/** * Ping host * @param mixed $host Host address * @return bool */ function ping($host) { if (IsWindowsOS()) exec(sprintf('ping -n 1 %s', escapeshellarg($host)), $res, $rval); elseif (substr(php_uname(), 0, 7) === "FreeBSD") exec(sprintf('ping -c 1 -t 5 %s', escapeshellarg($host)), $res, $rval); else exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval); return $rval === 0 && preg_match('/ttl/is', join('', $res)); }
В сети не сильно силен, спорить не будуtarasfrompir писал(а): Вт июл 23, 2019 10:47 pm притом что данная функция на лине ожидает первого ответа от устройства, ИЛИ отправляет запросы не более 5 секунд... ( для винды 1 секунда) я прав? (это относится к первому вопросу)
ко второму вопросу - ответ исходит из п.1 если ответ получен то все , еесли же нет то пингуем 5 секунд.
ну и сответственно мое кмк - если пинг большой то или устройство офлайн или же проблемы со связью
читай в предыдущем моем посте ПС - потом дописывал
Код: Выделить всё
Пингуем ОНЛАЙН устройство:
Старт - 2019-07-23T22:49:53+03:00
Конец - 2019-07-23T22:49:53+03:00
Пингуем ОФФЛАЙН устройство:
Старт - 2019-07-23T22:49:53+03:00
Конец - 2019-07-23T22:49:58+03:00А потому что автор или схитрил с вопросом по незнанию или еще чегото не так сделал, но (взяв в руки большой светящийся шар для предсказаний) сделаю одно простое предположение, что он пингует 70 устройств НО не 1 раз как положено для номрального устройства а может раз 10 для ВЕРНЯКА... Автор то думает так что чем больше раз пингону устройство тем лучше для ОТКЛЮЧЕННОГО устройстваSmoKE_xDDD писал(а): Вт июл 23, 2019 10:51 pm В сети не сильно силен, спорить не будуНо вы правы
Сервак на nix
Результат:Тогда, касаемо вопроса выше, почему у автора вопроса 70 устройств пингуется 20 минут? ))) Все устройства выключены?Код: Выделить всё
Пингуем ОНЛАЙН устройство: Старт - 2019-07-23T22:49:53+03:00 Конец - 2019-07-23T22:49:53+03:00 Пингуем ОФФЛАЙН устройство: Старт - 2019-07-23T22:49:53+03:00 Конец - 2019-07-23T22:49:58+03:00
Ну вот, все испортил...workpage писал(а): Пт июл 26, 2019 7:07 pm Вобщем написал такой вот сценарий. У каждого устройства, которое будем проверять, надо добавить 2 дополнительных свойства. Ping и ip. В ping скрипт будет вписывать 1 или 0 в случае изменения, в ip надо записать ip адрес. С свойству Ping привязывем новый метод и он уже делает оповещения.
Время выполнения данного сценария, если все устройства online - менее 10 секунд!!! (76 ip адресов)
Воткнул запуск сценария в OnNewMinite
runScript('Ping');