Inventari LSI RAID në GLPI

Inventari LSI RAID në GLPI
Në punën time kam shpesh obsesione për mungesën e informacionit për infrastrukturën dhe me rritjen e numrit të serverëve që shërbehen, kjo kthehet në torturë të vërtetë. Edhe kur isha administrator në organizata të vogla, gjithmonë doja të dija se ku ishte, ku ishte kyçur, cilët njerëz ishin përgjegjës për cilin pjesë të harduerit ose shërbimit, dhe më e rëndësishmja, të regjistroja ndryshimet në të gjithë këtë. Kur vini në një vend të ri dhe hasni në një incident, harxhohet shumë kohë për të kërkuar këtë informacion. Tjetra, unë do t'ju tregoj se çfarë duhej të përballesha në RuVDS dhe si e zgjidha problemin e treguar në titull.

parahistorinë

Si administrator i ndërmarrjes, kisha pak përvojë duke punuar në një qendër të dhënash, por pashë një paraqitje të shkurtër të RackTables. Ai tregonte qartë raftin me të gjithë serverët, UPS-të, çelsat dhe të gjitha lidhjet midis tyre. RuVDS nuk kishte një sistem të tillë, por vetëm skedarë Excel/paper me informacione për serverët, disa nga komponentët e tyre, numrat e rafteve, etj. Me këtë qasje, është shumë e vështirë të gjurmohen ndryshimet në komponentët e vegjël. Por harxhimet më të rëndësishme dhe të zëvendësuara shpesh për serverët janë disqet. Është shumë e rëndësishme të ruhet informacioni i përditësuar mbi statusin e disqeve dhe rezervën e tyre strategjike. Nëse një disk dështon nga një grup RAID dhe nuk zëvendësohet shpejt, kjo përfundimisht mund të çojë në pasoja fatale. Prandaj, ne kemi vërtet nevojë për një sistem që gjurmon vendndodhjen e disqeve dhe gjendjen e tyre në mënyrë që të kuptojmë se çfarë mund të na mungojë dhe cilat modele duhet të blejmë.

Në shpëtim erdhi GLPI, një produkt me burim të hapur i krijuar për të përmirësuar performancën e departamenteve të IT dhe për t'i afruar ato me idealet ITIL. Përveç menaxhimit të inventarit të pajisjeve dhe rafteve, ai ka një bazë njohurish, tavolinë shërbimi, menaxhim dokumentesh dhe shumë më tepër. GLPI ka shumë shtojca, duke përfshirë FusionInventory dhe OCS Inventory, të cilat ju lejojnë të mbledhni automatikisht informacione rreth kompjuterëve dhe pajisjeve të tjera përmes instalimit të agjentit dhe SNMP. Mund të lexoni më shumë rreth instalimit të GLPI dhe shtojcave në artikuj të tjerë, më e mira nga të gjitha - dokumentacion zyrtar. Mund ta instaloni në hostin tonë në një shabllon të gatshëm LAMP.

Sidoqoftë, pas vendosjes së agjentit, ne do të hapim komponentët e kompjuterit në GLPI dhe do të shohim këtë:

Inventari LSI RAID në GLPI
Problemi është se asnjë nga shtojcat nuk mund të shohë informacione rreth disqeve fizike në grupet LSI RAID. Duke parë se si zgjidhet kjo çështje për monitorimin në Zabbix duke përdorur një skript PowerShell lsi-raid.ps1 Vendosa të shkruaj një të ngjashme për të transferuar informacion në GLPI.
Të dhënat për disqet në grup mund të merren duke përdorur shërbime nga prodhuesi i kontrolluesit; në rastin e LSI, ky është StorCLI. Prej tij mund të merrni të dhëna në formatin JSON, t'i analizoni dhe t'ia kaloni në GLPI API. Ne do t'i lidhim disqet me kompjuterët që FusionInventory ka krijuar tashmë. Kur të ekzekutohet përsëri, skripti do të përditësojë të dhënat në disqe dhe do të shtojë të reja. Vetë skripti Send-RAIDtoGLPI.ps1 është këtu në GitHub. Më pas do t'ju tregoj se si ta përdorni.

