Nuki – Dreambox Monitoring System

От доста време се занимава с сателитни приемници dreambox, ако сте ме чели, ако не сте да знаете, че си е мъка особено ако имате около 50 в сървърното си от тях. Отначало започнах да пиша система която да наблюдава процеси и според зависи да взима решение дали да рестартира приемник, защото заради забиващи mgcamd процеси спираше нормалната работа на приемника и изискваше рестарт на CAM модула. Затова реших, че ще по лесно ако напиша някакво просто скриптче което да автоматизира тази процедура.

Настоящата верисия на NUKI е 1.3. Отново измина доволно време около половин година след последни анонс. В крайна сметка вече имам доволно завършен продукт, изтестван и работи прилично добре. Към момента има няколко важни подобрения които могат да се видят в новината и ще се опитам да ги опиша по късно в change log-a.

Скрипта работи с CCcam, NewCS и MgCamd без проблеми, вероятно и с другите ще работи, но не съм тествал поради липса на резервни приемници. Искам да напиша инсталатор които да може да обработва и инсталира NUKI-то без да се налага да си играеш 2 часа и да си блъскаш главата – абе това тъпо Neo2SHYAlien що е толкова прост  😈 . Но това ще стане в по- далечно бъдеще. Към момента скрипта работи изцяло върху приемника като демон, стартира се  остава в фонов режим и върши тихо и незабележимо своята работа. Вече на сървъра е необходимо само 3 дребни неща едно малко php скриптче които да може да подава информация при заявка от приемника за това какви де криптиращи модули се ползват и дали приемника предава кодиран канал. Друго пак малко php скриптче което да взима информацията за рестартите и да ги блъска в базата данни. Също така съм оставил един отворен порт през които да се прехвърлят логовете на приемниците преди да се рестартират. Стига глупости ето и необходимите файлове

Основния скрипт

NUKI

помощния скрипт (премахната зависимост)

Nuki Addon

стартиращ скрипт

Startup

Това са трите скрипта. Необходимо е да се намират е /var/etc/ и да са с права 777 🙂 За не linux потребителите може би е  трудно за разбиране затова се надявам скоро да напиша инсталатор и да ви отмени 🙂 Пък и не само защото има качване на бази данни поставяне на разни скриптове тук таме абе некомфортна работа 😉

На сървъра има следните 3

тая щуротия е демона през които се прехвърля информацията. за целта използвам nc на порт 666 😈 по желание може да се пренастрои внимавайте къде го поставят и си променете пътя в които се запазва лога от приемника.

server demon вече не е необходим скрипта може да прехвърля информацията направо върху php скрипт на сървъра

Новия скрипт за записване на дневниците (logs)

log-inserter

Това е php скрипта които отговаря за заявките на приемниците да им предоставя необходимата информация. маха се разширението и се поставя в папка demon на WEB сървъра ви 🙂 Това може да се промени като смените позицията на инфо файла в основния скрипт на NUKI 😉

informator

тази щуротия обработва лога от рестарта на приемниците и ги налива в базата данни. пак прегледайте скрипта ако са променяни нещата. аз съм го сложил в crontab на 1 час

convertor

Отделих старата версия в отделна директория, все пак е коренно различна от новата и няма смисъл да се пречи. Ако на някои му е интересно какво е било преди OLD NUKI 🙂

Искам да изкажа огромна благодарност на ShadowX мои добър приятел, Линукс гуру и пътеводна светлина в непознатите за мен води. Също така и на Nathariel мои добър приятел, програмист и слушател на болните ми идеи. Също и не на последно място на човека на които е кръстен скрипта и вдъхновение в умопомрачителните мигове.

Creative Commons License
Произведението Nuki създадено от Neo2SHYAlien ползва Криейтив Комънс Признание-Споделяне на споделеното 2.5 България договор.
Базирано на следната творба:neo2shyalien.eu.
За разрешения извън обсега на този договор, проверете на https://neo2shyalien.eu/nuki_src/.

Enhanced by Zemanta

5 comments

  1. Здравейте, много интересна идея, но не достатъчно ясно описание на инсталацията! Можете да прочетете още:
    1. SQL скрипт база данни с всички създаване на таблици
    2. Разположение PHP файлове
    3. Развъдчик скриптове Баш на вашия Dreambox
    Ако ви дам детайли бих могъл да напиша един пълен инсталатор.

    1. Дам идеята е стабилна и сама по себе си е уникална. Знам че съм описал супер неграмотно и има много неща за дообяснения но къде от липса на време къде от мързел не съм ги направил пък и самата ми web част е супер бъгава но е на личен сървър които не е обществено достъпен и затова не съм дал всички скриптове 🙂 В последната версия са избегнати много зависимости и кретенски идиотщини които задължават web сървъра да речем да беше *nix машина. Ако искаш мога да ти дам повече детайли на mail 🙂
      Отделно че целия проект съм си го водил сам което си е доста трудоемка задача, отделно че всичко в движение го научавах, бих се радвал да го разширя с някои нови функционалности и прочие но засега ще остане на зададен план, пък и скоро ще изгубя възможността за достъп до dreambox приемници и всичко ще се наложи да става през emulator 🙂
      Настоящата версия 1.3 мога смело да твърдя че работи много кратно по добре от всичките си предшественици забелязах някои неприятни моменти но и така продължава да работи. Стабилно е тествана на dreambox 500s с 4.70 software.

      1. Ще бъда много благодарен, ако повече Кажи как да инсталирате, имам в момента 25 приемници и имам нужда за всяка песен, наблюдава работата си и да покаже подробен отчет за това какво място. Тук е моят имейл адрес: aspekt.net @ gmail.com

  2. Аз съм сега работи в тази посока и аз искам да приложи система за мониторинг на Dreambox:
    1. За контрол на достъпа – да се покаже графики, като Zabbix или Munin
    2. Рестартирайте в случай на замразяване
    3. Създаване на информационни канали и споделяне.

    1. Добре малко по късно през деня ще ти изпратя необходимите файлове с по грамотно описание къде и какво да се направи 🙂 За графики не съм се замислял да пиша понеже не са ми били необходими но ако искаш можеш да доработиш web частта ми както пожелаеш 🙂

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *