VisPinger - или ESP8266 на службу сисадмину!


Памагите АдминУ
Патамучто по утру
В подопечном емУ ЛАНе
Проворонил он дырУ!

Некоторое время назад я выложил на суд общественности проект WebLight.
После вялого обсуждения проекта на связь вышел камрад qawsed55 и предложил следующую вешь:

«Бегающие огоньки — эт, конечно, здорово. Но толку от них с сорочий @#$.
Почему бы на платформе WebLights не сделать что-то более полезное и приземленное — например визуализацию состояния LAN?»

В самом деле — почему бы и нет?


Как должно быть многим известно, одна из основных обязанностей сисадмина (кроме борьбы с пользователями) заключается в непрерывном разглядывании экрана на котором отображена карта сети в ожидании какого либо события. Дело это важное — но скучное.
К сожалению, очень немногие руководители заботятся о физическом и ментальном здоровье своих сисадминов и обеспечивают их необходимой техникой — например 40''+ мониторами. А если даже такие и находятся, все равно они на отрез не берут в расчет психофизиологические особенности мозга человека (особенно мужского). Ведь любому нормальному человеку ясно, что постоянно мониторить редко меняющуюся картинку очень тяжело и эта техника с гораздо большей пользой может быть использована для запуска Fallout, Skyrim или чего-то подобного.

Впрочем, довольно бесполезного нытья.
Лучше постараемся (по мере возможности) облегчить нелегкий труд сисадминов.

За основу возьмем проект WebLight и переименуем его в VisPinger — полдела сделано!



Осталось его слегка модифицировать:
добавим модуль воспроизведения MP3.
Постоянно пялиться на огоньки (даже красивые) — тяжело. А так можно будет подключить произвольные звуковые файлы, которые будут проигрываться при наступлении каких-либо событий.
добавим модуль внешних реле.
При желании можно ими управлять из контроллера и что-то включать\выключать.
Например, повесить ресет какого-либо оборудования.

Совместно с камрадом qawsed55, на основе его опыта и потребностей, была разработана структура конфигурационного файла для устройства.

Идея заключается в том, чтобы периодически опрашивать пингами заданные узлы сети и в зависимости от длительности пингов или исчезновения ответов на пинги формировать визуальное отображение на цепочке LED WS2812. При наступлении критических событий воспроизводить звуковые файлы.
Ну и в случае совсем ахтунгового ахтунга — щелкать реле и посылать сигнал во внешний мир.



В результате получился специалицированный контроллер для мониторинга состояния сети и отображения состояния узлов на LED WS2812.
Можно взять плотный картон, наделать в нем дырок, вставить в них светодиоды, подписать отдельные светодиоды или их группы, по мере художественных способностей и потребностей — нарисовать связи. Далее написать конфигурационный файл для типичных событий в сети, загрузить его через WEB интерфейс в контроллер — и в результате получим большую перемигивающуюся интерактивную карту cостояния сети.

Коты схему сети не оценили — огонечки плохо бегают.



Как обычно, схемы, описание и исходники выложены на github.
Планирую купить +38 Добавить в избранное +42 +90
+
avatar
  • Ohus
  • 20 мая 2017, 08:54
+4
Что за порода рыси-то или львенка?
+
avatar
  • DenW
  • 20 мая 2017, 08:56
+6
Ориенталы
+
avatar
  • Z2K
  • 20 мая 2017, 13:36
0
Мне больше сфинкса напоминает. Но все равно какой-то слабоупитанный. Вы его мыши научите ловить, а не светодиоды. :)
+
avatar
+1
спасибо, вы задали самый главный вопрос!)
+
avatar
+4
Круто! А некоторые на работу даже не ходят, мониторят с помощью The dudu от Microtik и 5" телефона.
+
avatar
  • VladM
  • 20 мая 2017, 09:08
0
Что-то мне кажется, что данный опус не подходит для этого сайта даже по разделу DIY…
+
avatar
  • kvolk
  • 20 мая 2017, 09:16
+2
А если пиги идут а сервисы/службы/демоны упали?
Разве что в помощь сисадминам провайдеров, мониторить коммутаторы и их доступность.
+
avatar
  • DenW
  • 20 мая 2017, 09:28
+1
Ну этот проект — скорее ближе к игрушке.
Зато его проще начальству объяснить — вот зеленый светодиод.
Выключаем что — то — становится красный.
Провода там всякие необычные…

