Hálózat nyilvántartó és monitorozó rendszer, sokadszorra

 ( csfeco | 2017. október 12., csütörtök - 9:17 )

Sziasztok!

Tulajdonképpen sokadszorra írok erről a "Luca széke" projektről, de van egy lényeges változás: működik (legalábbis én használom).
Nincs teljesen kész, nem hibátlan, de használható. És talán a doksi is van olyan állapotban, hogyha valaki elolvassa kiderül mit tud, mire való (nem Nagios, nem Munin, és nem Zabbix, eléggé különbözik ezektől, ahhoz, hogy egyik se legyen a sok hasonlóság ellenére).
Azoknak lehet hasznos, akik hasonló hálózatot felügyelnek mint és, sok végpont, és nem csak szerverek.
Link: https://github.com/csikfer/lanview2
Egy kis segítség is jól jönne, talán most már több esély van rá. Ez nem igazán egy emberes projekt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Aztán szerinted mi a jó fenének akarnék onnan válogatni?
Mielőtt elkezdtem ezt írni, hidd el, hogy körülnéztem, és nem találtam kedvemre valót.
Most viszont miután van egy sajátom, amit átlátok, amit úgy alakítok, és azt rakok bele amit akarok (meg amire van kapacitásom), minek keresnék másikat ?
Ha érdekel olvasd el a doksit! Ha pedig nem érdekel, akkor ne foglalkozz vele, és ennyi.

Bocs, csak felületesen olvastam el, azt hittem megint keres valaki egy monitorzot :D

Fedora 25, Thinkpad x220

Bocsánat, a program dokumentációja a projekt fájlok között : https://github.com/csikfer/lanview2/blob/master/LanView2.odt?raw=true
A README -ben az API dokumentációra van link, amiből egy kicsit nehezebb kihámozni a lényeget.

Nem tudom hogyan kéne értékelni ezt a "Síri csend és hullaszag" jellegű reakciót?
Pozitívan : "Legalább nem fikázta senki.",
vagy negatívan : "Még csak nem is fikázta senki."?
Amúgy rejtett up.
Meg hogy általam értelmesnek vélt dolgot is hozzáfűzzek:
A program gondolata 11 éve született meg, és először PHP-ben készült el. A cél egy nagyobb kiterjedésűs hálózat menedzselése volt. Nagy számú végponttal (kb. 2000 végpont, 700 PC, 60 switch). Tehát nem a szerverek működésének a folyamatos ellenőrzése volt a legfontosabb cél, hanem az igen rosszul dokumentált hálózatban az eligazodás, adatgyűjtés, és egy használható nyilvántartás előállítása. Aztán még a PHP-s program kiegészült vagyonvédelmi funkciókkal. És persze egyre nagyobb gondot okoztak a tervezésekor elkövetett hibák (bár programozok közel 40 éve, ez volt életem első komolyabban adatbázist is használó programja).
Aztán megszületett az az elvetélt gondolat, hogy újraírom de most már C++/Qt alapon. Volt egy teljesen téves feltételezésem, hogy mivel szerintem egy hasznos hiánypótló rendszer, biztos beszáll valaki a projektbe, elég nagyot tévedtem. Annyi segítséget kaptam a munkahelyemen, hogy nem vegzáltak, ha erre fordítottam az időm egy részét. Amúgy totális érdektelenség (vagy ellenérdekeltség, nehogy már a nyúl vigye a puskát). Ma már más is látja, hogy hasznos, de a közalkalmazottak legtöbbje nem arról híres, hogy olyanba fektet energiát, amibe nem kötelező. Szerintem az egyik legfontosabb eszközöm a hálózatfelügyeletben, még így hiányos adatbázissal is (rengeteg adatot kellene manuálisan feltölteni, amire nekem még nem volt időm, más meg leszarja).

biztos beszáll valaki a projektbe

Csak én vagyok a béna, vagy valóban nem triviális ebből futtatható valamit csinálni? configure, Makefile nyema, .sh/.bat sincs. Mit kéne ezzel csinálni? Mert ugye ha az érdeklődő ezen a ponton lepattan, akkor nem meglepő, ha utána a projektbe se száll be...

El kell olvasni a dokumentációt. Nem igazán hívtam fel rá a figyelmet, hogy hol van. Nemrég módosítottam a README-t és a doksit is. Így már meg található, és benne van, hogyan kell fordítani, legalábbis Linux-on. Windows-on nem nagyon vagyok otthon, ott csak a QtCreator-ban tudok én is fordítani, ha felkínlódtam a VC 2013-at (de Windows-on amúgy is csökkent értelműm a program, mert hiányzik az SNMP API-ja, bár pótolható).

