收集主机信息

收集主机信息,包括:

1、主机名:hostname

2、IP地址:ip

3、操作系统版本:osver

4、服务器厂商:vendor

5、服务器型号:product

6、服务器序列号:sn

7、cpu型号:cpu_module

8、cpu核心数量:cpu_num

9、内存大小

收集IP信息

[[email protected] systeminformation]# vim sysinformation.py

from subprocess import Popen,PIPE

def getIfconfig():
    p = Popen([‘ifconfig‘],stdout=PIPE)
    data = p.stdout.read()
    return data

def getDmi():
    p = Popen([‘dmidecode‘],stdout = PIPE)
    data = p.stdout.read()
    return data

def parseData(data):
    parsed_data = []
    new_line = ‘‘
    data = [i for i in data.split(‘\n‘) if i ]
    for line in data:
        if line[0].strip():
            parsed_data.append(new_line)
            new_line = line + ‘\n‘
        else:
            new_line +=line + ‘\n‘
    parsed_data.append(new_line)
    return parsed_data

def parseIfconfig(parsed_data):
    dic = {}
    tuple_addr= (‘lo‘,‘vir‘,‘vnet‘,‘em3‘,‘em4‘)
    parsed_data = [i for i in parsed_data if i and not i.startswith(‘tuple_addr‘)]
    for lines in parsed_data:
        line_list = lines.split(‘\n‘)
        devname = line_list[0].split()[0]
        macaddr = line_list[0].split()[-1]
        ipaddr = line_list[1].split()[1].split(‘:‘)[1]
        break
    dic [‘ip‘] = [devname, ipaddr, macaddr]
    return dic

if __name__ == "__main__":
    data = getIfconfig()
    parsed_data = parseData(data)
    print parseIfconfig(parsed_data)

[[email protected] systeminformation]# python sysinformation.py
{‘ip‘: [‘br1‘, ‘112.65.140.133‘, ‘A4:BA:DB:20:93:23‘]}
时间: 2024-12-25 15:21:16

收集主机信息的相关文章

Python收集主机信息

Python收集linux主机信息,需要安装dmidecode命令,yum -y install dmidecode #!/usr/bin/env python # coding=utf-8   from subprocess import Popen, PIPE   #获取ifconfig命令信息 def getIfconfig():     p = Popen(['ifconfig'], stdout=PIPE)     data = p.stdout.read().decode()    

python-Django收集主机信息

1.创建工程simplecmdb django-admin.py startproject simplecmdb 2.创建应用 cd simplecmdb python manage.py startapp hostinfo 3.编辑配置文件 vim simplecmdb/setting.py 1 INSTALLED_APPS = ( 2 'django.contrib.admin', 3 'django.contrib.auth', 4 'django.contrib.contenttypes

python学习:使用正则收集ip信息

使用正则表达式收集主机信息 #!/usr/bin/env python from subprocess import Popen, PIPE import re def getIfconfig(): p = Popen(['ifconfig'], stdout=PIPE) data = p.stdout.read().split('\n\n') return [i for i in data if i and not i.startswith('lo')] def parseIfconfig(d

自动化运维工具(一)之( 主机信息收集)

公司里一般都会对服务器信息统计,(如服务器 cpu.内存.系统.ip.mac.sn等).高大上的公司都会有专门的开发或第三方成品的CMDB,最起码也会搞个Excel把这些信息都对应填好.如果服务器加个内存.换个ip主机名,手动再去把表格更新.万一哪天忘更新了,或者服务器变更不是我操作的,后期还得化时候去一一校对,我你个去..... 另,公司一般的上架前机器,在基准测试后会做一些系统初始化(如种上堡垒机的公钥,设置iptables和一些系统优化,当然还得安装salt client).之前都是写脚本

linux下获取主机信息

程序源于linux程序设计这本书,个人利用这本书学习,本文作为一个知识点来学习. 这里首先介绍几个结构体: 1 2 3 4 5 6 7 struct hostent{ char* h_name;//主机名称 char* h_aliases;//主机别名 short h_addrtype;//主机地址类型 short h_length;//主机地址长度 char **h_addr_list;//主机地址列表 }   其中,主机地址类型h_addrtype为AF_INET;地址列表为字符串,长度不定

Oracle 判断 并 手动收集 统计信息 脚本

CREATE OR REPLACE PROCEDURE SchameB.PRC_GATHER_STATS AUTHID CURRENT_USER IS BEGIN SYS.DBMS_STATS.GATHER_TABLE_STATS('SchName', 'TableName', CASCADE => TRUE); END; / select owner,table_name,last_analyzed,num_rows from dba_tables where owner='SYSTEM' a

验证Oracle收集统计信息参数granularity数据分析的力度

最近在学习Oracle的统计信息这一块,收集统计信息的方法如下: DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, ---所有者名字 tabname VARCHAR2, ---表名 partname VARCHAR2 DEFAULT NULL, ---要分析的分区名 estimate_percent NUMBER DEFAULT NULL, ---采样的比例 block_sample BOOLEAN DEFAULT FALSE, ---是否块分析

Python:收集IP信息

下面通过两种方法实现收集IP信息 1.通过 ifconfig 命令输出IP信息,并以"\n\n"切片分成不同的网卡块 2.通过 ifconfig 命令输出IP信息,并以第一个字符在顶格的方式切片分成不同的网卡块 # vim ip1.py #!/usr/bin/env python from subprocess import Popen, PIPE def getIfconfig(): p = Popen(['ifconfig'], stdout=PIPE) data = p.stdo

收集统计信息脚本

1.exec dbms_stats.FLUSH_DATABASE_MONITORING_INFO; For performance reasons, the Oracle Database does not populate these views immediately when the actual modifications occur. Run the FLUSH_DATABASE_MONITORING_INFO procedure in the DIMS_STATS PL/SQL pa