Çfarë do të kërkohet

  1. GLPI versioni 9.5.1 (testuar në këtë)
  2. Shtojca Inventari i Fusion dhe agjent për Windows
  3. Windows 2012 R2 (dhe më lart) si një sistem pritës, ose një VM menaxhimi me një kontrollues të futur në të, PowerShell version 4 ose më i lartë
  4. Drejtues i instaluar MegaRAID
  5. Moduli për PowerShell - PSGLPI
  6. Llogaria në GLPI me profilin e administratorit për autorizim nëpërmjet API-së së krijuar nga UserToken dhe AppToken

Pika e rëndësishme. Për disa arsye, GLPI ka 2 entitete të ndryshme për modelin e diskut, por nuk ka veçori "lloji i medias". Prandaj, për të regjistruar veçoritë e HDD dhe SSD, vendosa të përdor listën rënëse "Modelet e Hard Diskut" (front/devicemodel.php?itemtype=DeviceHardDriveModel). Skripti duhet t'i ketë këto vlera në bazën e të dhënave GLPI, përndryshe nuk do të jetë në gjendje të shkruajë të dhëna për modelin e diskut. Prandaj, duhet të shtoni së pari HDD, pastaj SSD në këtë listë boshe, në mënyrë që ID-të e këtyre elementeve në bazën e të dhënave të jenë 1 dhe 2. Nëse ka të tjerë, atëherë zëvendësoni në këtë rresht të skriptit Send-RAIDtoGLPI.ps1 pas HDD dhe SSD në vend të 1 dhe 2 ID-ve të tyre përkatëse:

deviceharddrivemodels_id = switch ($MediaType) { "HDD" { "1" }; "SSD" { "2" }; default { "" } }

Nëse nuk doni të shqetësoheni me këtë ose përdorni këtë listë rënëse ndryshe, thjesht mund ta hiqni këtë rresht nga skripti.

Ju gjithashtu duhet të shtoni statuse për disqet në "Element Statuses" (/front/state.php). Shtova statuset "MediaError" (kishte të paktën një gabim në aksesin e diskut) dhe "OK", një rresht në skriptin ku transmetohen 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 nevojiten për lehtësi; nëse nuk ju nevojiten këto veçori, mund ta fshini plotësisht këtë rresht.

Në vetë skriptin, mos harroni të drejtoni variablat tek tuajat. $GlpiCreds duhet të përmbajë URL-në e serverit GLPI API, UserToken dhe AppToken.

Çfarë është në skenar

Për shkak të analizimit të rëndë të JSON dhe if-ve boshe, skenari është i vështirë për t'u lexuar, kështu që unë do të përshkruaj logjikën e tij këtu.

Kur niset për herë të parë në host, skripti kalon nëpër të gjithë kontrollorët dhe kërkon disqe në bazën e të dhënave GLPI sipas numrave serialë; nëse nuk e gjen, kërkon modelin. Nëse nuk e gjen modelin, shton modeli i diskut të ri në GLPI dhe e fut këtë disk në bazën e të dhënave.

Çdo kalim i ri skripti do të përpiqet të zbulojë disqe të rinj, por nuk di se si t'i heqë ato që mungojnë, kështu që do t'ju duhet ta bëni atë me dorë.

Shembull i vendosjes

Depoja e skriptit përmban skriptin 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 vendosë ato në çdo host.

Pas kopjimit të skedarëve, skripti do të instalojë agjentin FusionInventory për t'u ekzekutuar si një detyrë e përditshme dhe për të krijuar të njëjtën detyrë për skriptin tonë. Pas zbatimit të suksesshëm, më në fund do të jemi në gjendje t'i shohim disqet në seksionin Përbërësit e kompjuterit në GLPI.

Result

Tani, duke shkuar te GLPI në menynë "Cilësimet" -> "Përbërësit" -> "Disqet e fortë", mund të klikojmë mbi modelet e disqeve dhe të shohim sasinë e tyre për të kuptuar se çfarë duhet të blejmë.

Inventari LSI RAID në GLPI
Inventari LSI RAID në GLPI

Burimi: www.habr.com

Shto një koment