戴尔R740服务器获取cpu、内存、硬盘参数信息。
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,戴尔R740服务器获取cpu、内存、硬盘参数信息。使用redfish协议,只使用了system的一个总URL即可获取所有参数。import requestsimport jsonrequests.pa
千家信息网最后更新 2026年11月02日戴尔R740服务器获取cpu、内存、硬盘参数信息。
戴尔R740服务器获取cpu、内存、硬盘参数信息。使用redfish协议,只使用了system的一个总URL即可获取所有参数。
import requestsimport jsonrequests.packages.urllib3.disable_warnings()##使用一个system总的URL分别获取到cpu、内存、存储三个url.所以只修改system的URL即可##sel日志单独使用URL获取class GetHostInfo(object): def __init__(self,ipaddr,username,password): self.URLprefix='https://'+ipaddr.strip() self.username=username.strip() self.password=password.strip() global token ##同时存在4-5个token链接,每个token链接时间为5分钟,可以自己设置。 token=0 tokenurl=self.URLprefix+'/redfish/v1/Sessions' ##dell获取token的ID print(tokenurl) data={ "UserName":self.username, "Password":self.password } header={ "Content-Type":"application/json" } re1=requests.post(tokenurl,json.dumps(data),headers=header,verify=False) #re1=requests.post(tokenurl,auth=(self.username,self.password),headers=header,verify=False) print (re1.status_code) if re1.status_code == 201: #print (re1.json()) #print (re1.headers) print (re1.headers['X-Auth-Token']) token=re1.headers['X-Auth-Token'] else: pass def GetInfo(self,URL_suffix): #定义总获取函数,传参url的后半部分。如'/redfish/v1/Systems/1/Memory' urlset=self.URLprefix+URL_suffix if token !=0: header = { "Content-Type":"application/json", "X-Auth-Token":token } re1=requests.get(urlset,headers=header,verify=False) print(re1.status_code) return re1.json() else: passdef Collect_Info(ipaddr,username,password): dell740=GetHostInfo(ipaddr,username,password) ####total_system_URL收集/redfish/v1/Systems/System.Embedded.1 select_system_total = '/redfish/v1/Systems/System.Embedded.1' #print('cpu_total', hw2288HV5.GetInfo(select_cpu_total)) temp_system_result1= dell740.GetInfo(select_system_total) if isinstance(temp_system_result1,dict) and ('error' not in temp_system_result1.keys() ): ##处理cpu cpu = temp_system_result1['Processors']['@odata.id'] ##获取CPU的URL #print ('Processors',dell740.GetInfo(cpu)) cpu_result1 = dell740.GetInfo(cpu) cpu_count = cpu_result1['Members@odata.count'] cpu_URLsuffix_list = [x['@odata.id'] for x in cpu_result1['Members']] print('CPU count:', cpu_count) for single_cpuurl in cpu_URLsuffix_list: singlecpu_result2= dell740.GetInfo(single_cpuurl) if isinstance(singlecpu_result2, dict) and ('error' not in singlecpu_result2.keys()): #print ('singlecpu_result2',singlecpu_result2) print('CPU single name:', singlecpu_result2['Name']) print('CPU single ID:', singlecpu_result2['Id']) print('CPU single TotalCores(cpus):', singlecpu_result2['TotalCores']) print('CPU single Model(cpus):', singlecpu_result2['Model']) ###处理内存 memory = temp_system_result1['Memory']['@odata.id'] ##获取内存的URL memory_result1 = dell740.GetInfo(memory) memory_count = memory_result1['Members@odata.count'] memory_URLsuffix_list = [x['@odata.id'] for x in memory_result1['Members']] print ('Memory count:',memory_count) for single_memoryurl in memory_URLsuffix_list: singlememory_result2 = dell740.GetInfo(single_memoryurl) if isinstance(singlememory_result2, dict) and ('error' not in singlememory_result2.keys()): #print('singlecpu_result2', singlememory_result2) print('Memory name:', singlememory_result2['Name']) print('Memory ID:', singlememory_result2['Id']) print('Memory Size:', singlememory_result2['CapacityMiB']) print('Memory Type:', singlememory_result2['MemoryDeviceType']) ##处理存储 storage = temp_system_result1['Storage']['@odata.id'] ##获取存储URL #print ('storage',dell740.GetInfo(storage)) storage_result1 = dell740.GetInfo(storage) storage_URLsuffix_list = [x['@odata.id'] for x in storage_result1['Members']] for single_storageurl in storage_URLsuffix_list: singlestorage_result2 = dell740.GetInfo(single_storageurl) if isinstance(singlestorage_result2, dict) and ('error' not in singlestorage_result2.keys()): #print('singlecpu_result2', singlestorage_result2) disk_count=singlestorage_result2['Drives@odata.count'] print('disk count:',disk_count) print('storage name:',singlestorage_result2['Id']) if disk_count >0: ##有的URL中disk为0,不需要去获取值 single_disk_URLsuffix_list = [x['@odata.id'] for x in singlestorage_result2['Drives']] for disk_single in single_disk_URLsuffix_list: single_disk_result1 = dell740.GetInfo(disk_single) if isinstance(single_disk_result1, dict) and ('error' not in single_disk_result1.keys()): #print ('single_disk_result1',single_disk_result1) print('disk name:', single_disk_result1['Name']) print('disk ID:', single_disk_result1['Id']) print('disk CapacityBytes:', single_disk_result1['CapacityBytes']) print('disk MediaType:', single_disk_result1['MediaType']) else: pass ##获取sel日志 logurlsuffix = '/redfish/v1/Managers/iDRAC.Embedded.1/Logs/Sel' ##日志sel sellog=dell740.GetInfo(logurlsuffix) if isinstance(sellog,dict) and ('error' not in sellog.keys() ): print('SEL log:',sellog)if __name__ == '__main__': Collect_Info('10.252.209.7', 'username', 'password')
内存
日志
处理
存储
参数
链接
信息
服务器
硬盘
戴尔
服务
三个
函数
半部
同时
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州为想互联网科技有限公司
互联网金融监管科技数据
科技信息互联网
互联网 科技
互联网科技排名
互联网科技视频
艾特科技互联网
丰台科技园 互联网
沃里互联网科技
赫美联合互联网科技
互联网科技小额贷款
互联网科技素材视频竖屏
科技与互联网哪个更好
重庆威客帮互联网科技
昭通互联网科技选哪家
同城互联网络科技
杭州科技互联网公司有哪些
重庆科技产业互联网有哪些
优雇互联网科技有限公司
如何强化互联网金融科技
上海挚品互联网科技有限公司
广东猪兼强互联网科技有限公司
科技互联网公司装修
科技与互联网的利与弊
科技互联网的估值
北京华百购互联网科技有限公司
互联网大会黑科技排名
玉溪新华互联网科技好不好
科技大学互联网
领航科技大厦互联网公司