Csoport neve: H9eeB0aibova

Feladat sorszáma: 2.

Feladat címe: Labor felügyeleti rendszer







Software Requirements Specification

 Document





Gyakorlatvezető::

Répási Tibor



Csoport tagok:


Vincze Dávid

Q75DX4

szkdavid@uni-miskolc.hu

Ács Attila

V41FWN

aam@pannongsm.hu

Juhász Miklós

LD7Y3N

junex@freemail.hu

Szabados Tamás

HG3CUI

thombye@freemail.hu

Vasi Sándor

DYH7J9

sanyi@halivud.com


2006. 03. 24.



Történet


Dátum

Verzió

Leírás

Szerző

2006. 03. 17.

1.0

Kezdeti verzió, részletek összeszerkesztése

Szabados Tamás

2006. 03. 18.

1.4

5., 6., 7., 9., fejezetek integrálása

Szabados Tamás

2006. 03. 19.

1.5

1., 2., fejezetek integrálása

Szabados Tamás ; Juhász Miklós

2006. 03. 20.

1.6

3., 11., 4., 8., fejezetek és ábrák integrálása

Szabados Tamás ; Juhász Miklós

2006. 03. 24.

2.0

12., 10. fejezetek integrálása, leadandó verzió elkészitése

Vincze Dávid

 


Tartalomjegyzék

 

1. Bevezetés

2. Áttekintés

3. A rendszer funkciói

3.1. A H9 szoftvercsomag funkcionális struktúra váza, a környezetétől függetlenül

3.2. A H9 szoftvercsomag tevékenységek szerinti struktúra váza a környezetétől függetlenül

3.3. Az automatikus vezérlés funkció részletesebb struktúra metszete
3.4. A kézi vezérlés funkció részletesebb struktúra metszete

3.5. A grafikus monitorozás alrendszer részletezett alstruktúrája

4. Használhatóság

5. Megbízhatóság

6. Teljesítmény

7. Támogatottság

8. Tervezési korlátozások

9. On-line dokumentáció és Help rendszer

10. Felhasznált kész komponensek

11. Interfészek

11.1. Felhasználói interfészek

11.2. Hardware interfészek

11.3. Software interfészek

11.3. Kommunikációs interfészek

12. Alkalmazott szabványok

    12.1. Kötelezően alkalmazandó szabványok

     12.2. Választás alapján alkalmazott szabványok

 

1. Bevezetés



Napjainkban, egyre több hálózatba kapcsolt számítógép laboratórium jön létre, leginkább oktatási és kulturális intézményekben. Ezeknek a laboratóriumoknak az egyszerű és hatékony menedzselése komoly és nehéz feladat. A H9 programcsomag ezen menedzselési feladatok megoldására szolgáló termék.

Részletesen bemutatásra kerülnek a gyakran felmerülő problémák a témával kapcsolatban, illetve, hogy ezekre a problémákra milyen megoldásokat nyújt a szoftver. A szoftver központosítja a felügyeleti és diagnosztikai eljárásokat, minimalizálja a szaktudás igényét, ezáltal egy kevésbé képzett üzemeltető is biztonsággal használhatja a terméket. Az egyszerűsített és egységesített menedzsment költségtakarékos üzemeltetést és ( esetlegesen későbbi ) bővítéseket tesz lehetővé.



2. Áttekintés

A termék nagyobb számítógép laboratóriumok, szerverfarmok üzemeltetésének megkönnyítésére szolgál. Segítségével csökkenthető a karbantartásra fordított idő, ugyanúgy, ahogy a felhasználói igények kielégítésének ideje is, és nem utolsó sorban a teljes birtoklási költség is csökkenthető, mivel elegendő kisebb üzemeltetői személyzet alkalmazása, és a labor rendelkezésre állási ideje is megnövekszik.

Gyakori jelenség, hogy a karbantartás idejére a felhasználókat kitiltják a laborból, az üzemeltetők minden egyes gépet végigjárva, külön-külön végzik el a karbantartási teendőket. Manapság a számítógépek nagy része hálózatba van kötve, ezt kiaknázva létrehozható olyan menedzselési szisztéma, amivel nincs szükség fizikai jelenlétre a számítógépeknél és az aktuális karbantartási feladat milyenségétől függően, akár közben egy felhasználó is dolgozhat a gépen, esetleg átmeneti lassulást érzékelhet a számítógépen. Az üzemeltetők nagy része ki is használja ezt a lehetőséget és távoli bejelentkezést használva végzik el a karbantartási feladatokat.

A hálózati kapcsolatra alapoz a H9 szoftver is, ennek segítségével biztosítja az egyszerű és központosított menedzselési lehetőséget. Az üzemeltetők általában kisebb-nagyobb programokat írnak egy-egy gyakori részfeladat ellátására, ezek egyediek és általában csak a nagyon gyakori feladatokat tudják ellátni, nincsenek felkészülve minden eshetőségre. A H9 programcsomag többek között ezeket a megbízhatatlan programokat is leváltja, helyette megbízható és teljes számítógép menedzselést nyújt.