Egy kis összefoglalás, átláthatóbb, pár pontba szedett mondat nem ártana a readme-ben, pl arról, hogy:

1) hogyan, és miként lehet felvarázsolni egy disztribúcióra, mondjuk Debianra,
2) milyen technológiát, protokollt, adatbázist használ, támogat
3) milyen fajta/gyártmányú eszközöket támogat elsősorban, te milyenekkel tesztelted, melyekre írtad
4) főképp, mi a célod az egésszel struktúra, elgondolás

Vagyis:
1) ez alap dolog kellene legyen.
2) Miután beleolvasgattam a forráskódba, látom, hogy erősen épít az snmp-re, viszont simán épülhetne az egész CSAK TP-link/Mikrotik/Cisco api-ra is, és akkor totál érdektelen lenne az egész.
Adatbázis: Felteszem: relációs/MySQL/PgSQL, de hogy milyen kialakítás, táblák, helyigény (mert egy kisebb, 300 végpontos oktatási intézményben is, napi 300Mb log keletkezik), struktúra, stb...
3) Mert nem mindenki használ Cisco-t..

4) Továbbra sem egészen világos, hogy mi is, a célod vele, oké, monitorozni, de mit, és miért, és miért pont így?
(Erre legalább 5, jól megfogalmazott tőmondat kellene)
Például (egy kiragadott példa) tipikusan abból, hogy ez állandóan lekérdezgeti a switchek mac tábláját, arra tudok gondolni, hogy ott a hálózaton utókövetés van, bárki jön, hozza az eszközét, bugdossa a fali aljzatokba, aztán ha nem tetszik, akkor tiltod.
Ezzel szemben komolyabb helyeken először valaki authentikál, aztán használja, mondjuk Radiussal, aminek a logjából/adatbázisából eleve kiderül, hogy melyik porton melyik mac van.
Hasonló mód a DHCP szerverkkel, ahol meg az egyes dhcp rendszergazdák kommunikálnak, hogy mi, hogyan legyen...

Kicsit úgy tűnik, mintha te egy kaotikus hálózaton keletkező információkból akarnál rendet vágni.
Pedig pont fordítva kéne, először a hálózatot kéne helyrepofozni, utána az majd adja magából az információt,
mert attól egyáltalán nem leszel előrébb, hogy látod az illetéktelen tevékenységet, azt megelőzni fontosabb, mint utókövetni...

Igen, a bajt megelőzni kell. Egy tökéletes rendszerben ez így szép és jó. Csakhogy tökéletes rendszer nem létezik, ezért kell az utókövetés.
A koli-ban pl. most már van autentikáció. Mindenhol nincs és nem is lehet, mert a (nem megszorítások kormánya megszorításai miatt) van egy pár olcsóbb switch-ünk is, ami ezt nem támogatja. (És rakott már fel tanár saját routert a hálóra, mert csak).
Nem valószínű, hogy ma már ráakasztanak saját router a hálóra, de azért a DHCP működését nem árt figyelni, és akkor már megnézheti azt is, hogy jó szerver válaszolt-e, és hogy jó választ adott-e, nekem ez triviálisnak tűnik.
Egy egyetemi hálózat mindig kaotikusabb, mint egy ipari vagy biznisz környezet.
És a másik probléma, amivel talán nem vagyok egyedül, és amiben a program segít, a hálózat hiányos dokumentáltsága, nem én építettem az egészet. Az eredeti dokumentáció hiányos, elavult, az új módosításoknál (külső kivitelező) a dokumentáció hiánya a legkisebb probléma.

Nem tartozik teljesen ide: Holnap (holnap után) át kell néznem ~250 RJ45 csatlakozást, mert a koli felújításnál kicserélték az aljzatokat (ezt onnan tudtam meg, hogy jöttek a diákok, és nem működött a legtöbb port), és a villanyszerelők akkor láttak előszór UTP kábelt, a bekötés találati valószínűsége kb. 20% volt. Javították, de azért át kell nézni az egészet.

Értem a problémát, mert én is hasonló cipőben járok, egy megyeközpont közoktatási intézményének(+kollégiumának) hálózatfelügyeletével, hasonló esetekkel találkozom, és ott sincs aranyból a kerítés.

Nem 11 éve, hanem csak 7, de azért annyit már sikerült elérni, hogy
- ha felújítás van, akkor a vezetés előre kikéri a rendszergazda véleményét, hogyha az a hálózatot is érinti.
(már csak azért is, mert amíg nem így volt, addig a javítgatások miatt folyamatos ráfizetés, illetve a rengeteg panasz miatt ciki volt már nekik, hogy szeptember helyett csak novemberben jutottak a kollégisták nethez)

