Në punën time, shpesh kam obsesione për mungesën e informacionit rreth infrastrukturës, dhe ndërlikimi vetëm rritet me rritjen e parqet të serverëve që mbaj. Edhe kur administronim në organizata të vogla, gjithmonë doja të dija se çfarë ndodhte, se ku ishin lidhjet, kush ishte përgjegjës për cfarë pajisje ose shërbimi dhe, më e rëndësishmja, të regjistroja ndërrimet në të gjitha këto. Kur shkon në një vend të ri dhe përballesh me ndonjë incident, një sasi e madhe kohe shpenzohet për të gjetur këtë informacion. Më poshtë do të tregoj se me çfarë kam përballur në RuVDS dhe si e zgjodha problemin e përmendur në titull.
Historia e mëparshme
Si njĂ« administrator enterprise, kisha pak pĂ«rvojĂ« nĂ« punĂ«n nĂ« qendrat e tĂ« dhĂ«nave, por pashĂ« pĂ«r herĂ« tĂ« parĂ« RackTables. Ajo paraqiste qartĂ« raftin me tĂ« gjithĂ« serverĂ«t, UPS-tĂ«, kaluesit dhe tĂ« gjitha lidhjet midis tyre. NĂ« RuVDS nuk kishte njĂ« sistem tĂ« tillĂ«, vetĂ«m Excel/faqe tĂ« printuara me informacion rreth serverĂ«ve, disa komponentĂ«ve tĂ« tyre, numrave tĂ« rafteve, etj. Me njĂ« qasje tĂ« tillĂ« Ă«shtĂ« shumĂ« e vĂ«shtirĂ« tĂ« ndjekĂ«sh ndĂ«rrimet dhe komponentĂ«t e vegjĂ«l. Dhe materiali mĂ« i rĂ«ndĂ«sishĂ«m dhe mĂ« shpesh i zĂ«vendĂ«sueshĂ«m pĂ«r serverĂ«t janĂ« diskĂ«t. ĂshtĂ« shumĂ« e rĂ«ndĂ«sishme tĂ« ruhet informacioni aktual mbi gjendjen e diskĂ«ve dhe rezervat strategjike tĂ« tyre. NĂ«se njĂ« disk del nga RAID dhe nuk ka zĂ«vendĂ«sim tĂ« shpejtĂ«, kjo mund tĂ« rezultojĂ« nĂ« pasoja fatale. Prandaj, na nevojitet njĂ« sistem qĂ« ndjek pozitat e diskĂ«ve dhe gjendjen e tyre, pĂ«r tĂ« kuptuar se çfarĂ« mund tĂ« na mungojĂ« dhe cilat modele specifike duhet tĂ« blejmĂ«.
GLPI erdhi nĂ« ndihmĂ«, njĂ« produkt me kod tĂ« hapur, i krijuar pĂ«r tĂ« pĂ«rmirĂ«suar funksionimin e departamenteve IT dhe pĂ«r t'i çuar ato nĂ« ideale ITIL. Ajo disponon jo vetĂ«m pĂ«r inventarizimin e pajisjeve dhe menaxhimin e rafteve, por gjithashtu pĂ«rmban njĂ« bazĂ« njohurish, njĂ« servis desk, menaxhim dokumentesh dhe shumĂ« mĂ« tepĂ«r. GLPI ka shumĂ« plugins, pĂ«rfshirĂ« FusionInventory dhe OCS Inventory, tĂ« cilat lejojnĂ« mbledhjen automatik tĂ« informacionit rreth kompjuterĂ«ve dhe pajisjeve tĂ« tjera pĂ«rmes instalimit tĂ« agenteve dhe SNMP. MĂ« shumĂ« rreth instalimit tĂ« GLPI dhe plugins mund tĂ« lexoni nĂ« artikujt e tjerĂ«, mĂ« mirĂ« do tĂ« ishteâ . Mund ta instaloni atĂ« te ne nĂ« hostimin tonĂ« nĂ« njĂ« shabllon tĂ« gatshĂ«m .
Megjithatë, pas implementimit të agentit, ne do të hapim komponentët e kompjuterit në GLPI dhe do ta shohim këtë:

Problemi është se asnjë nga skedarët e zgjerimit nuk mund të shohë informacionin mbi diskët fizikë në grumbujt RAID LSI. Pas duke parë se si është zgjidhur ky problem për monitorimin në Zabbix me ndihmën e një skripti PowerShell vendosa të shkruaj një të ngjashëm për të transferuar informacionin në GLPI.
Të dhënat e diskëve në grumbull mund të merren përmes mjeteve nga prodhuesi i kontrollorit, në rastin e LSI, kjo është StorCLI. Nga ajo mund të fitojmë të dhëna në formatin JSON, t'i përpunojmë dhe t'i kalojmë në API-në e GLPI. Diskët do t'i lidhim me kompjuterët që FusionInventory i ka krijuar tashmë. Kur të ekzekutohet përsëri, skripti do të përditësojë të dhënat për diskët dhe do të shtojë të rinj. Vetë skripti Send-RAIDtoGLPI.ps1 ndodhet . Më pas do të flas si ta përdorni atë.
ĂfarĂ« do tĂ« nevojitet
- versioni 9.5.1 (ky është testuar)
- Plugini dhe një agjent për Windows
- Windows 2012 R2 (dhe më lart) si sistem host, ose një VM menaxhimi me kontrollorin e lidhur, PowerShell versioni 4 ose më lart
- Drejtuar MegaRAID-n
- Moduli pĂ«r PowerShell â
- Llogari në GLPI me profil Admin për autorizim përmes API, me UserToken dhe AppToken të gjeneruara
Një pikë e rëndësishme. Në GLPI për një arsye ka 2 entitete të ndryshme për modelin e diskut, por nuk ka pronën "tipi i medias". Prandaj për të regjistruar pronat HDD dhe SSD, vendosa të përdor listën zbritëse "Modelet e diskëve të fortë" (front/devicemodel.php?itemtype=DeviceHardDriveModel). Për skriptin, nevojiten këto vlera në bazën e të dhënave GLPI, ndryshe ai nuk do të jetë në gjendje të regjistrojë të dhënat mbi modelin e diskut. Prandaj duhet të shtoni këto vlera në atë listën e zbrazët, së pari HDD, pastaj SSD, në mënyrë që ID-të e këtyre elementeve në bazë të jenë 1 dhe 2. Nëse ka të tjera, atëherë zëvendësoni në këtë rresht të skriptit Send-RAIDtoGLPI.ps1 pas HDD dhe SSD me ID-të përkatëse 1 dhe 2:
deviceharddrivemodels_id = switch ($MediaType) { "HDD" { "1" }; "SSD" { "2" }; default { "" } }Nëse nuk doni të merret me këtë ose nëse përdorni këtë listë ndryshe, mund të thjesht fshini këtë rresht nga skripti.
Gjithashtu, duhet të shtoni statuset për diskët në "Statuset e elementeve" (front/state.php). Unë kam shtuar statuset "MediaError" (pati një gabim në aksesimin e disku) dhe "OK", rreshti në skriptin ku dërgohen ID-të e tyre, "2" për "OK" dhe "1" për "MediaError":
states_id = switch ($MediaError) { 0 { "2" }; { $_ -gt 0 } { "1" } }Këto statuse janë të nevojshme për lehtësi, nëse këto prona janë të panevojshme për ju, mund të fshini gjithashtu këtë rresht plotësisht.
Në skriptin vetë, mos harroni të specifikoni variablat tuaj. $GlpiCreds duhet të përmbajë URL-në e serverit API GLPI, UserToken dhe AppToken.
ĂfarĂ« ka nĂ« skript
Për shkak të JSON-parsimit të vështirë dhe shumë if-ësh, skripti është e vështirë për t'u lexuar, prandaj do ta përshkruaj logjikën e tij këtu.
Në startin e parë në host, skripti kalon nëpër të gjitha kontrollorët dhe kërkon disqet në bazën e të dhënave GLPI sipas numrave serial, dhe nëse nuk i gjen, kërkon modelin. Nëse nuk gjen as modelin, shton modelin e ri të disqit në GLPI dhe e regjistron këtë disk në bazë.
Në çdo kalim të ri, skripti do të përpiqet të zbulojë disqe të reja, por nuk di të fshijë ato që mungojnë, kështu që do të duhet ta bëni këtë manualisht.
Shembulli i shpërndarjes
Në repository-n e skriptit ka një skript Deploy-Send-RAIDtoGLPI.ps1, i cili do të shkarkojë një arkiv ZIP me skedarët e nevojshëm nga serveri ynë GLPI dhe do t'i shpërndajë ato në çdo host.
Pas kopjimit të skedarëve, skripti do të instalojë agjentin FusionInventory me fillimin si një detyrë të përditshme dhe do të krijojë një detyrë të tillë për skriptin tonë. Pas aplikimit të suksesshëm, ne në fund do të mund ta shohim diskin në seksionin "Komponentët" e kompjuterit në GLPI.
Rezultati
Tani, duke hyrë në GLPI në menunë "Cilësimet" -> "Komponentët" -> "Disqe", mund të klikojmë në modelet e disqeve dhe të shikojmë numrin e tyre për të kuptuar se çfarë duhet të blejmë.

Burimi: habr.com
