NĂ« punĂ«n time, shpesh pĂ«rballĂ«m me obsesione pĂ«r mungesĂ«n e informacionit mbi infrastrukturĂ«n, dhe me rritjen e numrit tĂ« serverĂ«ve tĂ« menaxhuar, kjo bĂ«het njĂ« torturĂ« e vĂ«rtetĂ«. Edhe kur kam administruar nĂ« organizata tĂ« vogla, gjithmonĂ« kam dashur tĂ« di se çfarĂ« ndodhet ku, cila pajisje ose shĂ«rbim pĂ«rgjigjet pĂ«r cilin person, dhe mĂ« e rĂ«ndĂ«sishmja â tĂ« regjistroj ndryshimet nĂ« gjithçka kĂ«tu. Kur arrin nĂ« njĂ« vend tĂ« ri dhe pĂ«rballesh me ndonjĂ« incident, shpenzohet shumĂ« kohĂ« pĂ«r tĂ« gjetur kĂ«tĂ« informacion. MĂ« poshtĂ«, do tĂ« tregoj pĂ«r atĂ« me çfarĂ« kam pĂ«rballur nĂ« RuVDS dhe si e zgjida problemin e pĂ«rmendur nĂ« titull.
Pas historia
Si administrator i njĂ« ndĂ«rmarrjeje, nuk kisha shumĂ« pĂ«rvojĂ« nĂ« qendrat e tĂ« dhĂ«nave, por e pashĂ« me sy tĂ« lirĂ« RackTables. Ajo paraqiste qartĂ« raftin me tĂ« gjithĂ« serverĂ«t, UPS, switch-at dhe tĂ« gjitha lidhjet ndĂ«rmjet tyre. NĂ« RuVDS nuk kishte njĂ« sistem tĂ« tillĂ«, por vetĂ«m Excel/dokumente papir pĂ«r informacionin mbi serverĂ«t, disa nga komponentĂ«t e tyre, numrat e rafteve etj. Me njĂ« qasje tĂ« tillĂ«, Ă«shtĂ« shumĂ« e vĂ«shtirĂ« tĂ« ndjekĂ«sh ndryshimet dhe komponentĂ«t e vegjĂ«l. Dhe materiali mĂ« i rĂ«ndĂ«sishĂ«m dhe shpesh i ndĂ«rruar i konsumit pĂ«r serverĂ«t janĂ« diskĂ«t. ĂshtĂ« shumĂ« e rĂ«ndĂ«sishme tĂ« mbahet informacioni aktual mbi gjendjen e diskĂ«ve dhe rezervĂ«n strategjike tĂ« tyre. NĂ«se njĂ« disk del nga RAID dhe nuk ka njĂ« zĂ«vendĂ«sim tĂ« shpejtĂ«, kjo mund tĂ« çojĂ« nĂ« pasoja fatale. Prandaj, na nevojitet njĂ« sistem qĂ« ndjek vendndodhjen e diskĂ«ve dhe gjendjen e tyre, pĂ«r tĂ« kuptuar se çfarĂ« mund tĂ« na mungojĂ« dhe cilat modele tĂ« sakta duhet tĂ« blejmĂ«.
GLPI er nĂ« ndihmĂ«, njĂ« produkt me source tĂ« hapur, i krijuar pĂ«r tĂ« pĂ«rmirĂ«suar punĂ«n e departamenteve IT dhe pĂ«r t'i çuar ato nĂ« standardet ITIL. Ai pĂ«rfshin, pĂ«rveç inventarizimit tĂ« pajisjeve dhe menaxhimit tĂ« rafteve, njĂ« bazĂ« njohurish, njĂ« shĂ«rbim ndihme, menaxhimin e dokumenteve dhe shumĂ« mĂ« tepĂ«r. GLPI ka shumĂ« plugina, pĂ«rfshirĂ« FusionInventory dhe OCS Inventory, tĂ« cilat lejojnĂ« mbledhjen automatikisht tĂ« informacionit mbi kompjuterĂ«t dhe pajisje tĂ« tjera pĂ«rmes instalimit tĂ« agenteve dhe SNMP. MĂ« shumĂ« rreth instalimit tĂ« GLPI dhe plugineve mund tĂ« lexoni nĂ« artikuj tĂ« tjerĂ«, mĂ« sĂ« miri â . Mund ta instaloni atĂ« nĂ« janĂ« nĂ« hostimin tonĂ« nĂ« njĂ« shabllon tĂ« gatshĂ«m .
Megjithatë, pas deployimit të agjentit, do të hapim komponentët e kompjuterëve në GLPI dhe do ta shohim këtë:

Problemi është se asnjë nga plugina nuk mund të shohë informacionin mbi disqet fizike në masivët RAID LSI. Pas vëzhgimit se si është zgjidhur kjo çështje për monitorimin në Zabbix me një skenar PowerShell vendosa të shkruaj një të ngjashëm për të transmetuar informacionin në GLPI.
Të dhënat mbi diskët në të njëjtin grup mund të merren nëpërmjet utilitarëve nga prodhuesi i kontrolluesit, në rastin e LSI-së, kjo është StorCLI. Nga ajo mund të nxirren të dhëna në formatin JSON, të shqipërtohen dhe të kalohen në API GLPI. Diskët do të lidhen me kompjuterët që FusionInventory tashmë i ka krijuar. Në ekzekutimin e përsëritur, skripta do të përditësojë të dhënat për diskët dhe do të shtojë të rinj. Skripta vetë Send-RAIDtoGLPI.ps1 ndodhet . Më pas do t'ju tregoj se si ta përdorni.
ĂfarĂ« nevojitet
- versioni 9.5.1 (në këtë version është testuar)
- Plugin dhe agjenti për Windows
- Windows 2012 R2 (dhe më lart) si sistem host, ose VM menaxhimi me kontrolluesin e kaluar, PowerShell versioni 4 ose më lart
- Drejtuesi MegaRAID i instaluar
- Moduli pĂ«r PowerShell â
- Konto në GLPI me profil Admin për autorizim përmes API-së, UserToken dhe AppToken të gjeneruara
Një pikë e rëndësishme. Në GLPI, për disa arsye, ekzistojnë 2 entitete të ndryshme për modelin e diskut, por nuk ka një pronë "tipi i medias". Prandaj, për të shënuar pronat HDD dhe SSD, vendosa të përdor një listë rënie "Modele të Hard Diskëve" (front/devicemodel.php?itemtype=DeviceHardDriveModel). Për skriptin është e nevojshme që këto vlera të jenë në databazën e GLPI, përndryshe ai nuk do të jetë në gjendje të regjistrojë të dhënat për modelin e diskut. Prandaj, duhet të shtoni së pari HDD, pastaj SSD në këtë listë të zbrazët, në mënyrë që ID-të e këtyre elementeve në databazë të rezultojnë 1 dhe 2. Nëse do të ketë të tjera, atëherë zëvendësoni në këtë rresht të skriptit Send-RAIDtoGLPI.ps1 pas HDD dhe SSD vendosni ID-të përkatëse: 1 dhe 2.
deviceharddrivemodels_id = switch ($MediaType) { "HDD" { "1" }; "SSD" { "2" }; default { "" } }Nëse nuk doni të merremi me këtë ose nëse e përdorni këtë listë rënie ndryshe, mund ta hiqni thjesht këtë rresht nga skripti.
Gjithashtu, duhet të shtoni statuset për diskët në "Statuset e Elementëve" (/front/state.php). Unë kam shtuar statuset "MediaError" (nëse ka pasur një gabim në aksesimin e diskut) dhe "OK", rreshti në skript, ku kalohen 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ësinë e përdorimit, nëse këto veçori nuk janë të nevojshme për ju, mund të hiqni edhe këtë rresht krejtësisht.
Në skriptin mos harroni të specifikoni variablat tuaj. $GlpiCreds duhet të përmbajë URL-në e serverit të API GLPI, UserToken dhe AppToken.
ĂfarĂ« Ă«shtĂ« nĂ« skript
Për shkak të JSON-it voluminoz dhe kushtit if, skripti është pak i vështirë për t'u lexuar, prandaj do ta përshkruaj logjikën e tij këtu.
Në nisjen 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 përmes numrave të serisë, nëse nuk i gjen, kërkon modelin. Nëse nuk gjen as modelin, atëherë e shton modelin e ri të diskut në GLPI dhe e regjistron këtë diskut në bazë.
Në çdo kalim të ri, skripti do të përpiqet të zbulojë disqe të reja, por nuk di të heqë ato që mungojnë, prandaj kjo do të duhet të bëhet manualisht.
Shembulli i shpërndarjes
Në repozitorin 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 copjimit të skedarëve, skripti do të instalojë agjentin FusionInventory me nisje si një detyrë e përditshme dhe do të krijojë një detyrë të ngjashme për skriptin tonë. Pas zbatimit të suksesshëm, në fund do të jemi në gjendje të shohim disqet në seksionin "Komponentët" e kompjuterit në GLPI.
Rezultati
Tani, duke hyrë në GLPI në meny "Cilësimet" -> "Komponentët" -> "Disqet e Fortë", mund të klikojmë në modelet e disqeve dhe të shohim numrin e tyre, për të kuptuar se çfarë na nevojitet për të blerë.

Burimi: habr.com
