вообще то есть где то в связи с устройствами проблеммы...кмк...
Пингуем устройства. Как быть? Устройства Online.
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Пингуем устройства. Как быть? Устройства Online.
Спасибо нам ПОМОЖЕТ..!
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
Re: Пингуем устройства. Как быть? Устройства Online.
Не понял, что вы имеет ввиду, но вот на всякий случай замер ping():tarasfrompir писал(а): Вт июл 23, 2019 10:26 pmвообще то есть где то в связи с устройствами проблеммы...кмк...![]()
![]()
![]()
Код: Выделить всё
Старт - 2019-07-23T22:29:56+03:00
Конец - 2019-07-23T22:30:01+03:00- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Пингуем устройства. Как быть? Устройства Online.
1. еще и Вас спрошу Линукс ?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 не верно - то прблемма с линком к устройству....
ПС Поверьте ускорить процедуру пинга можна и пофиг сколько устройств я думаю что реальная цифра 50 устройств за 5 сек на слабой системе.
Аналогичные исследования проводил - тестеры даже не жаловались на задержки и даже не знают что система пингует устройства при каждом запросе... Так что если интересно то милости прошу с вопросами...
Последний раз редактировалось tarasfrompir Вт июл 23, 2019 10:43 pm, всего редактировалось 1 раз.
Спасибо нам ПОМОЖЕТ..!
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
Re: Пингуем устройства. Как быть? Устройства Online.
При чем тут это, если в ядре 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));
}- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Пингуем устройства. Как быть? Устройства Online.
притом что данная функция на лине ожидает первого ответа от устройства, ИЛИ отправляет запросы не более 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)); }
ко второму вопросу - ответ исходит из п.1 если ответ получен то все , еесли же нет то пингуем 5 секунд.
ну и сответственно мое кмк - если пинг большой то или устройство офлайн или же проблемы со связью
читай в предыдущем моем посте ПС - потом дописывал
Спасибо нам ПОМОЖЕТ..!
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
Re: Пингуем устройства. Как быть? Устройства Online.
В сети не сильно силен, спорить не будуtarasfrompir писал(а): Вт июл 23, 2019 10:47 pm притом что данная функция на лине ожидает первого ответа от устройства, ИЛИ отправляет запросы не более 5 секунд... ( для винды 1 секунда) я прав? (это относится к первому вопросу)
ко второму вопросу - ответ исходит из п.1 если ответ получен то все , еесли же нет то пингуем 5 секунд.
ну и сответственно мое кмк - если пинг большой то или устройство офлайн или же проблемы со связью
читай в предыдущем моем посте ПС - потом дописывал
Сервак на nix
Результат:
Код: Выделить всё
Пингуем ОНЛАЙН устройство:
Старт - 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- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Пингуем устройства. Как быть? Устройства Online.
А потому что автор или схитрил с вопросом по незнанию или еще чегото не так сделал, но (взяв в руки большой светящийся шар для предсказаний) сделаю одно простое предположение, что он пингует 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
ПС
Я не говорю что функция пинга нормально написана и я сам поднимал этот вопрос перед разработчиком, и даже предлагал варианты ее изменения, но пока что видать Сергею не до этого....
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Пингуем устройства. Как быть? Устройства Online.
ждемс инфы от автора предыдущих постов - о 70 устройствах
Спасибо нам ПОМОЖЕТ..!
Re: Пингуем устройства. Как быть? Устройства Online.
Вобщем написал такой вот сценарий. У каждого устройства, которое будем проверять, надо добавить 2 дополнительных свойства. Ping и ip. В ping скрипт будет вписывать 1 или 0 в случае изменения, в ip надо записать ip адрес. К свойству Ping привязывем новый метод и он уже делает оповещения.
Скрипт:
$name=('ТелевизорВПодвале');
$ip=getGlobal($name.'.'.'ip');
$online1 = ping($ip);
if ($online1==1)
{
if (!getGlobal($name.'.'.'Ping')) {setGlobal($name.'.'.'Ping', '1'); }
}
else
{
if (getGlobal($name.'.'.'Ping')) {setGlobal($name.'.'.'Ping', '0'); }
}
#########################################################
Повторить далее по количеству проверяемых устройств.
Метод:
$status=$this->getProperty("Ping");
if ($status)
{
say('Связь с выключателем в гардеробе 1этажа восстановлена', 1);
}
else
{
say('Потеряна связь с выключателем в гардеробе на 1 этаже', 1);
}
Время выполнения данного сценария, если все устройства online - менее 10 секунд!!! (76 ip адресов)
Воткнул запуск сценария в OnNewMinite
runScript('Ping');
Скрипт:
$name=('ТелевизорВПодвале');
$ip=getGlobal($name.'.'.'ip');
$online1 = ping($ip);
if ($online1==1)
{
if (!getGlobal($name.'.'.'Ping')) {setGlobal($name.'.'.'Ping', '1'); }
}
else
{
if (getGlobal($name.'.'.'Ping')) {setGlobal($name.'.'.'Ping', '0'); }
}
#########################################################
Повторить далее по количеству проверяемых устройств.
Метод:
$status=$this->getProperty("Ping");
if ($status)
{
say('Связь с выключателем в гардеробе 1этажа восстановлена', 1);
}
else
{
say('Потеряна связь с выключателем в гардеробе на 1 этаже', 1);
}
Время выполнения данного сценария, если все устройства online - менее 10 секунд!!! (76 ip адресов)
Воткнул запуск сценария в OnNewMinite
runScript('Ping');
Последний раз редактировалось workpage Пт июл 26, 2019 7:19 pm, всего редактировалось 1 раз.
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Пингуем устройства. Как быть? Устройства Online.
Ну вот, все испортил...workpage писал(а): Пт июл 26, 2019 7:07 pm Вобщем написал такой вот сценарий. У каждого устройства, которое будем проверять, надо добавить 2 дополнительных свойства. Ping и ip. В ping скрипт будет вписывать 1 или 0 в случае изменения, в ip надо записать ip адрес. С свойству Ping привязывем новый метод и он уже делает оповещения.
Время выполнения данного сценария, если все устройства online - менее 10 секунд!!! (76 ip адресов)
Воткнул запуск сценария в OnNewMinite
runScript('Ping');
Во первых - зачем делать все тоже что делает модуль, пингонлайн...
во вторых зачем грузить систему дополнительными данными ? ну хз не знаю...
в третих молодец что сделал...
ну и вроде все мысли кончились
Спасибо нам ПОМОЖЕТ..!