Inventario RAID LSI en GLPI

Inventario RAID LSI en GLPI
No meu traballo, adoito experimentar obsesións pola falta de información sobre a infraestrutura, e co aumento do número de servidores que se atende, isto convértese nunha verdadeira tortura. Mesmo cando era administrador de pequenas organizacións, sempre quixen saber cal era onde, onde se conectaba, que persoas eran responsables de que hardware ou servizo e, o máis importante, rexistrar os cambios en todo isto. Cando chegas a un lugar novo e atopas un incidente, pasas moito tempo buscando esta información. A continuación, vouvos contar o que tiven que enfrontarme en RuVDS, e como resolvín o problema indicado no título.

prehistoria

Como administrador da empresa, tiña pouca experiencia traballando nun centro de datos, pero entreguei RackTables. Mostraba claramente o rack con todos os servidores, UPS, interruptores e todas as conexións entre eles. RuVDS non tiña un sistema deste tipo, senón só ficheiros Excel/papel con información sobre servidores, algúns dos seus compoñentes, números de rack, etc. Con este enfoque, é moi difícil rastrexar os cambios en pequenos compoñentes. Pero os consumibles máis importantes e frecuentemente substituídos para servidores son os discos. É moi importante manter a información actualizada sobre o estado dos discos e a súa reserva estratéxica. Se unha unidade falla dunha matriz RAID e non se substitúe rapidamente, isto pode levar a consecuencias mortais. Polo tanto, realmente necesitamos un sistema que faga un seguimento da localización dos discos e do seu estado para comprender o que nos pode faltar e que modelos necesitamos comprar.

GLPI veu ao rescate, un produto de código aberto deseñado para mellorar o rendemento dos departamentos de TI e achegalos aos ideais de ITIL. Ademais do inventario de equipos e a xestión de bastidores, conta cunha base de coñecemento, mesa de servizo, xestión de documentos e moito máis. GLPI ten moitos complementos, incluíndo FusionInventory e OCS Inventory, que che permiten recoller automaticamente información sobre ordenadores e outros dispositivos mediante a instalación do axente e SNMP. Podes ler máis sobre a instalación de GLPI e complementos noutros artigos, o mellor de todo: documentación oficial. Podes instalalo no noso hospedaxe nun modelo preparado Lámpadas.

Non obstante, despois de implantar o axente, abriremos os compoñentes do ordenador en GLPI e veremos isto:

Inventario RAID LSI en GLPI
O problema é que ningún dos complementos pode ver información sobre os discos físicos nas matrices RAID LSI. Despois de ver como se resolve este problema para o seguimento en Zabbix mediante un script de PowerShell lsi-raid.ps1 Decidín escribir un similar para transferir información a GLPI.
Os datos sobre os discos da matriz pódense obter mediante utilidades do fabricante do controlador; no caso de LSI, este é StorCLI. Desde el podes obter datos en formato JSON, analizalos e pasalos á API GLPI. Enlazaremos os discos aos ordenadores que xa creou FusionInventory. Cando se execute de novo, o script actualizará os datos dos discos e engadirá outros novos. O propio script Send-RAIDtoGLPI.ps1 é aquí en GitHub. A continuación vouche dicir como usalo.

Que é necesario?

  1. GLPI versión 9.5.1 (probada nesta)
  2. Enchufar Inventario de fusión e axente para Windows
  3. Windows 2012 R2 (e superior) como sistema host, ou unha máquina virtual de xestión cun controlador inserido, PowerShell versión 4 ou superior
  4. Controlador MegaRAID instalado
  5. Módulo para PowerShell - PSGLPI
  6. Conta en GLPI con perfil de administrador para a autorización mediante a API xerada por UserToken e AppToken

Punto importante. Por algún motivo, GLPI ten 2 entidades diferentes para o modelo de disco, pero non hai ningunha propiedade "tipo de medio". Polo tanto, para gravar as propiedades de HDD e SSD, decidín usar a lista despregable "Modelos de disco duro" (front/devicemodel.php?itemtype=DeviceHardDriveModel). O script debe ter estes valores na base de datos GLPI, se non, non poderá escribir datos sobre o modelo de disco. Polo tanto, cómpre engadir primeiro HDD, despois SSD a esta lista baleira, para que os ID destes elementos na base de datos sexan 1 e 2. Se hai outros, substitúao nesta liña do script Send-RAIDtoGLPI.ps1 despois HDD e SSD en lugar de 1 e 2 os seus ID correspondentes:

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

Se non queres molestar con isto ou usas esta lista despregábel de forma diferente, podes simplemente eliminar esta liña do script.

Tamén cómpre engadir estados para os discos en "Estados dos elementos" (/front/state.php). Engadín os estados "MediaError" (houbo polo menos un erro de acceso ao disco) e "OK", unha liña no script onde se transmiten os seus ID, "2" para "OK" e "1" para "MediaError":

states_id = switch ($MediaError) { 0 { "2" }; { $_ -gt 0 } { "1" } }

Estes estados son necesarios por comodidade; se non precisas destas propiedades, tamén podes eliminar esta liña por completo.

No propio guión, non esquezas apuntar as variables á túa. $GlpiCreds debe conter o URL do servidor da API GLPI, UserToken e AppToken.

Que hai no guión

Debido á engorrosa análise de JSON e aos ifs baleiros, o script é difícil de ler, polo que aquí describirei a súa lóxica.

Cando se inicia por primeira vez no host, o script pasa por todos os controladores e busca discos na base de datos GLPI por números de serie; se non o atopa, busca o modelo. Se non atopa o modelo, engade o modelo do novo disco a GLPI e ingresa este disco na base de datos.

Cada novo pase o script intentará detectar novos discos, pero non sabe como eliminar os que faltan, polo que terás que facelo manualmente.

Exemplo de implantación

O repositorio de scripts contén o script Deploy-Send-RAIDtoGLPI.ps1, que descargará un arquivo ZIP cos ficheiros necesarios do noso servidor GLPI e implantalos en cada host.

Despois de copiar os ficheiros, o script instalará o axente FusionInventory para executalo como unha tarefa diaria e creará a mesma tarefa para o noso script. Despois da implementación exitosa, por fin poderemos ver as unidades na sección Compoñentes do ordenador en GLPI.

Resultado

Agora, indo a GLPI no menú "Configuración" -> "Compoñentes" -> "Discos duros", podemos facer clic nos modelos de unidades e ver a súa cantidade para comprender o que necesitamos comprar.

Inventario RAID LSI en GLPI
Inventario RAID LSI en GLPI

Fonte: www.habr.com

Engadir un comentario