- ha nincs pénz komolyabb eszközre, jó a TP-Link is. (am. meglepően jó switchei vannak a tp-linkek, tud radiust, dhcp-relayt, dhcp védelmet, stb, és saját maga logol, nem nekem kell lekérdezgetni róla az infót, elég csak feldolgozni, (akár php-ban) hogy azonnal tudjam, hogy melyik eszköz, hol van, az ára is csak 1/10-e a cisconak)

- ha, legalább a minimális dokumentációra szükségem van, akkor azt nekem kell kimérni, erre valóak a nyári szünetek.

Ezen kívül én a dhcp-t a saját logjából, és a relay-ek logjából monitorozom, így hasonló infókhoz jutok, mint amit a te programod gyűjt, vagyis nem állítom, hogy az utókövetés haszontalan, hanem azt, hogy ha valahol (részben, vagy egészben) csak az van, akkor sürgősen csinálj valamit.

Nem a beleölt idődet akarom kritizálni, de szerintem ha a 11 évnek az 1/3-át asztalcsapkodással/fülrágással töltötted volna, a vezetőség felé, akkor már egy épkézlábabb hálózatod lenne, de így, hogy a háttérben programot írsz a káosz menedzselésére, csak a vezetőség inkompetenciáját erősíted. Igen, "néha kell egy kis áramszünet", nálunk is kellett 2 összeomlás, és ügyesgyerek hekkelése, hogy belássák, szarból nem lehet várat építeni, és a rendszergazdának igaza van, hiába a tudása, az nem helyettesíti a 21. századi IT berendezéseket.

Ettől függetlenül respekt, hogy összeraktad ezt a programot, majd egyszer alkalomadtán kipróbálom.

+1 Pro tipp:
Szerintem írd még bele azt is, hogy füleljen minden vlan-ban, az 5353-as mdns porton, mert amit ott megosztanak magukról a gépek, telefonok, (néha routerek is), az majdnemhogy értékesebb infó, mint a port-mac tábla.

Nálatok nem keresnek rendszergazdát? :)
Ez egy kicsit nagyobb szervezet. A rektorátuson már így se nagyon kedvelnek, mert aki csapkodja az asztalt, az balhés ember. Az észt fentről osztják nem fordítva.
A program írásnak volt egy másik motivációja. Kitaláltam egy API-t az adatbázis kezelésre, és meg akartam csinálni. Szeretek rendszergazda lenni, de a programozást semmiképpen nem akartam abbahagyni, ez az egész, azon túl hogy hasznosnak vélem, részben hobbi program is, sokkal jobb mintha bélyeget gyűjtenék.
Tulajdonképpen akkor is jól eltöltöttem az időmet, ha ez az egész megy a kukába, de ez utóbbi azért nagyon bosszantana.
Az ötletet kösz, a todo listám n+1-edik pontja lesz.

De, kerestek, 2-en is elmentek előttem (maguk mentek el, nem elküldték őket), mert nem bírták idegileg ezt a hozzáállást, de amikor a 2. is elment, már érezték, hogy nincs rendjén a dolog.

De létezik "amilyen az adjonisten, olyan a fogadjisten" elve is, ha magasról tesznek a jelzésekre, (akkor) te sem vagy köteles teljesíteni a kötelezőkön felüli köröket, és nálam ez a módszer beválik. (Am. az informatika a felsőoktatásban ma már nem a rektor alá, hanem a kancellária alá tartozik, ha jól tudom. ~ mondjuk az se sokkal jobb...)

Na de félretéve, ezekkel a hosszú írásokkal csak arra reagáltam, hogy mivel ezt hobbiból írtad, és a nagytöbbség megoldja máshogy, logokból/fizetős programokkal, ezért ilyen kicsi az érdeklődés.

Doksit csak átpörgettem elég korrektnek tűnik. Valamikor szakítok rá egy kis időt és kipróbálom.

Síri csend és hullaszag van mert mindenki a blackpantheres témában trollkodik, most nincs idő ilyen szakmai dolgokra. :)

@@
"You can hide a semi truck in 300 lines of C."

sub

Jo ha valaki ir ilyet. Respect. De...
Ilyen vegpontszamnal mar a legtobb ceg olyan termeket valaszt, ahol van tamogatas, akar kozossegi, akar fizetos.
Nincs semmi baj a programoddal szerintem, csak a celcsoport meghatarotasa, valamint a nekik szant eros(!!!) marketing hianyzik, ha azt szeretned, hogy kicsit elterjedtebb legyen.
De ez csak az en velemenyem.
Monitoring szoftverekbol Dunat lehetne rekeszteni. Kell, hogy valami megkulonboztesse a Te termekedet a tobbitol es ezt ki is hangsulyozd.

