zoukankan      html  css  js  c++  java
  • CMDB实现的四种方式

    第一种(agent):

    这种方式是通过向每一台服务器安装agent脚本,然后通过中控机的API,来收集所需要的数据,最后放到数据库中,在通过web的方式显示出来.

    实现流程图:

    1.录入资产(主机名,SN)
    2.本地执行subprocess.getoutput('命令'),获取数据
    其本质就是在各个服务器上执行subprocess.getoutput()命令,然后在每台机器上执行,得到执行后的数据,返回给主机的API,然后主机将数据存放入数据库中,用户通过WEB的方式查看资产数据.
     
    优点:速度快
    缺点:需要每一台服务器部署一个agent程序
    适用范围:大型互联网公司,有着特别多的服务器

    第二种(ssh)

    这种方式是通过中控机通过ssh的方式类似于shell向每台服务器发送命令,然后得到数据返回给中控机,中控机将数据存放入数据库,以WEB的方式展现给用户

    实现流程图:

     主要通过Paramiko模块(py)登录服务器获取信息
     
    优点:不需要在服务器安装任何软件
    缺点:速度慢
    使用范围:服务器较少的公司,因为数量少获取数据不需要花费大量时间

    第三种(saltstack)

    通过在服务器主控机和服务器安装saltstack,主控机向服务器发送命令来获得数据

    实现流程图:

    主要是中控机将命令放入队列,服务器执行并返回结果,主控机将数据返回给API存入数据库,以WEB方式显示给用户.
     
    优点:块,开发成本低
    缺点:依赖第三方工具
    使用范围:在一开始服务器就安装saltstack软件的公司

    第四种:Puppt(Ruby语言开发,了解即可)

    每隔30分钟,通过RPC队列消息将执行结果返回给用户
  • 相关阅读:
    golang学习笔记 ---面向并发的内存模型
    使用airdrop进行文件共享
    Sense编辑器(Sense Editor)
    Spring Boot + Spring Data + Elasticsearch实例
    ElasticSearch位置搜索
    批量修改mp3文件的title等
    ElasticSearch reindex报错:the final mapping would have more than 1 type
    Mac下安装SecureCRT并激活
    Mac快捷键
    ​Mac触控板常用的手势操作
  • 原文地址:https://www.cnblogs.com/zhaijihai/p/10240005.html
Copyright © 2011-2022 走看看