曙光linux企业运维,曙光I1620G30获取设备的cpu、内存、存储等参数信息。

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

import requests

requests.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:

pass

def 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')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值