+1

Ez az adatbázisával több.
Egy nagyobb hálózat esetén fontos valamilyen nyilvántartó rendszer. Milyen gépeid vannak, merre vannak azok, mikor cseréltél akkut az UPS-ben, merre mennek a kábelek, ebben a szobában hány csatlakozó van stb., stb..
A fenti adatok egy része lekérdezhető az intelligens eszközökről, vagy ha közvetlenül nem lekérdezhető, a begyűjtött adatok alkalmasak az adatok konzisztenciájának az ellenőrzésére (topológia).
Tehát a lekérdező rendszernek csak egy kis rész feladata, az amit pl. a Nagios vagy hasonló rendszerek csinálnak (amivel Dunát lehet rekeszteni).
És ha már ennyi adatunk van, a vagyonvédelem egy részét is lefedi a rendszer. Ha elvittek egy PC-t, vagy egy védett monitort riasztást kapunk, nem levélben, hanem kvázi azonnal egy diszpécseri terminálon.
Az ár-érték aránya pedig verhetetlen :), pl egy közintézmény esetén talán labdába rúghat.

Marketingesnek meg nem csapok fel, se időm, se kedven, se tehetségem hozzá. Éppen eléggé leköt, hogy a mini reklámom után az összes segítség amit kaptam, az jó pár plusz ötlet/feladat amit még meg kellene csinálni a programba, értem én, de még mindig csak egy ember vagyok.
Most éppen a nyelv váltást csinálom (mert, ha minden magyarul van az nem jó), ami közel sem olyan egyszerű mint amilyennek elsőre tűnt. És persze, ha kész vagyok sem fog beszélni külföldiül, ha nem találok valakit aki lefordítja.

Szamos eszkoz epit CMDB-t a discoverelt vagy "engedelyezett" eszkozokrol es rajzol ezek alapjan topologiat, figyeli oket, kuld riasztast.
Ezert kerdeztem, hogy mi az amivel ez tobbet tud, hogy megkonnyitse a donteshozok dolgat, ha egy supportalt (a fentieket mind tartalmazo) eszkoz helyett ezt valasztanak.

Semmi esetre sem szerettem volna okoskodni, vagy leszolni a munkadat.

Amugy:
Tovabbi jo munkat!

Ebből a számos eszközből én nem sokkal találkoztam (ami nem ingyenes, vagy nem a főnökség kezdeményezése, az itt szóba sem jöhet).
Pár éve megvették a ProCurve Manager-t, az tudott pár hasznos dolgot, de a paraszt vakításnak, és a licenc ellenőrzése mindenekfelett elég nagy prioritású volt, nem sokáig működött.
Most felsőbb parancsra a Zabbix a hivatalos hálózatfelügyeleti program, de az ennél egy kicsivel több, és sokkal kevesebb.

Nem is olyan rejtett sub. Ki fogom próbálni, ty.

Hehe. Valami eredménye csak van, hogy indítottam ezt a fórum témát: jóval vehemensebben támadják a web szervert, ahova néhány doksit kiraktam.
Lám lám, az emberi jóindulat mégis csak végtelen, ja pont nem az a végtelen (nem ártana kiegészíteni Einstein mondását a végtelenről).

We're sorry. We can't open LanView2.odt because we found a problem with its contents.

HRESULT 0x8000ffff

Location: Part: /content.xml, Line: 0, Column: 0

--
L

A LibreOffice 5.1.6.2 (Build az.: 1:5.1.6~rc2-0ubuntu1~xenial2) rendesen megnyitja, ha letöltöm a github-ról.
Win. alatt a Word is megnyitotta nekem (a felsorolásnál hülyén néznek ki a bogyók, de amúgy hasonlít).
Nem sérült meg a letöltéskor?

Nincs LibraOffice-om, MS Office for Mac-kel próbáltam.

--
L

Felraktam a Google-ra. A konverzió kicsit megviselte, de a semminél talán jobb.
https://docs.google.com/document/d/1S4rtkEXsZXoxmobczIQ1ievxgV_v8VQwh0CUM5zjhtE/edit?usp=sharing

Köszönöm szépen.

A jegyzőkönyv kedvéért: nem a dokumentummal volt gond, hanem az alkalmazással.

--
L

Ha ne-adjisten érdekel valakit tartok egy ismertetőt a rendszerről:
https://www.meetup.com/opensourcebudapest/events/245721558/
Az anyagot hozzácsaptam a projekthez (lehet, hogy még frissülnek):
https://github.com/csikfer/lanview2/blob/master/lv2pre.odt?raw=true
https://github.com/csikfer/lanview2/blob/master/lanview.pptx?raw=true