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队列消息将执行结果返回给用户
CMDB实现的四种方式的更多相关文章
- CMDB资产采集的四种方式
转 https://www.cnblogs.com/guotianbao/p/7703921.html 资产采集的概念 资产采集的四种方式:Agent.SSH.saltstack.puppet 资产采 ...
- C#批量插入数据到Sqlserver中的四种方式
我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
- ASP.NET MVC之下拉框绑定四种方式(十)
前言 上两节我们讲了文件上传的问题,关于这个上传的问题还未结束,我也在花时间做做分割大文件处理以及显示进度的问题,到时完成的话再发表,为了不耽误学习MVC其他内容的计划,我们今天开始好好讲讲关于MVC ...
- SWT组件添加事件的四种方式
在我们CS日常开发过程中会经常去为组件添加事件,我们常用的为AWT与SWT.SWT的事件模型是和标准的AWT基本一样的.下面将按照事件的四种写法来实现它. 一.匿名内部类的写法 new MouseAd ...
- Java实现文件复制的四种方式
背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操 ...
- C#_批量插入数据到Sqlserver中的四种方式
先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记 ...
- java 20 -10 字节流四种方式复制mp3文件,测试效率
电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...
- .NET MVC控制器向视图传递数据的四种方式
.NET MVC控制器向视图传递数据的四种方式: 1.ViewBag ViewBag.Mvc="mvc"; 2.ViewData ViewBag["Mvc"] ...
随机推荐
- 如何在iOS上实现对HTTPS的支持(转)
原文地址:http://blog.5ibc.net/p/101504.html 首先,需要明确你使用HTTP/HTTPS的用途,因为OSX和iOS平台提供了多种API,来支持不同的用途,官方文档< ...
- Groovy学习()起步
安装Groovy 在Windows环境下安装Groovy 下载安装包,傻瓜安装,设置环境目录,就这样搞定. 另外还需要安装Java并且设置JAVA_HOME环境变量. 两分钟搞定. 使用groovys ...
- 如何解决PHP里大量数据循环时内存耗尽的问题
最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...
- 31Mybatis_mybatis和spring整合-mapper代理开发
案例结构图:
- 第二百四十七节,Bootstrap按钮和折叠插件
Bootstrap按钮和折叠插件 学习要点: 1.按钮 2.折叠 本节课我们主要学习一下 Bootstrap 中的按钮和折叠插件. 一.按钮 可以通过按钮插件创建不同状态的按钮,也就是点击后为选中状态 ...
- C语言0长度数组(柔性数组)
0长度数组,又称为柔性数组(flexible array).通经常使用来实现变长数组.常见于TLV(type-length-value)的数据结构中. 在标准 C 和 C++ 中,不同意用 0 长度数 ...
- XMPP客户端
1. Strophe.js 2. Converse.js
- ThinkPHP项目笔记之MVC篇
题记:网上关于ThinkPHP的介绍,不计其数,有文档,示例,代码片段以及其他等.毕竟自己掌握的,才是自己的. 所以,趁着做的项目(当然用的是thinkphp框架)的余热,奋笔疾书,一个人的理解与拙笔 ...
- hdu 1022:Train Problem I(数据结构,栈,递归,dfs)
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- 启动nmon报错while load libncurses.so.5 can not open shared(bit64)
yum install ncurses-devel.i686 也有可能是软件包本身有问题,换一个try