А для полноценной системы мониторинга надо обосновывать необходимость 50' экрана — про что я и плакал ;)
+
avatar
  • DainB
  • 20 мая 2017, 09:35
+1
Бегите оттуда, далеко и быстро.
+
avatar
  • Z2K
  • 20 мая 2017, 13:37
+1
И куда? В США?
+
avatar
  • CKYHC
  • 20 мая 2017, 10:31
-2
простите, шёл мимо, увидел 50-ти минутный экран — решил поинтересоваться что это такое?
необходимость 50' экрана
P.S. Не надо никуда бежать — нужно брать денег за разработку таких полезных фич.
мало того — можно и нужно продать в корпусе только к каждому компу в организации. да ещё баксов по 100.
Судя по руководству оно поведётся.
+
avatar
0
ожидал совета 50-футовый экран мониторить не выходя из дома)
+
avatar
  • DainB
  • 20 мая 2017, 09:34
+1
Нр поверите, но инструменты типа SolarWinds прекрасно с этим справляютя, даже без 50 дюймовых мониторов.
+
avatar
  • DenW
  • 20 мая 2017, 09:59
+3
Да я и не спорю.
И прекрасно себе это представляю.

А эта конструкция — больше для развлечения.
Когда хочется что-то сделать руками.
А если еще и на работе прикрутить и хоть как-то использовать можно будет — совсем хорошо.
Сослуживцы в мелкодисперсный осадок выпадут — кто понимает. :)

Службе охраны поставить как дублирующую систему — чтобы не спрашивали «А чего это камера не показывает?».
Связи нет — вот и не показывает.
+
avatar
  • DainB
  • 20 мая 2017, 11:12
0
Ну а если делать это в рабочее время то вообще профит. Просто помните что весь софт написанный вами за который даже косвенно в виде заоплаты заплатил ваш работодатель вам не принадлежит.
+
avatar
+2
Вы не из Hooli?
+
avatar
  • DainB
  • 21 мая 2017, 04:48
0
Нет. Что совершенно ничего не меняет.
+
avatar
+4
А если я в танки играю на рабочем месте — все танки принадлежат работодателю?
+
avatar
  • Z2K
  • 20 мая 2017, 13:40
+1
Не, а. На мелких экранах мелко получается. Чем больше экран тем солидней картинка.
+
avatar
  • dimats
  • 20 мая 2017, 09:38
0
А есть вариант добавить кабельное подключение к сети? я про обычное 10/100 LAN подключение.
PS: Не имею опыта работы с ESP8266, все както с OpenWRT + мелкие роутеры вроде NEXXа + USB с него
+
avatar
0
можно сделать на ардуине, правда там сетевой контроллер слабоват и процессор
приходится покупать отдельный модуль с нормальным контроллером и внезапно цена становится как за мощный одноплатник на а20 или что там сейчас продают по 10 баксов
+
avatar
+22
Эм… Автор перепутал муську с хабром?
За обзор спасибо. Прочитал полностью. Два раза. Но не понял от слова совсем.
И не увидел ничего, тоже от слова совсем.
Вы хоть покажите чего реализовали в деле. Где фото огоньков? платы? Где фото ахтунгов?
Ну правда, это из разряда «у меня для вас есть письмо, но я вам его не отдам, потому что у вас...»
И да, хоть я к котейкам равнодушен, ваш прикольный. Караоке поёт?
+
avatar
+6
На хабре видимо сложнее с плюсами. Да и этот пост курам насмех
+
avatar
+3
Автор перепутал муську с хабром?
Когда-то ардуинщина тоже была уделом избранных…
Но — согласен, картинок следует добавить)

На хабре видимо сложнее с плюсами.
уже давно там стало сильно сложнее с качеством контента…
+
avatar
  • Z2K
  • 20 мая 2017, 13:42
+1
И не увидел ничего, тоже от слова совсем
на кота посмотрите. Кот же, кот — вот он!
И да, хоть я к котейкам равнодушен, ваш прикольный. Караоке поёт?
— Сорри, не дочитал до конца вашего коммента, свой написал. Кота вы заметили.
+
avatar
  • Qyix7z
  • 21 мая 2017, 07:36
