Пример #1
0
 def process(self, device, results, log):
     """collect WBEM information from this device"""
     log.info('processing %s for device %s', self.name(), device.id)
     try:
         bb = results['Linux_BaseBoard'][0]
         if not bb: return
         cs = results['Linux_ComputerSystem'][0]
         if not cs: return
         os = results['Linux_OperatingSystem'][0]
         if not os: return
         maps = []
         om = self.objectMap(cs)
         om.snmpLocation = ''
         om.snmpOid = ''
         if bb['_manuf'] not in EnterpriseOIDs.values():
             bb['_manuf'] = 'Unknown'
         om.setHWProductKey = MultiArgs(bb['_model'], bb['_manuf'])
         osmanuf = os['version'].split()[0]
         if osmanuf not in EnterpriseOIDs.values():
             osmanuf = 'Unknown'
         om.setOSProductKey = MultiArgs(os['version'], osmanuf)
         maps.append(om)
         maps.append(ObjectMap({ "serialNumber": bb['serialNumber'],
                                 "tag": bb['tag'],
                                 "totalMemory": (os['totalMemory'] * 1024)},
                                                             compname="hw"))
         maps.append(ObjectMap({"totalSwap": (os['totalSwap'] * 1024)},
                                                             compname="os"))
     except:
         log.warning('processing error')
         return
     return maps
Пример #2
0
 def process(self, device, results, log):
     """collect WMI information from this device"""
     log.info('processing %s for device %s', self.name(), device.id)
     rm = self.relMap()
     perfnames = {}
     instances = results.get("Win32_PerfRawData_PerfDisk_PhysicalDisk", None)
     if instances:
         for instance in instances:
             perfnames[instance['name'].split()[0]] = instance['snmpindex']
     instances = results.get("Win32_DiskDrive", None)
     if not instances: return
     for instance in instances:
         om = self.objectMap(instance)
         om.id = self.prepId('PHYSICALDRIVE%s'%om.id)
         try:
             if not om._mediatype or not om._mediatype.startswith('Fixed'):
                 continue
             om.perfindex = perfnames.get(str(instance['id']), None)
             if not om.perfindex: continue
             if om._model and not om._manuf: om._manuf = om._model.split()[0]
             if om._manuf not in EnterpriseOIDs.values(): om._manuf='Unknown'
             if om._model: om.setProductKey = MultiArgs(om._model, om._manuf)
         except AttributeError:
             raise
         rm.append(om)
     return rm
Пример #3
0
 def process(self, device, results, log):
     """collect WMI information from this device"""
     log.info('processing %s for device %s', self.name(), device.id)
     instances = results.get("Win32_Product", None)
     if not instances: return
     rm = self.relMap()
     for instance in instances:
         try:
             if instance['setInstallDate']:
                 instance['setInstallDate'] = str(instance['setInstallDate'])
             elif instance['_setInstallDate']:
                 instance['setInstallDate'] = '%s/%s/%s 00:00:00' % (
                                             instance['_setInstallDate'][:4],
                                             instance['_setInstallDate'][4:6],
                                             instance['_setInstallDate'][6:8])
             else: instance['setInstallDate'] = '1968/01/08 00:00:00'
             om = self.objectMap(instance)
             om.id = self.prepId(om.setProductKey)
             if om._vendor: om._vendor = om._vendor.split()[0]
             if om._vendor not in EnterpriseOIDs.values():
                 om._vendor = 'Unknown'
             om.setProductKey = MultiArgs(om.setProductKey, om._vendor)
             rm.append(om)
         except AttributeError:
             continue
     return rm
Пример #4
0
 def process(self, device, results, log):
     """collect WBEM information from this device"""
     log.info('processing %s for device %s', self.name(), device.id)
     try:
         cs = results['Linux_BaseBoard'][0]
         if not cs: return
         os = results['Linux_OperatingSystem'][0]
         if not os: return
         om = self.objectMap()
         if cs['_manuf'] not in EnterpriseOIDs.values():
             cs['_manuf'] = 'Unknown'
         om.setHWProductKey = MultiArgs(cs['_model'], cs['_manuf'])
         osmanuf = os['version'].split()[0]
         if osmanuf not in EnterpriseOIDs.values():
             osmanuf = 'Unknown'
         om.setOSProductKey = MultiArgs(os['version'], osmanuf)
     except:
         return
     return om
Пример #5
0
 def process(self, device, results, log):
     """collect WBEM information from this device"""
     log.info("processing %s for device %s", self.name(), device.id)
     try:
         cs = results["Linux_BaseBoard"][0]
         if not cs:
             return
         os = results["Linux_OperatingSystem"][0]
         if not os:
             return
         om = self.objectMap()
         if cs["_manuf"] not in EnterpriseOIDs.values():
             cs["_manuf"] = "Unknown"
         om.setHWProductKey = MultiArgs(cs["_model"], cs["_manuf"])
         osmanuf = os["version"].split()[0]
         if osmanuf not in EnterpriseOIDs.values():
             osmanuf = "Unknown"
         om.setOSProductKey = MultiArgs(os["version"], osmanuf)
     except:
         return
     return om
Пример #6
0
 def process(self, device, results, log):
     """collect WBEM information from this device"""
     log.info('processing %s for device %s', self.name(), device.id)
     try:
         bb = results['Linux_BaseBoard'][0]
         if not bb: return
         cs = results['Linux_ComputerSystem'][0]
         if not cs: return
         os = results['Linux_OperatingSystem'][0]
         if not os: return
         maps = []
         om = self.objectMap(cs)
         om.snmpLocation = ''
         om.snmpOid = ''
         if bb['_manuf'] not in EnterpriseOIDs.values():
             bb['_manuf'] = 'Unknown'
         om.setHWProductKey = MultiArgs(bb['_model'], bb['_manuf'])
         osmanuf = os['version'].split()[0]
         if osmanuf not in EnterpriseOIDs.values():
             osmanuf = 'Unknown'
         om.setOSProductKey = MultiArgs(os['version'], osmanuf)
         maps.append(om)
         maps.append(
             ObjectMap(
                 {
                     "serialNumber": bb['serialNumber'],
                     "tag": bb['tag'],
                     "totalMemory": (os['totalMemory'] * 1024)
                 },
                 compname="hw"))
         maps.append(
             ObjectMap({"totalSwap": (os['totalSwap'] * 1024)},
                       compname="os"))
     except:
         log.warning('processing error')
         return
     return maps
Пример #7
0
 def process(self, device, results, log):
     """collect WBEM information from this device"""
     log.info('processing %s for device %s', self.name(), device.id)
     rm = self.relMap()
     instances = results["Linux_Processor"]
     if not instances: return
     for instance in instances:
         om = self.objectMap(instance)
         try:
             om.socket = om.id
             om.id = prepId(om.id)
             manuf = om._name.split()[0]
             if manuf not in EnterpriseOIDs.values():
                 manuf = 'Unknown'
             om.setProductKey = MultiArgs(om._name, manuf)
         except AttributeError:
             continue
         rm.append(om)
     return rm