Lehetőség van a labor számítógépein a következő adatok lekérdezése, megfigyelése: bejelentkezett felhasználók nevei, futó processzek adatai, hardware információk, memória állapot, CPU és merevlemez kihasználtság, CPU, merevlemez és egyéb alkatrészek hőmérsékletei, merevlemez fizikai állapota ( S.M.A.R.T. ), USB-re csatlakoztatott eszközök adatai, csatolt filerendszerek adatai, hálózati beállítások áttekintése, hálózati kihasználtság, hálózati kapcsolatok listája, tűzfal szabályok listázása, levelezőrendszer állapotának lekérdezése, időzített feladatok megtekintése, feltelepített szoftverek listája.

Az előbb felsorolt műveletek a számítógép működését nem befolyásolják, csak információkat kér a szoftver a labor számítógépeiről, természetesen aktív beavatkozásra is ad lehetőséget a H9 programcsomag, többek között ezeket a feladatokat tudjuk kiadni közpöntilag a labor egyes gépeire: számítógép újraindítás vagy leállítás, merevlemez leállítása, fájlrendszer felcsatolása vagy leválasztása, USB eszköz leválasztása vagy felcsatolása, üzenet küldés a bejelentkezett felhasználónak, processz leállítása, felhasználó kiléptetése, számítógép zárolása, időzített feladat beállítása, szoftver telepítés vagy eltávolítás, programok leállítása vagy indítása.

Könnyedén összeköthető a megfigyelő és a beavatkozó funkció, ez hasznos például automatikus tevékenységek elrendeléséhez. Megadható, hogy milyen esemény váltson ki egy előre kiválasztott tevékenységet. Beállítható például: időzített kikapcsolás, időzített ellenőrzés, adott felhasználó belépésekor program végrehajtása, magas hőmérsékletnél a merevlemez leállítása, felhasználó belépésekor a háttérben futó programok prioritásának átállítása, felhasználó kilépése után 5 perccel a monitor energiatakarékos állapotba állítása.

Megoldást nyújt a szoftver a statisztikák készítésének problémájára, mind az adatgyűjtés, mind az adatfeldolgozás és megjelenítés terén. A statisztikai adatok köztudottan nélkülözhetetlenek. Ezek az adatok meghatározók bővítés, fejlesztés vagy akár leépítés esetén. A vezetőségnek tisztában kell lennie azzal, hogy mikor éri el a laboratórium a maximális kihasználtságot, mikor és mit kell bővíteni, vagy éppen ellenkezőleg, melyek azok az erőforrások, amik nincsenek kihasználva, mit lehet más célokra felhasználni, vagy mi az amit nem érdemes tovább fenntartani. Egyszóval a statisztikai adatok elengedhetetlenek egy laboratórium hatékony működtetéséhez. Hangsúlyt kell fektetni a statisztikai adatok pontosságára, és megbízhatóságára, téves statisztikai adatokra alapozott fontos döntések beláthatatlan károkat okozhatnak.

Az alkalmazás felhasználói felületére megfelelő azonosítás után lehet belépni, ezen a felületen lehet a labor gépeiről információkat lekérdezni, és erről a felületről lehet kezelni a labor számítógépeit. Ez a felület egy ún. webes felület, ami azt jelenti, hogy egy egyszerű webböngésző programmal érhető el. Ezt a webfelületet a labor felhasználói nem látják, nem használhatják, alaphelyzetben ezt csak az üzemeltetők használják, különleges alkalmakkor persze a vezetőség tagjai is belenézhetnek.

A felülethez szükséges egy webkiszolgáló, ez futhat egy dedikált számítógépen, vagy egy már meglévő számítógépen. Ugyanezen a számítógépen futnak még a gépeket kezelő és adatgyűjtő komponensek. Ezt a számítógépet kell üzemképes állapotban tartani legalább abban az időintervallumban, amikor a labor számítógépei üzemelnek. Célszerű a nap 24 órájában üzemeltetni. Ezeknél a komponenseknél nincs kikötés a számítógép architektúrára, kizárólag az operációs rendszer legyen UNIX származék, erősen javasolt a Linux operációs rendszer használata. Ennél a számítógépnél figyelembe kell venni az üzemeltetők számát, de főként a menedzselt labori számítógépek számát, mivel az adatgyűjtő komponens számításigényes műveleteket végez, ez nagy gépszám esetén komoly teljesítményt igényel.

A labor számítógépein találhatóak azok a programok, amik fogadják és végrehajtják a webes felületről küldött parancsokat, illetve adatokat szolgáltatnak az adatgyűjtő kéréseire. A számítógépeken támogatott operációs rendszerek, a Linux, illetve UNIX származékok. Ez a komponens szoroson együttműködik a gépen található SSH és SNMP kiszolgáló programmal. A hálózattal kapcsolatban viszont vannak megkötések, mégpedig hogy a hálózaton engedélyezett legyen az SNMP ( Simple Network Management Protocol ) és az SSH ( Secure Shell ) protokoll a webkiszolgálót futtató számítógép és a labor gépei között, és a menedzseléshez használt gépek és a webkiszolgáló között engedélyezve legyen a HTTPS ( Hypertext Transfer Protocol over SSL ) protokoll.

A H9 szoftver használatával rengeteg munkaidőt és pénzt ( kisebb üzemeltető személyzet elegendő, üzemeltetők betanítása jelentősen olcsóbb, és rövidebb idő, mint egy helyileg kifejlesztett egyedi komplex rendszerre való betanítás ) lehet megtakarítani és fontos plusz szolgáltatásokhoz juthat a program használója, amelyek többek között támpontot adhatnak a vezetőségnek a jövőbeli döntésekhez. A felhasználók is nyernek egy ilyen szoftvercsomag bevezetésével: kevesebb üzemidő kiesés, gyorsabb reakció a bejelentett igényeikre.