0
Перефразизуя про девушку и деревню:
Можно вывезти обзор с хабра, но хабр из людей никогда. Тред ниже это доказывает :)
+
avatar
+3
За умелые руки плюс.
Однако, прозаический Friendly Pinger 12 лет — полет нормальный.
+
avatar
  • DenW
  • 20 мая 2017, 10:01
0
Конечно!
И функционал у FP гораздо больше.
Это просто решение той же задачи другими средствами c необычным средством вывода…
+
avatar
  • mitiok
  • 20 мая 2017, 11:10
+2
Обычно ставят Nagios или Zabbix.
+
avatar
0
Отличная тулза, плохо, что не развивается.
+
avatar
+2
заключается в непрерывном разглядывании экрана на котором отображена карта сети в ожидании какого либо события
— вот уж чушь! У админа есть мониторинг, который репортит на какой-нибудь викторопс или пейджердьюти. А пялятся в карту сети разве что пионэры. ;)
+
avatar
+2
Ну этот проект — скорее ближе к игрушке.
Зато его проще начальству объяснить — вот зеленый светодиод.
Выключаем что — то — становится красный.
читайте между строк: автору надо чем-то занять стада бездельников, чтобы иметь возможность заниматься делом)
+
avatar
0
Ну разве что ;)
+
avatar
0
за сырцы на гитхабе и за кресты «с++» — плюс, за русские комментарии в конфиге и формат ini — минус
+
avatar
+1
xml предпочитаете? Или чем ini не угодил?
+
avatar
  • VJean
  • 20 мая 2017, 16:40
0
Посмотрите на конфиг. JSON так и напрашивается.
+
avatar
0
да ладно, и как вы предлагаете писать эту тонну комментариев в json?
+
avatar
  • VJean
  • 20 мая 2017, 22:01
0
А как вы собираетесь обрабатывать этот конфиг ini? Попробуйте прочесть этот файлик большинством валидаторов/парсеров. В конфиге одинаковые имена секций и параметров, глюки парсинга и потеря данных — обеспечены.

JSON, хотя бы так: pastebin.com/Xyc2s56k
+
avatar
+1
да я ini всю жизнь читаю самопальными функциями. Вообще не вижу проблемы.

«глюки парсинга и потеря данных» может быть обеспечена любым форматом конфигурации, если редактировать его вручную. json не спасет.

Кстати, в Вашем json я не увидел комментариев. При редактировании конфига наугад шанс что-нибудь потерять или поломать многократно возрастает.

json хорош, когда файл не надо редактировать пользователям. Он легковесный, в него непринужденно сериализуется и из него потом десериализуется почти любой объект. Но когда надо редактировать вручную, лучше ini ничего нет.
+
avatar
  • VJean
  • 21 мая 2017, 21:51
+1
Конфиг должен быть самодокументированным. Если приходится прописывать комментарии, то формат конфига явно неподходящий.
Если я открываю ini файлик, то ожидаю, что он написан в соответствии с принятыми соглашениями: Комментарии (; #); Обратный слэш (\n); Одинаковые параметры; Одинаковые имена секций.
Этот же конфиг — ад и вакханалия: несколько Addr в секции, но при этом значения параметров Lvl, Fail, Seq и прочих, разделены запятой. несколько секций [IP].
После чтения этого конфига уже интуитивно ожидаешь ада и содомии в исходном коде.
+
avatar
0
> Конфиг должен быть самодокументированным

ууу да ладно. Ваш json – самодокументированный?

Код тоже должен быть самодокументированным, так что, теперь и комментарии запретить?

> Если приходится прописывать комментарии, то формат конфига явно неподходящий.

Из этого утверждения следует «неподходящность» форматов 99% *nix'овых конфигов.

Сильно сомневаюсь, что можно легко привести пару примеров более-менее популярного софта с конфигурациями, которые предполагается редактировать вручную, но без комментариев.

> в соответствии с принятыми соглашениями

только если тот, кто писал, принял их.

В педивикии ссылка только на некий Cloanto Implementation of INI File Format. Кто вообще такие Cloanto?

Если уж на то пошло, то законодателем «мод» в сфере ini является Microsoft, но даже у них есть многочисленные расхождения в реализациях (например, reg – тоже вариант ini).

И что плохого в нескольких [Addr]? Просто считайте их массивом, делов-то (собственно, в json Вы так и поступили).

Вообщем что я хочу сказать: данный конкретный конфиг кривоват, код, может быть, тоже, но смена формата конфига без рефакторинга и оптимизации по целям не уберёт ни одну из этих проблем, зато добавит новые.

P.S. Если уж и ожидать ад и содомию, то не после конфига, а после надписи «Copyright ©» в самопальном .cpp на гитхабе.
+
avatar
0
ini формат крайне примитивен, xml — явный оверхед, плохо читаемый и редактируемый ручками, json имеет те же недостатки, я предлагаю yaml, это имхо оптимальный формат.

Другой вариант — формат, котоый используется в BIND
+
avatar
0
yaml слишком сложен blogs.perl.org/users/steven_haryanto/2011/09/yaml-vs-ini-again-and-the-plan-for-yet-another-ini-module.html

В конфиге bind (и exim, и squid) не вижу ничего плохого. Кроме того, что новому пользователю ini будет знаком почти наверняка, а вот с остальными форматами придется разбираться.

Что плохого в ini?
+
avatar
  • mitiok
  • 20 мая 2017, 11:05
+3
Слишком много дефисов. Дефисы вместо запятых, дефисы вместо точек, дефисы просто так. Зачем?
+
avatar
  • UWU
  • 20 мая 2017, 11:25
0
А что это за детали, которые на схематической схеме справа от чипа и над блоком питания?
Светодиоды, кнопка и ещё какая-то неведомая фигня. Зачем они?
+
avatar
0
приемник ик для пульта ду
+
avatar
  • sav13
  • 20 мая 2017, 11:30
+9
Nagios, Zabbix?
Нет не слышал.
Вазуализировать нужно нагрузку сети, работу сервисов, нагрузку и температуру серверов.
А тратить столько сил на визуализацию пингов…
К тому же исходя из надежности ESP -она упадет первой в сети )))
+
avatar
+1
Вазуализировать нужно нагрузку сети, работу сервисов, нагрузку и температуру серверов.
зато по голым пингам настоящий специалист УЗИ) предскажет вам шторм (пригодилось бы вчера мегафону?:)
+
avatar
0
В десятку!)))
+
avatar
  • sir0ta
  • 20 мая 2017, 14:08
0
Не пригодились. У них тем более в москве сети перекрытые. и в случае падения одного узнал нагрузка падала бы на другие. Плюс сам по себе билинг у них распределенный и с большим запазданием. По этому у них так легко улетать в минуса. Такая штука им бы не помогла. У них что-то куда более критичней случислось.
+
avatar
  • sir0ta
  • 20 мая 2017, 14:08
0
Я поставил сервер, начал крутить конфиги, дня 2 убил, дельного ни чего не настроил ) Видимо не сильно хотелось ))) А заняться надо )
+
avatar
0
И таки да, Zabbix это все умеет и ещё кучу всего полезного. А если ещё к Zabbix прикрутить Grafana так вообще красота неописуемая!
+
avatar
0
Зачем ему Grafana если графики он и сам рисует?
+
avatar
0
Рисует. Но скажем так не совсем френдли это выглядит. Grafana это делает гораздо информативный и разнообразней. Связка Zabbix+ Grafana даёт мощный и инструмент мониторинга
+
avatar
0
> Связка Zabbix+ Grafana даёт мощный и инструмент мониторинга

Это не совсем так. Мониторинг дает заббикс и заббикс действительно лучшее средство мониторинга. А графана дает лишь красивые графики, когда нужно что-то показывать заказчику-идиоту, для мониторинга графана не нужна.
+
avatar
0
Пожалуй соглашусь с вами лишь частично. По поводу заказчика это да. Но прежде всего графики из Grafana удобны мне. Мне не нужно заходить на сам Zabbix, чтобы посмотреть данные. Я их увижу из Grafana. На одном дашбоарде я могу увидеть все групповые хосты просто выбирая их из выпадающего списка с применением фильтра. Правда предварительно нужно будет создать такой дашбоард с применением нужных переменных.
Плюс ко всему любой график я могу представить в нескольких видах за считанные секунды. Круговой, линейный и т.д. А вообще, если интересно, есть видео по этому поводу:

