NEWS
Контроль онлайн состояния устройств
-
Организовывал кто нибудь контроль актуальности данных?
Что бы отлавливать отвалившееся оборудование.
Интересно узнать кто как реализовал чтобы придти к оптимальному решению.
-
Пока сделал так:
Все устройства Ethernet'овские, настроил драйвер пинг.
В скрипте по крону проверяю переменные пинга и если кто то не пингуется отправляю на pushover сообщение, какой контроллер отвалился.
-
Почему по крону? Есть же по событию. Там меняется состояние с true на false. Если память не изменяет.
Единственное, что мы Bluefox'у писали, чтобы можно было как то все состояния получать типа списком что ли. А то получается, что я должен каждое устройство описывать, а логичнее было бы взять список устройств и проверить их состояния.
-
По крону код короче)
-
набросал, представляю общественности
!
var idSayIt = "sayit.0.tts.text"; // Проверяем наличие интернета on('ping.0.cubieboard2.213_180_204_3', function (obj) { if(obj.newState.val === 'true' || obj.newState.val === true){ setState (idSayIt, 'Соединение с интернетом восстановлено.'); }else{ setState (idSayIt, 'Пропало соединение с интернетом.'); } }); ! // Проверяем работу медиацентра (OpenELEC) on('ping.0.cubieboard2.192_168_0_105', function (obj) { if(obj.newState.val === 'true' || obj.newState.val === true){ setState (idSayIt, 'Соединение с медиацентром восстановлено.'); }else{ setState (idSayIt, 'Пропало соединение с медиацентром.'); } }); !
Подставить свои переменные в место: ping.0.cubieboard2.213_180_204_3 и ping.0.cubieboard2.192_168_0_105Если будете скриптом проверять наличие интернета, то для нормального функционирования нужно проделать следующее: я зашел во вкладку "Состояния" и ручками изменил значение переменной ping.0.cubieboard2.213_180_204_3 с true на false и обратно(изменение подтверждается enter'ом). Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает.
-
А кэш сколько хранится? Получается он как в базе накапливается и потом только сопоставляется? `
Кеш чего? -
Верхний скрипт больше не актуален, убрал под спойлер. Оставлю как пример, может что из него и пригодится.
На много универсальней:
//список var listStatePing = $('ping.0.cubieboard2.*'); //подписываемся на изменения списка listStatePing.on(function(obj) { var message; var sayItId = "sayit.0.tts.text"; //если старое значение было true, стало false и наоборот if(obj.oldState.val === "true" || obj.oldState.val === true){ //obj.name - имя устройства message = obj.name+'. Пропала связь!'; }else{ message = obj.name+'. Связь восстановлена!'; } setState(sayItId, message); log(message); });Условия те же.
Подставить свое значение в место <u>cubieboard2</u>.
Названия устройств в драйвере пинг я написал на русском (например: Шлюз, Роутер, Мега1, Медиацентр, Рабочий компьютер, Телефон, Сетевое хранилище и т.д.) и чтобы названия сочетались с фразой: Ваше устройство. Связь восстановлена!
P.S. Если кто придумает фразу по интересней, сообщите.
Сколько бы вы устройств в настройки драйвера пинг не добавляли, все они должны будут проговориться данным скриптом.
Если будете скриптом проверять наличие интернета, то для нормального функционирования нужно проделать следующее: я зашел во вкладку "Состояния" и ручками изменил значение переменной ping.0.cubieboard2.213_180_204_3 с true на false и обратно(изменение подтверждается enter'ом). Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает.
Скрипт протестирован, разным устройствам выдергивал сетевой кабель, все работает :)
-
А кэш сколько хранится? Получается он как в базе накапливается и потом только сопоставляется?
Кеш чего?
Кэш sayit, тех фраз которые он озвучивает. Вот эта фраза смущает.
@vtec:Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает. `
-
Если будете скриптом проверять наличие интернета, то для нормального функционирования нужно проделать следующее: я зашел во вкладку "Состояния" и ручками изменил значение переменной ping.0.cubieboard2.213_180_204_3 с true на false и обратно(изменение подтверждается enter'ом). Это нужно чтобы пока интернет есть создался кеш с голосом, а то когда интернета не будет, голос не отработает. `
А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. -
А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. `
Попробуй пинговать сразу несколько сайтов - гугл, яндекс, майл. Если хотя бы один не вернет пинг - это не значит что инета нет, если все три не пингуются - значитт что то не так…У меня скрипт именно так отрабатывает, только он для CCU.IO
-
А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. `
Попробуй пинговать сразу несколько сайтов - гугл, яндекс, майл. Если хотя бы один не вернет пинг - это не значит что инета нет, если все три не пингуются - значитт что то не так…У меня скрипт именно так отрабатывает, только он для CCU.IO `
У вас отдельный скрипт? Просто хотелось реализовать драйвером ping, т.к. для него уже скрипт написан и работает, с оповещением если что-то критичное отключится. А вот интернет "обманывает". -
У вас отдельный скрипт? Просто хотелось реализовать драйвером ping, т.к. для него уже скрипт написан и работает, с оповещением если что-то критичное отключится. А вот интернет "обманывает". `
Да, у меня отдельный скрипт, который мониторит состояние всего оборудования умного дома - включая сервер, контроллеры, инет, состояние роутера (микротик) и прочее. Если что - ругается через sayit, отправляет смс и пишет в отдельный лог. -
Кэш sayit, тех фраз которые он озвучивает. Вот эта фраза смущает. `
Кеш хранится сколько угодно, все фразы если они статичны берутся из кеша. Только первый раз фраза генерится через инет и складывается в кеш.
1518_unbenannt.png -
А у вас интернет нормально отрабатывает, ложных срабатываний нет? А то у меня интернет с непостоянной, но периодичностью то пропадал, то появляется, если верить сообщению, а на самом деле все ровно, сижу в это же время на большом брате и потоковое вещание с интернета работает. `
У меня нормально, по сто раз не срабатывает, пингую ip адрес ya.ruПри проигрывании потока, плеер может кешировать, поэтому и не заметно.
-
У вас отдельный скрипт? Просто хотелось реализовать драйвером ping, т.к. для него уже скрипт написан и работает, с оповещением если что-то критичное отключится. А вот интернет "обманывает".
Да, у меня отдельный скрипт, который мониторит состояние всего оборудования умного дома - включая сервер, контроллеры, инет, состояние роутера (микротик) и прочее. Если что - ругается через sayit, отправляет смс и пишет в отдельный лог.
В данном скрипте не составит труда дописать отдельный лог, и др. оповещания :)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden