Beispiel #1
0
def run():
    """
    采集资产入口
    :return:
    """
    engine_path = settings.ENGINE_HANDLERS.get(settings.ENGINE)

    cls = import_string(engine_path)
    obj = cls()
    obj.handler()
Beispiel #2
0
def run():
    """
    采集资产的入口
    :return:
    """
    # 'src.engine.agent.AgentHandler'
    engine_path = settings.ENGINE_HANDLERS.get(settings.ENGINE)
    cls = import_string(engine_path)
    obj = cls()
    obj.handler()
Beispiel #3
0
def run():
    """
    采集资产的入口
    1. 读取配置文件,获取当前采集器的模块路径。eq: src.engine.agent.AgentHandler
    2. 把模块路径交给import_string模块进行解析,拿到采集器对象
    3. 支持采集器对象的handler方法
    :return:
    """
    engine_path = settings.ENGINE_HANDLERS.get(settings.ENGINE)
    cls = import_string(engine_path)
    obj = cls()
    obj.handler()
Beispiel #4
0
def get_server_info(handler, hostname=None):
    """
    循环所有的插件,获取所有的资产信息,然后返回
    :param handler:
    :return:
    """
    info = {}

    for name, path in settings.PLUGIN_DICT.items():
        cls = import_string(path)
        obj = cls()
        result = obj.process(handler, hostname)
        info[name] = result

    return info
Beispiel #5
0
def get_server_info(handler, hostname=None):
    """
    循环所有的插件,获取所有的资产信息,然后返回
    1. 循环读取配置文件获取采集器的名称和模块路径
    2. 传递采集器路径给import_string模块返回采集器对象
    3. 拿到采集对象执行process方法拿到采集结果
    4. 把采集结果生成字典反复
    :param handler: 采集器引擎 agent/ssh/salt
    :param hostname: 需要采集的主机名
    :return: info
    """
    info = {}
    for name, path in settings.PLUGIN_DICT.items():
        cls = import_string(path)
        obj = cls()
        result = obj.process(handler, hostname)
        info[name] = result
    return info
Beispiel #6
0
def get_server_info(handler, hostname=None):
    '''
    循环所有的插件,获取所有的资产信息,然后返回
    :param handler:
    :return:
    '''
    '''
    "disk": "src.plugins.disk.Disk",
    "memory": "src.plugins.memory.Memory",
    "network": "src.plugins.network.Network",
    '''

    info = {}
    for name, path in settings.PLUGIN_DICT.items():
        cls = import_string(path)
        obj = cls()
        result = obj.process(handler, hostname)
        info[name] = result

    # {'disk':'硬盘','memory':'内存','network':网卡}

    return info