Пингуем устройства. Как быть? Устройства Online.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Пингуем устройства. Как быть? Устройства Online.

Сообщение Kod.Begemot » Ср фев 03, 2016 11:48 am

Доброго времени суток!
У меня вопрос касаемо модуля "Устройства Online" - он работает, но очень уж медленно. При увеличении количества позиций время реакции растет пропорционально. Сейчас "переезжаю" потихоньку на новы сервер, и начал как раз с "Устройств Online". Когда было 1-2 позиции - реакция была около минуты. Сейчас 8 устройств опрашиваются, статус переключается примерно минуты 4-5. Интервал проверок у всех стандартный, 20 сек/20сек/3 попытки. Для моей системы такое время неприемлимо, так как на этих проверках будет завязана принудительная перезагрузка некоторых устройств по питанию Вся аппаратная часть для этого уже готова, методы и свойства написал, протестировал. Остаёт только информация о том - живо устройство или нет. Лучший выход как я думал - "устройства Online", хоть и статусы выдает несколько странные (2,1 вместо привычных 0,1), но зато удобно использовать. Но большое время реакции надёжности системе не прибавляет. Это сейчас ~4 минуты, а что будет когда устройств будет 2 десятка? Даже сейчас я узнаю об зависании устройства через 4 минуты, перезагружаю его, и вынужден ждать ещё как минимум 4 минуты - чтобы убедится что оно ожило, что не нужно применять более серьёзных методов, а то и, если устройство критически важное, отправлять СМС, емейлы и т.п. 8-10 минут теряю уже. Если речь об отоплении - то не страшно, а если устройство рулило светом?
Да, устройства надёжны и зависают крайне редко. Но мы же строим отказоустойчивую систему. Недавние проблемы с системой, которые я получил сам - из-за ошибок в моём коде порой "уваливались" МегаД устройства - так что даже перезагрузка не всегда помогала, нужна была перепрошивка с очисткой и восстановлением данных. Сейчас я готовлю скрипт и для этого, но нужны оперативные данные о состоянии.
Подскажите, возможно ускорение работы этого модуля, или нужно от него отказываться и делать что-то своё?
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Vovix » Ср фев 03, 2016 12:40 pm

Поскольку один из вариантов проверки устройств в Online это ping, то быстрее получится вряд-ли!
Кроме того некоторые устройства при работе входят в режимы экономии (питания, трафика) и не отвечают на внешний пинг (например iPhone), что не позволяет использовать этот модуль в критически важных по времени процессах!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Vovix » Ср фев 03, 2016 12:45 pm

Как вариант, что и применяется уже в системе: определять живучесть устройств путем записи временного штампа при изменении состояния и потом анализа последнего времени изменения. Хотя конечно этот вариант тоже не даст моментальных данных о здоровье устройства!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Kod.Begemot » Ср фев 03, 2016 1:27 pm

Насчет режима экономии - согласен, но у меняя в основном Мега-Д328, а они никогда не cпят :)
Vovix писал(а):Как вариант, что и применяется уже в системе: определять живучесть устройств путем записи временного штампа при изменении состояния и потом анализа последнего времени изменения.

Тут согласен, но получается несколько не универсально. Меги - да, можно мониторить изменение данных внутреннего термодатчика, но есть и другие устройства, таких функций не имеющие, да и вообще, есть чисто исполнительные - им нечего менять в статусах если нет переключений.
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение ErmolenkoM » Чт фев 04, 2016 10:03 am

Странно все это. У меня в этом модуле отображается 9 устройств. Реакция на изменение статуса до минуты.
Подозреваю, что у вас одно из устройств виновато, попробуйте методом исключения найти его.
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Vovix » Чт фев 04, 2016 10:45 am

ErmolenkoM писал(а):Странно все это. У меня в этом модуле отображается 9 устройств. Реакция на изменение статуса до минуты.
Подозреваю, что у вас одно из устройств виновато, попробуйте методом исключения найти его.
дак у меня тоже быстро - максимум 1 минута, при чем у меня там 18! устройств.
просто иногда для меня это долго!

а у автора темы конечно надо проверить!!!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Kod.Begemot » Чт фев 04, 2016 10:10 pm

тэкс.... Что ж это получается... у меня где-то косяк?
так чистая система, свежая установка МДМ... только вот адреса не напрямую прописаны, а %Name.Property%....
T-REX-XP
Сообщения: 174
Зарегистрирован: Вт июн 16, 2015 10:54 pm
Благодарил (а): 16 раз
Поблагодарили: 32 раза

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение T-REX-XP » Пт фев 05, 2016 12:40 pm

Я тоже начал активно имплементировать вместе с закупкой устройств умный дом.
Только вот механизм добавления устройств очень геморный и долгий.

Родилась идея сделать универсальный модуль для этих целей. Но пока реализация не начата((

Собственно, что предлагаю:

1. Модуль содержащий IP scanner устройств, с возможностью. ручного добавления нужного IP.
2. Класс отвечающий за устройство с IP. Максимально полная возможная функциональность:
опции проверки на пинг, роль девайса (терминал c определенными возможностями), подсказка основанная на мак адресе, какой плагин нужно загрузить из магазина приложений для взаимодействия с таким девайсом....

Например на телевизоры LG (точно есть в Webos) можно слать сообщения используя АПИ, или стримить музыку по ДЛНА. а для устройств (мега-д или ТВ или Broadlink), подсказку можно добавить с установкой плагина из маркета.

Так же нехватает возможности динамических шаблонов. Типа ты выставил расположение "гостинная", в девайсе, у которого есть температурный датчик, а потом говоришь, какая температура в гостинной, в свою очередь МЖД, проверит есть ли расположение Гостинная , и есть ли в нем девайсы с возможностью считать температуру, и выведет результат. Или при включени тв в гостинной с поддержкой сообщений, МЖД может вас спросить, дублировать ли вывод на телик.

Да, работы много, но это уже как мне кажется совсем другой ровень. Боле простой и понятный. и з коробки можно начинать работать без написания скриптов.

Та же, можно добавить интеграцию с соц сервисами и сетями. Плагин для контакта, музыка, например, или отслеживание чего то.
Нормальная интеграция с паш серверверами. С виду это может быть как у андроида , плагин в настройках которого можно добавлять аккаунты сервисов.

Интеграция с трекингом посылок тоже бы не помешала. например с Али или Ибей))


Как то так.
з.ы. что-то разыгралась моя фантазия))
з.ы.2 Сори за офтоп.
Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Kod.Begemot » Сб фев 06, 2016 12:39 am

ErmolenkoM писал(а):...
Подозреваю, что у вас одно из устройств виновато, попробуйте методом исключения найти его.
Ну так как одно устройство может влиять на всю группу?
Они ж не савязаны вроде....
Пингуюу "ручками" с сервера же - никаких проблем, везде <1 мс. Устройства - в основном меги.
Свитчи - "тупые", трафиком не рулят, Все в одной подсети. 10.0.0.0/24... Может подсеть ему не нравится, сделать моет стандартную 192.168? У вас как?
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Jager » Сб фев 06, 2016 10:05 am

Kod.Begemot писал(а):Ну так как одно устройство может влиять на всю группу?
Они ж не савязаны вроде....
Я как то прописал все устройства в онлайн (30+), через день начал падать цикл Ping.
Начал удалять по одному, в какой то момент падения прекратились. Вычислил что это за устройство, вернул ранее удаленные за исключением проблемного, неделю работало и вновь начало падать. В результате не пользуюсь online сейчас совсем, а хотелось бы.
Ответить