#!/usr/bin/env python # -*- coding:utf-8 -*- import traceback from .base import BasePlugin from lib.response import BaseResponse from lib.log import logger class Basic(BasePlugin): def os_platform(self,handler, hostname): """ 获取系统平台 :return…
一.资产采集四种方式 1. Agent方式 API:Django接收数据并入库 程序:放置在每台服务器 应用场景:针对服务器较多的公司 步骤一: #执行本地命令的库 import subprocess sub = subprocess.getoutput("要执行的命令名") 每台机器通过用户名密码链接数据库,获取要执行的命令 步骤二: 采集数据 import subprocess # 采集到本机运行ipconfig命令的输出结果 result = subprocess.getoutp…
转 https://www.cnblogs.com/guotianbao/p/7703921.html 资产采集的概念 资产采集的四种方式:Agent.SSH.saltstack.puppet 资产采集 Configuration Management Database 简称CMDB,CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转.发挥配置信息的价值,同时依赖于相关流程保证数据的准确性.CMDB可以实现高度的自动化,减少人为错误的…
Agent(方式) 1:服务器每台都需要安装Agent 达到采集速度快,简单:造成性能损耗 获取每台服务器的资产并有返回值:v=subprocess.getoutput('dir')或者ipconfig 返回给api api在进行入库 (api 1.url 2.指定发送数据格式 3.并有返回值给客户端) 2:应用场景:服务较多的公司 客户端: import subprocess v1=subprocess.getoutput('ipconfig') # print(v1) value1=v1[2…
资产采集唯一标识和允许临时修改主机名 class AgentClient(BaseClient): def exec(self): obj = PluginManager() server_dict = obj.exec_plugin() new_hostname = server_dict['basic']['data']['hostname'] cert_path = os.path.join(settings.BASEDIR,'conf','cert') f = open(cert_pat…
CMDB资产采集方案 CMDB 资产采集的方案总共有四种 Agent SSH类 Saltstack Puttet 方案设计,从性能上考虑 下面前三种是用Python开发的,目标是兼容三种采集方式的软件 原理要明白 如何实现自动采集? subprocess Linux基本命令 v = subprocess.getoutput('ls') 1 Agent方式 API:Django接收数据并入库 程序:放置在每台服务器 应用场景:机器多的时候 每台服务器都有程序,程序实现采集数据(执行subproce…
首先也要调用插件的方式,来写采集数据插件,在src目录下创建一个插件 plugins ,然后在plugins下创建disk.py ,memory.py, network.py等等 src plugins 在disk.py #获取采集,执行采集命令是cmd 是统一的我直接写agent中进行调用 def get_disk(handler,hostname): return handler.cmd("dir",hostname) agent代码 from .base import BaseH…
CMDB - 配置管理数据库 资产管理 自动化相关的平台(基础 CMDB): 1. 发布系统 2. 监控 3. 配管系统.装机 4. 堡垒机 CMDB的目的: 1. 替代EXCEL资产管理 —— 资产不准确 2. 与监控系统联动 3. 自动装机 期望:资产管理 实现原理: 1. agent 机器多的时候 2. ssh 3. salt 实现兼容三种模式,可扩展性 基础的架构: 1. 资产采集的代码 2. API 3. 管理平台 ################今天的目标: 资产采集: - 资产采集…
CMDB03 /今日未采集的资产.资产入库.资产变更记录.资产采集 目录 CMDB03 /今日未采集的资产.资产入库.资产变更记录.资产采集 1. 获取今日未采集的服务器 2. server资产入库以及资产变更处理 3. client基于ssh远程资产采集 总结: 1. 获取今日未采集的服务器 代码示例: def get(self,request,*args,**kwargs): """ 返回今日未采集的服务器列表 """ today = dat…
CMDB02/单例模式.资产采集参考命令.日志处理 目录 CMDB02/单例模式.资产采集参考命令.日志处理 1. 单例模式 1.1 多例模式 1.2 单例模式 1.2.1 单例模式/错误 1.2.2 单例模式 new/正确 1.2.3 单例模式之文件导入/正确,在源码中的应用 1.3 单例模式补充 2. 日志 3. 获取资产信息的命令 4. 数据封装 5.表关系 总结: 1. 单例模式 1.1 多例模式 代码示例 class Foo(object): def __init__(self,nam…