Nem utolsó sorban a H9 szoftverhez technikai támogatás is jár, aminek igénybevételével jelentősen csökkenthető pl. egy hiba elhárításának az ideje. Terméktámogatás nélkül a labor üzemeltetőjére hárulna a teljes diagnosztika és hibaelhárítás, ami az esetek többségében hosszas kutatómunkát igényelne részéről (dokumentáció tanulmányozás, önkényes próbálkozások, stb.), illetve előfordulhat, hogy egy kevésbe tapasztalt üzemeltető további károkat okoz a rendszerben, aminek a helyreállítása még nagyobb költségekkel járna, mint az eredeti probléma.



3. A rendszer funkciói

 




A H9 szoftvercsomag vázlatos megjelenítése a környezetre való hatását tekintve.



























 

 

3.1. A H9 szoftvercsomag funkcionális struktúra váza, a környezetétől függetlenül

 


















3.2. A H9 szoftvercsomag tevékenységek szerinti struktúra váza a környezetétől függetlenül.




























3.3. Az automatikus vezérlés funkció részletesebb struktúra metszete








 











 















 



3.4. A kézi vezérlés funkció részletesebb struktúra metszete



 



















 

 











 



3.5. A grafikus monitorozás alrendszer részletezett alstruktúrája




























 



 

 



4. Használhatóság

A szoftver GUI (Graphical User Interface) részét úgy kell kialakítani, hogy az egyszerű kezelhetőséget, átláthatóságot, és navigációt tegyen lehetővé. Ez nem csak kényelmi funkció, hanem nagy mértékben csökkenti a betanulási időt, mely még több előnyt jelent az esetleges konkurens alkalmazásokkal szemben. Betanulásról nem csak a kezdő felhasználók esetében kell beszélni, hanem a gyakorlott üzemeltetők számára is szükség van a szoftver kezelésének elsajátításához, ám egy jól kidolgozott felhasználói kezelő felülettel ezt az időt minimálisra lehet csökkenteni.

A szoftver használata esetén, még a beépített automatizálási funkciók mellőzésével is rengeteg időt lehet megspórolni az alternatív megoldásokkal szemben, ugyanis, itt nincs szükség minden kliens gépre egyenként bejelentkezni, ott különböző műveleteket és egyenként végrehajtani. A kézzel történő rendszerkarbantartás meglehetősen lassú, és adott esetben veszélyes is lehet, mivel tapasztalatlan üzemeltetők kárt tehetnek a rendszerben, illetve figyelmüket elkerülheti néhány veszélyre figyelmeztető jel, pl. valamelyik eszköz, hardver túlterhelése, amely akár garancia vesztéshez is vezethet. A H9 szoftver minden rendszer-paraméterről, ha az kritikus érték felé közelít, figyelmeztetést küld az üzemeltetőnek, ezzel elkerülhető a rendszer, vagy egy számítógépének a károsodása.

A rendszer használatának elsajátításához, illetve annak megkönnyítésére rengeteg kényelmi funkcióval rendelkezik az alkalmazás. Többek között, ahol csak lehetett, szenzitív és kontextustól függő help került a grafikus felhasználói felületbe. A működtetés megkönnyítésének érdekében a legtöbb rendszeresen elvégzendő diagnosztikai művelet automatizálására lehetőség van. A gyors betanulás érdekében a support -on, és az oktatáson kívül (lásd később) egy intenzív oktató DVD is megtalálható a szoftvercsomagban. A DVD tartalma a teljes kezelési útmutató interaktív változata, mely minden apró beállításon végigvezeti az üzemeltetőt. Az oktatás, és a folyamatos support igénybe vétele persze emellett is nagyon hasznos segítség, mert nyilván a videó megtekintése közben nincs lehetőség a visszacsatolásra.

A részletes dokumentáción kívül egyéb módon is segítséget kapnak az üzemeltetők. A rendszert meg lehet tekinteni, és kipróbálni működés közben is egy demonstrációs hálózaton. Itt valós veszélyhelyzeteket (vírusfertőzéseket, támadásokat, hardver meghibásodásokat) előidézve a leendő üzemeltetőknek a H9 fejlesztő munkatársai bemutatják, mit kell tenni a különböző problémák esetén.
Egy vállalati hálózat üzemeltetése igen nagy felelősség, nagyon sok múlik a számítógépes infrastruktúrán. Nem engedhető meg, hogy egy nem várt káreset bekövetkeztekor az üzemeltető a szoftver részletes dokumentációját tanulmányozza napokon át, amikor órák is nagy bevételkiesést jelenthetnek. Ilyenkor, rendkívül nagy segítséget jelent a szoftver support -ja, amikor is a H9 terméktámogatást nyújtó kollégái a helyszínen a rendszergazdákkal együttműködve, hárítják el a problémát a szoftver segítségével.

A szoftver felhasználói felületének készítésekor egyedüli szempont az egyszerű használhatóság volt. Ez egy grafikus szoftver, ami meglehetősen eltérő a korábban használt eszközök megjelenésétől, lévén azok inkább héjprogramok voltak, melyet karakteres módban, minden egyes kliensen futtatni kellett. Ennél lényegesen egyszerűbb dolga van az üzemeltetőknek ezzel a felhasználói felülettel, ugyanis itt az összes kliensre ki tud adni parancsokat, vagy le tud kérdezni számtalan paramétert.

