GLPI da LSI RAID inventarizatsiyasi

GLPI da LSI RAID inventarizatsiyasi
Mening ishimda men ko'pincha infratuzilma haqida ma'lumot yo'qligi haqida obsesyonlarni boshdan kechiraman va xizmat ko'rsatilayotgan serverlar sonining ko'payishi bilan bu haqiqiy qiynoqlarga aylanadi. Kichik tashkilotlarda administrator boβ€˜lib ishlaganimda ham, men doimo nima borligini, u qayerga ulanganligini, qaysi apparat yoki xizmat uchun qaysi odamlar mas’ul ekanini bilishni, eng muhimi, bularning barchasidagi oβ€˜zgarishlarni qayd etishni istardim. Yangi joyga kelganingizda va voqeaga duch kelganingizda, bu ma'lumotni qidirishga ko'p vaqt sarflanadi. Keyinchalik, men sizga RuVDS-da nimaga duch kelganimni va sarlavhada ko'rsatilgan muammoni qanday hal qilganimni aytib beraman.

Sana oldin

Korxona ma'muri sifatida men ma'lumotlar markazida ishlash tajribasi kam edi, lekin men RackTables-ga ko'zim tushdi. U barcha serverlar, UPS, kalitlar va ular orasidagi barcha ulanishlar bilan raftni aniq ko'rsatdi. RuVDS-da bunday tizim yo'q edi, faqat serverlar, ularning ba'zi komponentlari, raf raqamlari va boshqalar haqida ma'lumotga ega bo'lgan Excel/qog'oz fayllari. Ushbu yondashuv bilan kichik komponentlardagi o'zgarishlarni kuzatish juda qiyin. Ammo serverlar uchun eng muhim va tez-tez almashtiriladigan sarf materiallari disklardir. Disklarning holati va ularning strategik zaxirasi to'g'risida dolzarb ma'lumotlarni saqlash juda muhimdir. Agar haydovchi RAID qatoridan ishlamay qolsa va tezda almashtirilmasa, bu oxir-oqibat halokatli oqibatlarga olib kelishi mumkin. Shuning uchun, bizga nima etishmayotganini va qaysi modellarni sotib olishimiz kerakligini tushunish uchun disklarning joylashishini va ularning holatini kuzatadigan tizim kerak.

IT bo'limlari faoliyatini yaxshilash va ularni ITIL ideallariga etkazish uchun mo'ljallangan ochiq kodli mahsulot GLPI yordamga keldi. Uskunalarni inventarizatsiya qilish va raflarni boshqarishdan tashqari, u bilimlar bazasi, xizmat ko'rsatish stoli, hujjatlarni boshqarish va boshqalarga ega. GLPI-da FusionInventory va OCS Inventory kabi ko'plab plaginlar mavjud bo'lib, ular sizga agentni o'rnatish va SNMP orqali kompyuterlar va boshqa qurilmalar haqida avtomatik ravishda ma'lumot to'plash imkonini beradi. GLPI va plaginlarni o'rnatish haqida ko'proq ma'lumotni boshqa maqolalarda o'qishingiz mumkin, eng muhimi - rasmiy hujjatlar. Siz uni tayyor shablonda xostingimizga o'rnatishingiz mumkin LAMP.

Biroq, agentni joylashtirgandan so'ng, biz GLPI da kompyuter komponentlarini ochamiz va buni ko'ramiz:

GLPI da LSI RAID inventarizatsiyasi
Muammo shundaki, plaginlarning hech biri LSI RAID massivlarida jismoniy disklar haqidagi ma'lumotlarni ko'ra olmaydi. PowerShell skriptidan foydalangan holda Zabbix-da monitoring qilish uchun ushbu muammo qanday hal qilinishini ko'rib chiqdik lsi-raid.ps1 Ma'lumotni GLPI ga o'tkazish uchun shunga o'xshash yozishga qaror qildim.
Massivdagi disklar haqidagi ma'lumotlarni kontroller ishlab chiqaruvchisidan yordam dasturlari yordamida olish mumkin; LSI holatida bu StorCLI. Undan JSON formatidagi ma'lumotlarni olishingiz, uni tahlil qilishingiz va GLPI API-ga o'tkazishingiz mumkin. Disklarni FusionInventory allaqachon yaratgan kompyuterlar bilan bog'laymiz. Qayta ishga tushirilganda, skript disklardagi ma'lumotlarni yangilaydi va yangilarini qo'shadi. Skriptning o'zi Send-RAIDtoGLPI.ps1 hisoblanadi bu erda GitHub-da. Keyinchalik uni qanday ishlatishni aytaman.

