千家信息网

曙光I1620G30获取设备的cpu、内存、存储等参数信息。

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,曙光I1620G30获取设备的cpu、内存、存储等参数信息。原本打算使用redfish协议获取信息,无奈厂家说暂时不支持,只好使用restfull协议获取信息。import requestsreque
千家信息网最后更新 2025年12月03日曙光I1620G30获取设备的cpu、内存、存储等参数信息。

曙光I1620G30获取设备的cpu、内存、存储等参数信息。原本打算使用redfish协议获取信息,无奈厂家说暂时不支持,只好使用restfull协议获取信息。

import requestsrequests.packages.urllib3.disable_warnings()class GetHostInfo(object):    def __init__(self,ipaddr,username,password):        self.username=username        self.password=password        self.URLprefix='http://' + ipaddr.strip()        global token    ##同时存在4-5个token链接,每个token链接时间为5分钟,可以自己设置。        global cookie        token=0        cookie=0        tokenurl=self.URLprefix+'/api/session'        print(tokenurl)        data={            "username":self.username,            "password":self.password            }        re1=requests.post(tokenurl,data=data,verify=False)        print (re1.status_code)        if re1.status_code == 200:            #print (re1.json())            # print(re1.status_code)            # print(re1.json())            # print('header:', re1.headers)            # temp = re1.json()            # print(temp['CSRFToken'])            #print(re1.headers)            #print (re1.json())            temp_header=re1.headers            cookie=temp_header['Set-Cookie']            temp_token=re1.json()            token=temp_token['CSRFToken']            print (cookie)            print (token)        else:            pass    def GetInfo(self,URL_suffix):  #定义总获取函数,传参url的后半部分。如'/api/system1/memory'        urlset=self.URLprefix + URL_suffix.strip()        #print(urlset)        # print ('token:',token)        # print ('cookie:',cookie)        if cookie != 0  and token != 0 :            header = {                "Content-Type":"application/json,text/javascript",                'X-Requested-With':'XMLHttpRequest',                "X-CSRFTOKEN":token,                "Cookie":cookie                }            re1=requests.get(urlset,headers=header,verify=False)            print(re1.status_code)            return (re1.json())        else:            passdef Collect_Info(ipaddr,username,password):    SuGon=GetHostInfo(ipaddr,username,password)    ####处理CPU    select_cpu_total = '/api/serverrepo/cpus'    #print('cpu_total', SuGon.GetInfo(select_cpu_total))    temp_cpu_result1= SuGon.GetInfo(select_cpu_total)    if isinstance(temp_cpu_result1,list) :        cpu_count = len(temp_cpu_result1)        print('@' * 50)        print('CPU Count:', cpu_count)        for cpu_single in temp_cpu_result1:            if isinstance(cpu_single, dict):                print('CPU single name:',cpu_single['Location'])                print('CPU single ID:',cpu_single['id'])                print('CPU single TotalCores(cpus):', cpu_single['CoreThread'])                print('CPU single Model(cpus):', cpu_single['BrandName'])    ####处理内存    select_mem_total = '/api/serverrepo/mems'    # print('mem_total', SuGon.GetInfo(select_mem_total))    temp_mem_result1 = SuGon.GetInfo(select_mem_total)    memory_count=0    if isinstance(temp_mem_result1, list):        mem_count = len(temp_mem_result1)        print('@' * 50)        print('Memory Count(exist):', mem_count)        for mem_single in temp_mem_result1:            if isinstance(mem_single, dict):                Memory_Size = mem_single['Size']                #print ('Memory_Size AAAAA',Memory_Size)                if Memory_Size:                    memory_count+=1                    print('Memory name:', mem_single['Location'])                    print('Memory ID:', mem_single['id'])                    print('Memory Size:', Memory_Size)                    print('Memory Type:', mem_single['DimmType'])                else:                    pass    print('Memory Count(alive):', memory_count)    ####处理存储,无raid的查询    select_storage_total = '/api/serverrepo/hdds'    # print('storage_total', SuGon.GetInfo(select_storage_total))    temp_storage_result1 = SuGon.GetInfo(select_storage_total)    if isinstance(temp_storage_result1, list):        mem_count = len(temp_storage_result1)        print('@' * 50)        print('Storage Count:', mem_count)        for storage_single in temp_storage_result1:            if isinstance(storage_single, dict):                print('Storage name:', storage_single['Location'])                print('Storage ID:', storage_single['id'])                print('Storage Size:', storage_single['Size'])                print('Storage Type:', storage_single['Mode'])    ##处理日志    selecteventlog = '/api/logs/eventlog'  ##post    selectselinfo = '/api/logs/selinfo'  ##get    print('selectselinfo', SuGon.GetInfo(selectselinfo))    print('selecteventlog', SuGon.GetInfo(selecteventlog))if __name__ == '__main__':    Collect_Info('10.249.177.29', username', 'password')
处理 信息 内存 存储 链接 参数 设备 曙光 函数 半部 厂家 原本 同时 无奈 日志 时间 支持 查询 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 长盈网络技术有限公司 软件开发过程的主要环节 党政机关网络安全自查表 币合网络技术有限公司 网络安全技术研究院 阿里云自带的服务器管理器 上海卫生健康网络安全知识 软件开发企业成本太低了 java软件开发路线 软件开发会遇到什么问题如何解决 网络转行做软件开发 发票邮件服务器是否正常工作 扫描远程服务器端口 关系型数据库管理系统的产品 网络安全产品取名字大全 简单谈谈怎样提高计算机网络安全 北华航天工业学院数据库 数据库原理及技术课后习题 完美服务器打csgo很卡 威力网络技术价目表 网络安全宣传专题教育课 茂名通信软件开发费用 德阳软件开发价格多少 网络安全信息报告单 软件开发成本估算由谁完成 即时通讯软件开发费用是多少 南京品质优良网络技术服务价格 owl读取到图数据库 魔兽世界免费转服服务器3.12 网络安全的即兴演讲
0