Egy alkalmazás használhatóságát nagy mértékben befolyásolja az a tényező, hogy az adott szoftverrel párhuzamosan milyen hasonló megoldásokat futtat a felhasználó – üzemeltető, mivel ezek kompatibilitási problémákat okozhatnak. Tekintve, hogy a szoftver semmilyen eszközön, protokollon, stb. nem igényel kizárólagos hozzáférést, ezért nincs technikai akadálya egyéb, korábban hasznát segédprogram, vagy kiegészítő alkalmazás futtatásának. Ám, lévén ez egy egész hálózatra kiterjedő alkalmazás csomag, nem igényli egyéb segédprogram használatát.

 

5. Megbízhatóság



  1. Működés:

  1. Karbantarthatóság

  1. Hordozhatóság

  1.  Rendelkezésre állás

A szoftverek megbízhatósága  többféleképpen jellemezhető. A szoftverek körében leggyakrabban az MTBF-et (Mean Time Between Failure), vagyis a két hiba közötti átlagos időt adják meg, általában órában. Az MTTR (Mean Time To Repair) a javítások átlagos időtartamát jelenti, az MTTR hosszát főleg a hiba felderítésének ideje, vagyis a diagnosztika gyorsasága határozza meg. Az MTBF és az MTTR értékéből már adódik a százalékban kifejezhető rendelkezésre állás. Például a H9-Lab esetében az MTBF 10 ezer óra és az MTTR 5 óra értékű, így a szoftvernek 99,95 százalékos a rendelkezésre állása, egy évben tehát átlagosan csak valamivel kevesebb, mint 4 óra 23 percet áll.

A rendelkezésre állás mértékét a következő mennyiségekkel jellemezhetjük:

Rendelkezésre állási tényező (Availability (A)): A rendelkezésre állási tényező a helyes működés ideje a teljes üzemidőhöz viszonyítva. Azt fejezi ki, hogy egy véletlenszerű időpontban a rendszer mekkora valószínűséggel működik jól.

H9-Lab rendszer biztosítja a megfelelő rendelkezésre állást.
A rendelkezésre állás paraméterei a H9-Lab szoftverre nézve:

    MTFF=    25000    óra
    MTTF=    9995      óra
    MTBF=    10000    óra
    MTTR=    5            óra

A = MTTF / MTBF = MTTF / [MTTF + MTTR]=9995/(9995+5)=0,9995
Tehát rendelkezésre állási tényező 99,95%, s így a maximális kiesési idő 1 év alatt kb. 4 óra 20 perc.
A rendszer rendelkezésre állásának növelése érdekében a következőket tehetjük:



6. Teljesítmény



Az igények maradéktalan teljesítése - vagyis milyen teljesítményt várunk a programtól - a fejlesztések esetében technológiai korlátokba ütközhet. Annak eldöntése, hogy az adott elvárások a technológia adott szintje mellett teljesíthetőek-e, speciális vizsgálatokat, teszteket igényelhetnek, amelyek elkészítéséhez szakértő bevonására van szükség.
A tesztelést szokás azonosítani a szoftver minőségbiztosításával, holott a kettő nem ugyanaz, de valóban a tesztelés, illetve a tesztelés során feltárt hibák a leglátványosabb megnyilvánulásai a nem-megfelelőségnek, vagy is ennek során tapasztaljuk azt, hogy az adott teljesítmény eléréséhez nem mindig a szoftverben kell keresni a hibát, hanem azon a hardveren, amelyen a H9 -et futtatjuk.

A legfontosabb tesztek, mellyel a szoftver teljesítményét adhatjuk meg a következők:

A tesztekhez szükséges „műterhelés” kiváltásához sokszor tesztalkalmazást kell készíteni, mellyel a H9 programcsomag rendelkezik.
 

A hálózat mérése, az adatok feldolgozása, tárolása és az eredmények megjelenítése, a riasztások küldése egy számítógépen történik, melynek hardver- és szoftverigényei a következők:

Webkiszolgáló futhat egy dedikált számítógépen, vagy egy már meglévő számítógépen. Nem javasolt felhasználó által hozzáférhető labori gépen futtatni. Ugyanezen a számítógépen futnak még a gépeket kezelő és adatgyűjtő komponensek. Ezt a számítógépet üzemképes állapotban kell tartani legalább abban az időintervallumban, amikor a labor számítógépei üzemelnek. Célszerű a nap 24 órájában üzemeltetni. Ennek a számítógépnek figyelembe kell venni az üzemeltetők számát, de főként a menedzselt labori számítógépek számát, mivel az adatgyűjtő komponens számításigényes műveleteket végez, ez nagy gépszám eseten komoly teljesítményt igényel. Mivel a számítógépnek hosszú ideig ( esetleg állandóan ) folyamatosan kell működnie, ezért javasolt a szünetmentes tápegységről történő üzemeltetés.

Ajánlott operációs rendszerek :

Mérhető portok száma

Processzor

Memória

Háttértár

24 portig

Pentium III 800MHz

256 MByte

20 GB IDE / SCSI merevlemez RAID tömbben

25-48 port között

Pentium IV 1,4 GHz

256 MByte

30 GB IDE / SCSI merevlemez  RAID tömbben

48 port felett

