服务器数据收集

一、机器整体信息收集

主要用到的命令:

ipmitool lan print       #获取ipmi地址

hostname                   #获取主机名

dmidecode -t system #获取设备型号和sn等信息

import subprocess
hostname = subprocess.Popen("hostname", stdout=subprocess.PIPE, shell=True).stdout.read().decode().split('\n')[0]
IPMI = subprocess.Popen("ipmitool lan print | grep 'IP Address '| grep -v Source | awk -F ':' '{print $2}'", stdout=subprocess.PIPE, shell=True).stdout.read().decode().split('\n')[0]
filter_keys = ['Manufacturer','Serial Number', 'Product Name', 'UUID', 'Wake-up Type']
for key in filter_keys:
    try:
        res = subprocess.Popen("dmidecode -t system | grep '%s'" % key, stdout=subprocess.PIPE, shell=True)
        result = res.stdout.read().decode
        data_list = result.split(':')
        if len(data_list) > 1:
            raw_data[key]  = data_list[1].strip()
        else:
            raw_data[key] = ''
    except Exception as e:
        print(e)
        raw_data[key] = ''
data = dict()
data['Manufacturer'] = raw_data['Manufacturer']
data['sn'] = raw_data['Serial Number']
data['model'] = raw_data['Product Name']
data['uuid'] = raw_data['UUID']
data['wale_up_type'] = raw_data['Wake-up Type']
data['hostname'] = hostname
data['IPMI'] = IPMI

二、操作系统信息收集

三、cpu信息收集

四、内存信息收集

五、网卡信息收集

六、磁盘信息收集

七、显卡信息收集(nvidia)

八、集群信息收集

猜你喜欢

转载自www.cnblogs.com/qiushi2/p/12156933.html
今日推荐