+
avatar
0
Я заббикс-митапы посещаю, чего мне видео, когда я вживую это слушал? ;)
Речь о том, что для мониторинга и алертинга графана не нужна. Графа — побочный инструмент для визуализации, красивый и для работы бесполезный. Я для одного из заказчиков ее использую, кое-какие данные из заббикса по его серверам рисую ему, что бы любовался на красоту неописуемую, вот только оно не нужно мне, как админу, мне нужен только сам заббикс :)
+
avatar
+1
Вам как админу визуализация в принципе не нужна)
А мне, как инженеру AV интеграции нужна. Мне так проще. Ну и я люблю красивые графики)))
+
avatar
0
> Ну и я люблю красивые графики)))

Вот! Это главное в вашей привязанности к графане :)
Мне, как админу, графики бывают полезны, но мне хватает графиков заббикса, тем паче, что он их мне при срабатывании триггеров сразу в телеграм присылает, а графановские только для красоты :)
+
avatar
0
Вот самый простой пример. Данные Grafana получает с Zabbix через его API:

+
avatar
  • Z2K
  • 20 мая 2017, 13:48
0
Связка Zabbix+ Grafana
пост на хабре
+
avatar
0
Все верно.
+
avatar
  • sir0ta
  • 20 мая 2017, 14:10
0
А линк есть. с ходу не напрыгнул. спс.
+
avatar
+1
На Хабре не найду наверное, но могу дать ссылку на другую статью, по которой я делал для себя.
+
avatar
  • sir0ta
  • 20 мая 2017, 19:06
0
Благодарю. Она нарылась с налету
+
avatar
  • Z2K
  • 20 мая 2017, 15:38
+1
habrahabr.ru/post/275737/
Zabbix vs графики

habrahabr.ru/post/308750/
Визуальный мониторинг серверной инфраструктуры на базе Nagios + Grafana

habrahabr.ru/post/302720/
Но было именно такое Zabbix+Grafana, и недавно. Сорри, может не Хабр. :( Или на хабре, но ролик с конференции. Скорее так.
+
avatar
  • sir0ta
  • 20 мая 2017, 19:06
0
От души
+
avatar
  • sir0ta
  • 20 мая 2017, 14:09
0
Так а где визуализация на визуализированного? А то вроде и сделали, но как сами хз…
+
avatar
0
Не совсем понятен ваш вопрос… Что вы под этим подразумевали?
+
avatar
  • sir0ta
  • 20 мая 2017, 14:37
0
Что вышло в итоге. Видосик, гифку. Просто я от такой штуки вообще профита не вижу. У меня есть мониторинг самописный. Приложение в полный экран масштабируемое. Там все видно, можно навести скажем на сервер с восклицательным занком и увидеть что к примеру сегодня ночью не сделался бэкап средствами 1с, или скажем пинги 2% потерь, или вообще недавно дорогущая железка ни с того с чего аплинк с гига спустила до 100-ки. А я все ищу какая тварь сеть нагибает.
+
avatar
-1
Да, теперь понятно.
Я со своего сервера, например, получаю уведомления по срабатыванию триггеров событий. Плюс все данные по любому хосту, которые мне интересны
+
avatar
  • sir0ta
  • 20 мая 2017, 19:14
0
И что? Мне как и всем ровно. Есть рукопопие, нет показа работы.
+
avatar
  • redyk
  • 20 мая 2017, 20:12
0
могу предложить идею.
сегодня очередной раз долго искал пульт от тв. в связи с этим, предлагаю на esp сделать простую искалку. пусть пищит пьезоэлементом например, по команде с тф.
все это запихать в пульт и питаться от него же. ток с питаним надо думать. вот это нужный массовому потребителю девайс.
+
avatar
+2
Автор описывает жизнь и быт it работников с уверенностью что это так у всех и заведено. Но на самом деле он просто не знает что из таких обязанностей как бегать по пользователям и глядеть весь день в карту сети.jpg на светодиодах нормальные люди быстро вырастают в профильных специалистов — субд, системы хранения, виртуализация, блейд системы и пр. Ну я как бы намекну что лучше не грузить сеть icmp пакетами а возможно посмотреть в сторону snmp и прочих систем сбора информации. Ну и в качестве развития вместо с наколеночных поделок с лампочками поизучать такие системы как заббикс нагиос лоджикомонитор и пр.
+
avatar
0
да простит меня автор за некропостинг, а админы за ссылку на другой форум. мне нужен был пингер попроще: только esp и светодиоды. и вот — codeby.net/threads/opredeljaem-kto-doma-s-pomoschju-esp8266.66662/post-382580