Pentium IV 2 GHz

512 MByte

40 GB SCSI / SCSI merevlemez  RAID tömbben



Mivel az alkalmazás alapvetően interaktív, a rövid válaszidő kulcskérdés. Legfeljebb 1-2 tizedmásodperces válaszidők engedhetők meg. A hálózat a lehető legkisebb hálózati válaszidő érdekében lehetőleg 100Mbites végpontokkal, gigabites gerinccel rendelkezzen.
Az olyan műveleteknél amelyek futási ideje várhatóan ennél hosszabb, meg kell jeleníteni a folyamat állapotát jelző és türelmes várakozásra bíró ablakot. ( Például: „Kérem várjon...” felirat )

A felhasználói felületnek olyannak kell lennie, hogy a felhasználók különösebb betanulás nélkül is kényelmesen tudják kezelni, de emellett a hatékony használat lehetőségét is biztosítani kell, ezért minél több funkcióra célszerű gyorsbillentyűt is definiálni.

Minőségi probléma a távoli kliens számítógépek néhány folytonosan változó patamétereinek valós időben történő követése. Mivel a lekérdező utasítások csak diszkrét időközönként adhatóak ki, ezért, hogy a valós idejűnek tűnjenek a megjelenített paraméterek, nagyon rövid időegységenként kell kiadni a lekérdező utasításokat. Tehát minőségi elvárás egy olyan kis időszelet megállapítása, ami még nem terheli a kliensek CPU-ját, és hálózati forgalmat, viszont a diagnosztikához elegendő mértékben kelti a valós idejű megjelenítés illúzióját.
Tehát az állomások lekérdezése ciklikusan történik, a ciklusidő 10 másodperc és 10 perc között szabadon változtatható, de nem az interaktív kezelői felületen, hanem egy konfigurációs file módosításával. ( Alapértelmezés 1 perc)

A H9 programcsomag egyik legjelentősebb része a Packer alkalmazás képessé teszi a Packet Maker-t futtató hardvereszközöket az egymás között zajló forgalom tömörítésére, ezáltal a hálózat látszólagos sebességének növelésére az eredeti sávszélesség megőrzésével. Ezzel a távoli hálózatokat kis sávszélességgel összekötő (pl. VPN) kapcsolatok sávszélessége jelentősen megnövelhető, vagy a valós sávszélesség (és így a ráfordított költség) csökkentésével hasonló teljesítményű adatkapcsolati csatorna hozható létre.
Az eszköz képességei lehetővé teszik a tömörítés optimalizálását, a várakozási idő lecsökkentését és forgalom-típusonként eltérő tömörítési beállítások alkalmazását.
A moduláris felépítésből adódóan egyszerűen bővíthető új algoritmusokkal.
A Packet Maker helye a hálózatban általában a helyi hálózatnak a WAN útválasztóhoz kapcsolódó szegmensében helyezik üzembe. Előnye, hogy egyszerűen beilleszthető a meglevő hálózatokba és nem teszi szükségessé új protokollok használatát, az útválasztó átkonfigurálását. A Packet Maker nem jelent újabb hibaforrást a hálózatban: ha elromlana, vagy kikapcsoljuk, akkor rövidzárként viselkedik. Az eszközt egyszerűen, web-alapú böngésző segítségével érhetjük el és menedzselhetjük.



7. Támogatottság



A H9-Lab programcsomag lehetőséget biztosít arra, hogy a hálózati forgalmat valós időben monitorozzuk és értékeljük, a történésekről pillanatok alatt tudomást szerezzünk. A program SNMP ( Simple Network Management Protocol ) protokoll segítségével méri a hálózat menedzselhető eszközein áthaladó forgalmat, a portok rendelkezésre állását, valamint ha szükséges a válaszidőt is. A mérés során egy gépet kapcsolunk a hálózatba amelyen a H9-Lab webkiszolgálója fut. Követelmény, hogy a gép el tudja érni IP ( Internet Protokoll ) protokollon keresztül a mérendő eszközöket. Ezen felül a mérendő eszközöknek SNMP protokollt is kell támogatniuk. A H9-Lab adott időközönként lekérdezi az eszköz megfelelő SNMP változóit ( forgalom, port státusz ), majd az adatokat feldolgozza és eltárolja az adatbázisában későbbi visszakeresés céljából



A telepítés feltételei


A H9-Lab bekonfigurálásához és működéséhez elengedhetetlenül fontosak a következő feltételek, információk:



Ismerni kell:

 

A program felhasználói szintjei

A program többszintű felhasználói rendszerrel működik, van egy magasabb és egy alacsonyabb felhasználói szint.
A különböző szintű felhasználóknak különböző jogosultságaik vannak.

A program indítása után, egy bejelentkező képernyő jelenik meg, ami kéri a login nevet és a jelszót. Ezek megadása után lesz elérhető a felhasználói szintnek megfelelő menürendszer. Működés közben is lehetséges a felhasználóváltás.

Ezeken a szinteken kívül természetesen lehetőség van több custom ( egyéni ) szint létrehozására, ahol saját biztonsági logikánkat alakíthatjuk ki.

Természetesen lehetőség van az alapértelmezett alacsony felhasználói szint módosítására ( például a karbantartót vezetői üzemeltetői jogokkal ruházzuk fel stb... )



Karbantartók munkáját segítő alkalmazások:



Naplózás és archiválás