Nima talab qilinadi?

  1. GLPI 9.5.1 versiyasi (bu sinovdan o'tgan)
  2. Plugin FusionInventarizatsiya va Windows uchun agent
  3. Windows 2012 R2 (va undan yuqori) xost tizimi sifatida yoki boshqaruvchi-VM, unga kiritilgan kontroller, PowerShell 4 yoki undan yuqori versiyalari
  4. O'rnatilgan MegaRAID drayveri
  5. PowerShell uchun modul - PSGLPI
  6. UserToken va AppToken tomonidan yaratilgan API orqali avtorizatsiya qilish uchun Administrator profiliga ega GLPIdagi hisob

Muhim nuqta. Ba'zi sabablarga ko'ra, GLPI disk modeli uchun 2 xil ob'ektga ega, ammo "media turi" xususiyati yo'q. Shuning uchun, HDD va SSD xususiyatlarini yozib olish uchun men "Qattiq disk modellari" ochiladigan ro'yxatidan foydalanishga qaror qildim (front/devicemodel.php?itemtype=DeviceHardDriveModel). Skript GLPI ma'lumotlar bazasida ushbu qiymatlarga ega bo'lishi kerak, aks holda u disk modeli haqida ma'lumot yoza olmaydi. Shuning uchun, siz ushbu bo'sh ro'yxatga birinchi HDD, keyin SSD qo'shishingiz kerak, shunda ma'lumotlar bazasidagi ushbu elementlarning identifikatorlari 1 va 2 bo'ladi. Agar boshqalar bo'lsa, keyin Send-RAIDtoGLPI.ps1 skriptining ushbu qatoriga almashtiring. 1 va 2 o'rniga HDD va SSD mos keladigan identifikatorlari:

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

Agar siz bu bilan bezovta qilishni xohlamasangiz yoki ushbu ochiladigan ro'yxatni boshqacha ishlatsangiz, ushbu qatorni skriptdan olib tashlashingiz mumkin.

Bundan tashqari, "Element Statuss" (/front/state.php) da disklar uchun statuslarni qo'shishingiz kerak. Men "MediaError" (kamida bitta diskka kirish xatosi bor edi) va "OK" holatlarini qo'shdim, skriptda ularning identifikatorlari uzatiladigan qator, "OK" uchun "2" va "MediaError" uchun "1":

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

Ushbu statuslar qulaylik uchun kerak; agar sizga bu xususiyatlar kerak bo'lmasa, siz ushbu qatorni butunlay o'chirib tashlashingiz mumkin.

Skriptning o'zida o'zgaruvchilarni siznikiga ko'rsatishni unutmang. $GlpiCreds GLPI API serveri, UserToken va AppToken manzilini o'z ichiga olishi kerak.

Skriptda nima bor

Jiddiy JSON tahlili va bo'sh if'lar tufayli skriptni o'qish qiyin, shuning uchun men bu erda uning mantig'ini tasvirlab beraman.

Xostda birinchi marta ishga tushirilganda, skript barcha kontrollerlardan o'tadi va seriya raqamlari bo'yicha GLPI ma'lumotlar bazasidan disklarni qidiradi, agar topmasa, modelni qidiradi, agar u modelni topmasa, u qo'shadi. yangi diskning modelini GLPI ga kiritadi va ushbu diskni ma'lumotlar bazasiga kiritadi.

Har bir yangi o'tishda skript yangi disklarni aniqlashga harakat qiladi, ammo etishmayotganlarni qanday olib tashlashni bilmaydi, shuning uchun uni qo'lda qilishingiz kerak bo'ladi.

O'rnatish misoli

Skript ombori Deploy-Send-RAIDtoGLPI.ps1 skriptini o'z ichiga oladi, u bizning GLPI serverimizdan kerakli fayllar bilan ZIP arxivini yuklab oladi va ularni har bir xostga joylashtiradi.

Fayllarni nusxalashdan so'ng, skript kundalik vazifa sifatida ishlash uchun FusionInventory agentini o'rnatadi va skriptimiz uchun xuddi shu vazifani yaratadi. Muvaffaqiyatli amalga oshirilgandan so'ng, biz nihoyat GLPI da kompyuterning Komponentlar bo'limida drayverlarni ko'rishimiz mumkin bo'ladi.

natija

Endi, "Sozlamalar" -> "Komponentlar" -> "Qattiq disklar" menyusida GLPI ga o'tish orqali biz nima sotib olishimiz kerakligini tushunish uchun haydovchi modellarini bosishimiz va ularning miqdorini ko'rishimiz mumkin.

GLPI da LSI RAID inventarizatsiyasi
GLPI da LSI RAID inventarizatsiyasi

Manba: www.habr.com

a Izoh qo'shish