A parancsokat a rendszerbe bejelentkezve az üzemeltető adhatja ki a kiválasztott számtógépnek, vagy egyszerre több számítógépnek. A parancsok végrehajtásának sikerességéről, eredményeiről visszajelzést kap a parancs kiadója, ezek természetesen naplózásra kerülnek.

 

8. Tervezési korlátozások



Az alkalmazás a számítógép-architektúrákat illetően nem szab különösebb megkötéseket, kizárólag az operációs rendszer iránt van megkötés, mégpedig az, hogy legyen UNIX származék, sőt, erősen javasolt a Linux operációs rendszer használata.

Az alkalmazás jellegét tekintve meglehetősen komplex feladatot lát el. Több különböző absztrakciós szinten kell függvényeket, eljárásokat, modulokat implementálni. Ez természetesen azt vonja maga után, hogy az egyes rétegekben természetesen eltérő technológiákat, programozási nyelveket kell alkalmazni. Ez gyakran teljesen más szemléletet vár el a programozótól, néhol egészen rendszer közeli nyelveken, néhol pedig objektum orientált módon kell az adott feladatot lekódolni. Mivel a rétegeket a lehető legpontosabban kell egymáshoz illeszteni, nagyon fontos a fejlesztők közötti gyors kommunikáció, és részletes dokumentáció, valamint az egyes munkafázisok időben történő helyes ütemezése.

Az alkalmazás komponensei több különböző számítógépen, és azoknak több különböző rétegében fognak működni.
Az első absztrakciós szint a felhasználói felület, melynek segítségével lehet a labor gépeiről a különböző információkat megtekinteni, illetve instrukciókat kiadni. Ezt a komponenst is több különböző programozási nyelven kell implementálni. A webes alkalmazást PHP, XHTML és CSS nyelvek segítségével implementáltjuk. Itt kell megjegyezni egy apróbb megszorítást. Bár nem jelentős, de köztudott, hogy néhány szoftvergyártó cég által piacra bocsátott böngésző nem támogatja a html szabványokat, ezért előfordulhat, hogy az egyes böngészőkben a felhasználói környezet másképp jelenik meg.
A második absztrakciós szinten található a szoftver azon komponense, mely a webes felületről érkező, kéréseket közvetítő komponensétől érkezik. Ennek a feladatnak az ellátásához a Python programnyelvet használtuk.
A harmadik absztrakciós szint már a labor felügyelt számítógépein fut. Ezen a szinten történik minden adatgyűjtés, melyet többek között C és különböző héj program nyelveken, például Bourne Shell segítségével implementálunk. Itt kell megjegyezni, hogy bár a Bourne Shell egy szkript nyelv, tehát annak hordozhatósága felől semmi kétség, ám ami a C programot illeti, az architektúrák esetleges különbözőségei miatt javasolt a C nyelvi program forráskódjának újrafordítása minden egyes kliensen.

A fejlesztő környezetet tekintve a paletta meglehetősen színes. Az összes absztrakciós szinten olyan programnyelveket, és technológiákat használtunk, melyek egyszerű szövegszerkesztő programok segítségével előállíthatóak. Ám, néhány intelligensebb fejlesztőeszköz, mely támogatja a syntax highlighting-ot, illetve rendelkezik kontextusfüggő help-pel nagyon megkönnyíti és hatékonnyá teszi a fejlesztést.

Többnyire a következő szövegszerkesztő szoftvereket használtuk: Nano (Chris Allegretta), GNU Midnight Commander, PHP Designer 2005. (MPSOFTWARE).
Ezen kívül szükség volt egy C nyelvi fordítóra, ehhez az Unix rendszereken elterjedt GNU Compiler Collection-t alkalmaztuk. Elengedhetetlen szoftver volt még a fejlesztés során egy megbízható, szabványokat támogató webböngésző, ehhez Mozilla Firefox-ot használtunk. A dokumentációt GNU OpenOffice2 szoftvercsomag WYSYWG szövegszerkesztőjével készítettük, hogy az egyes dokumentumok verziókövetésének problémáját jól kézben tudjuk tartani.

A fejlesztésre fordított időt nagyban megnövelte, hogy nem akartunk olyan előre elkészített komponenseket beépíteni a programunkba, melyek használata valamilyen kompromisszumot igényelt volna az előre elkészített specifikációhoz képest. Sokszor a beépülő modulok tudása jóval meghaladta a megkívánt működését, ez jókora munkát jelentett volna a felesleges részek eltávolításakor, néhol pedig éppen hogy több funkcióra lett volna szükség a meglévőnél.

 

9. On-line dokumentáció és Help rendszer

Az on-line dokumentációra szükség van, hiszen ez segíti a felhasználót egy olyan információforráshoz, melyben digitálisan, egyszerűen, gyorsan lehet keresni, gondolok itt pl. a gyik -re

A kivitelezésre vonatkozólag a következő szempontokat érdemes betartani a könnyű kezelhetőség és használhatóság érdekében.  Szakkifejezésektől mentes megfogalmazásokat érdemes alkalmazni, hiszen ez egy olyan dokumentum, melyet a legegyszerűbb felhasználónak is értenie kell. Az on-line dokumentum egyes pontjainak elérése a dokumentum elején található tartalomból való hivatkozással, melynek segítségével a felhasználó, illetve az üzemeltető könnyebben megtalálhatja a számára szükséges információt.

- Az on-line dokumentum tartalma:

    - Bemutatás : A H9 rövid, általános leírása, és legújabb verziójának funkcióijának ismertetése.

    - Történelem : A program egyes verzióiban milyen új, fontos megoldások, fejlesztések illetve lehetőségek láttak napvilágot, ezek leírása ebben a pontban történik

    - Fájlok : A telepítés előtti illetve a telepítés utáni fájlok közül azok magyarázata, melyek a felhasználó számára megkönnyíti a konfigurálás  lehetőségét, a későbbi finomítgatásokat elkerülve

    - Install : A telepítés menetének leírása, illetve a telepítéshez kapcsolódó opciók leírása : pl. "setup -xn"

    - Hibaüzenetek : A telepítés, illetve a program futása során keletkezett hibaüzenetek magyarázata, és mindegyikre legalább egy megoldási lehetőség

    - Felület : A H9 felhasználói felületéről általában

    - Nyelv : Mind a program, mind a on-line dokumentáció elérhető több, előre elkészített nyelven, de kérésre bármilyen nyelvre lefordítható a program

    - Segédprogramok: A H9 által használt segédprogramok leírása, azok funkciói, illetve opciói / kapcsolói

    - GYIK : A H9 használóiban gyakran felmerülő, gyakran ismételt kérdések. Ez rész folyamatosan bővíthető a felhasználók / illetve üzemeltetők telefonon, e-mailben vagy más módon feltett kérdéseik alapján

    - Köszönet : Köszönetnyilvánítás a H9 fejlesztése során kapott segítségekért

    - Terméktámogatás / Garancia : A Szoftver eladása mellett milyen terméktámogatás nyújtható, és milyen garancia vállalható. Az elérhetőség megadás külön pontban ( telefonszám, e-mail ) A telefonon keresztüli terméktámogatás munkaidőben vehető igénybe.

    - Jogszabályok : A program használata során felmerülő esetleges jogi kérdések

    - Irodalom : Irományok melyek segíthetik a felhasználót, illetve az üzemeltetőt egy rendszer-felügyeleti program környezetének  megismerésével ( hálózat kezelés, biztonság, operációs rendszerek jellemzői stb. )

 

10. Felhasznált kész komponensek – Third-party Components



A 8. alpontban feltüntetett három absztrakciós szint szerint különbontva olvasható a felhasznált komponensek, technológiák listája.

Az első absztrakciós szint a felhasználói felület. Ezen a szinten, minden komponens saját modulból áll, az authentikáció, az egyes kezelőfelületek, diagramok, egyedi fejlesztésű szoftverkomponensek. A szoftver hierarchiájában a következő néhány szoftver rejtve marad, de a háttérben rengeteg olyan beépülő komponens működik, melyek a webes felület megfelelő működéséért felelősek.

Webes alkalmazásról lévén szó, elengedhetetlen egy web szerver használata, mely a H9 szoftver esetén az Apache HTTP Server, mely licence a GPL licenccel kompatibilis (http://www.apache.org/licenses/GPL-compatibility.html) Az Apache-ba több beépülő csomag került, mely a webes felület működéséhez elengedhetetlen volt. Többek között a dinamikus weboldalak előállításhoz a PHP nyelvi modul került felhasználásra. Mivel a webes felületen több grafikon valós idejű előállítására van szükség, ezért a PHP modul a Boutell.Com Inc cég által kifejlesztett GD library grafikus beépülő osztálykönyvtárral egészül ki, mely szintén GPL licenc alá tartozik.

A második absztrakciós szint a webes felületről érkező kéréseket dolgozza fel. Ezen a szinten több olyan technológia épül a szoftverbe, mely implementálása nagyobb költséggel járt volna, mint egy kész, mások által fejlesztett komponens használata. A webes kéréseket egy Python nyelven megírt egyedi daemon dolgozza fel. A Python programnyelv értelmezője a http://www.python.org webcímről szerezhető be. A Python GPL licencel kompatibilis.

A harmadik absztrakciós szint a kliensgépeken található. C nyelvi programok, és Unix héjprogramok nyerik ki a hardware, és egyéb rendszer információkat, és küldik tovább a szerveren található Python programnak. (második absztrakciós szint) Ebben a rétegben is több, külső program van jelen. A hardver jellemzők monitorozása az LM_Sensors (http://secure.netroedge.com/~lm78) program segítségével történik. Az LM_Sensors a GPL licenc alá tartozik. Mivel a kliensekről begyűjtött információkat el kell juttatni a szerveren futó Python szkriptnek, ezért szükséges volt valamilyen – lehetőleg biztonságos – hálózati protokollon keresztül adattovábbítást megvalósítani. A H9 szoftver ehhez az OpenSSH programot használja, mely szintén GPL licencű. A hálózati eszközök (routerek, stb.) monitorozására a net-snmp-t használja a H9 szoftver. Ennek segítségével információkat lehet kinyerni egy SNMP-képes eszközből, lehetőség van SNMP képes eszközök konfigurálására, stb. További nagyon hasznos, beépülő modul az RRDTool, mely egy olyan segédprogram, ami képes ciklikusan mintavételezett adatokból, mint például hálózati sávszélességekből, eszközök szobahőmérsékletéből, számítógép töltésének átlagidejéből, statisztikát készíteni. Egy a fent említetthez hasonló beépülő szoftver a Cricket. Ez is szintén time-series adatok monitorozására való. Két komponensből tevődik össze, a collector és a grapher. A collector végzi a mintavételezést meghatározott időközönként, és adatokat RRDTool segítségével dolgozza fel. Később az így összegyűjtött adatok a grapher segítségével, grafikonok, és egyéb statisztikák formájában megtekinthetőek. A cricket szintén a GNU General Public Licence alá tartozik.

 

11. Interfészek

11.1. Felhasználói interfészek

A H9 programcsomag felhasználói felülete egy webes felület, ami egy webböngésző program használatával érhető el. A H9 nem használ semmilyen konkrét böngésző specifikus elemeket, szabványokat, így mindegyik elterjedt böngészővel ugyanolyan minőségben használható. Egy webböngésző használatához elegendő tudással manapság már minden számítógépet látott ember rendelkezik. A felületen a HTML, CSS szabványok és a JavaScript szkriptnyelv használatos.

A felhasználó először egy belépési oldallal találkozik, itt a megfelelő felhasználónév és jelszó páros begépelése után a belépés gombra kattintva jut tovább a felhasználó a program főoldalához, hibás felhasználónév vagy jelszó esetén újra próbálkozhat a felhasználó a belépéssel. A főoldalon található egy menürendszer, amin keresztül elérhetőek az adatlekérdezési és vezérlési funkciók és más egyéb menüpontok:

 

11.2. Hardware interfészek

A H9 programcsomag nem vezet be új hardware-t a rendszerbe. A főkomponensnek célszerű külön számítógépet dedikálni, ez lehet egy már a rendszerben létező gép is, de erősen ajánlott egy a H9 fejlesztők által beállított számítógépet használni, amely kizárólag csak a H9 rendszer feladatait látja el. Ebben az esetben egy új számítógép kerül a létező rendszerbe, de ez fizikailag megegyezik egy normál számítógéppel.

11.3. Software interfészek

A H9 szoftver több más szoftvert használ:

 

11.4. Kommunikációs interfészek

A H9 programcsomag a felügyelt számítógépekkel IP alapú hálózaton keresztül kommunikál különböző TCP és UDP feletti protokollokon. Az információlekérdezés SNMP protokollon keresztül történik a főkomponens és a labor gépei között. Ez egy UDP alapú protokol, így a lehető leggyorsabb a válaszadás az információlekérésre. A vezérlés SSH protokollon keresztül került megvalósításra. Ez egy TCP alapú protokoll, ezzel biztosítva van minden információ átvitele, az SSH protokoll ezenfelül még titkosítást és felhasználó azonosítást is végez a maximális biztonság érdekében. A webböngésző programok a TCP alapú HTTP protokoll titkosított verzióján keresztül kapcsolódnak a felhasználói felület webkiszolgálójához. A IP protokoll használata lehetővé teszi, hogy a felhasználói felületet a világ bármely pontjáról elérhető legyen, bármilyen fizikai összeköttetésen keresztül. Nem csak az Interneten, hanem akár hagyományos telefonvonalon vagy mobiltelefonon keresztül is.



12. Alkalmazott szabványok

12.1. Kötelezően alkalmazandó szabványok



A hatályos törvényi előírások közül a jótállási és szavatossági kötelezettségek betartását kell szem előtt tartani.

A jótállás garantálja, hogy bizonyos időtartamon belül a termék kifogástalanul fog működni, és ez alól a felelősség alól csak akkor mentesül a szoftver kifejlesztő cég,  ha bizonyított, hogy a vevő rendeltetésellenesen használta a terméket. A törvényileg előírt egy éves jótálláson felül a H9 alkalmazásra az eladó további harminc év jótállást vállal.

Szavatossággal az eladó felelősséget vállal, hogy az eladáskor hibátlan terméket adott át a vevőnek, tehát nincs olyan rejtett hibája, amely később derül ki. Szavatosság keretében a vevőnek kell bizonyítania, hogy vétlen a meghibásodásban, a hiba már eladáskor benne volt az áruban, de az átadáskor, vagyis a szerződés teljesítésekor még nem lehetett észlelni azt. Vírus, vagy külső program okozta meghibásodásból eredő károkért az eladó nem felel.

 

12.2. Választás alapján alkalmazott szabványok

 

A hálózati szabványok terén már létező szabványokra esett a választás, egyrészt kiforrottságuk és kompatibilitásuk miatt, másrészt kész szabványok használatával tetemes munkaidő megspórolható. A hálózaton a TCP/IP a használt protokoll család. Ezekre épül protokollokat használ a H9 szoftver:

SNMP: könnyűsúlyú, hálózati menedzsmentre használt protokoll. A H9 programcsomag a labor számítógépeiről kérdez le adatokat segítségével. További információkat lásd: RFC 1157, RFC 1441 dokumentumokban.

HTTP: az Internet legismertebb protokollja, webböngészők és webszerverek kommunikációs szabványa. A H9 szoftver a webes felület eléréséhez használja. További információkat lásd: RFC 2616 dokumentumban.

HTTPS: a HTTP titkosított verziója. További információkat lásd: RFC 2818 dokumentumban.

SSH: titkosított távoli számítógép elérést biztosító protokoll. A H9 program a labor gépeinek vezérlésére, és néhány adatgyűjtő funkciójában használja. További információkat lásd: RFC 4250, 4251, 4252, 4253, 4254 dokumentumokban.