转 https://www.cnblogs.com/guotianbao/p/7703921.html

资产采集的概念

资产采集的四种方式:Agent、SSH、saltstack、puppet

资产采集

Configuration Management Database 简称CMDB,CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。CMDB可以实现高度的自动化,减少人为错误的发生、降低人员成本,CMDB是实现运维自动化的基础。

Agent方式

API:Django接收数据并入库
程序:放置在每台服务器
应用场景:针对服务器较多的公司步骤一:#执行本地命令的库import subprocesssub = subprocess.getoutput("要执行的命令名")每台机器通过用户名密码链接数据库,获取要执行的命令步骤二: 采集数据import subprocess# 采集到本机运行ipconfig命令的输出结果result = subprocess.getoutput("ipconfig")print(result)步骤三: 筛选整理数据# 正则等方式result_dic = {"网络信息":result,}步骤四:发送数据到api# 以post方式将数据发送到urlimport requestsrequests.post("url", result_dic)

SSH方式

import paramiko
#通过paramiko库链接各台机器,获取命令
#缺点是慢API:Django接收数据并入库
程序:放在中控机
应用场景:针对服务器较少的公司SSH方式有三种工具,paramiko、Fabric、Ansible,其中Fabric、Ansible内部原理也是通过paramiko来实现得。
paramiko安装:pip3 install paramikoandible,fabic等工具对paramiko进行了封装,方便使用 速度更快一些!import requests,paramiko
#获取今天未采集的主机名
#从url中获取信息
host_list = requests.get("url")#通过paramiko连接远程服务器执行命令
#创建ssh对象
ssh = paramiko.SSHClient()#允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器
ssh.connect(hostname="hostname", port=22, username="root", password="password")#执行命令
stdin, stdout, stderr = ssh.exec_command("hostname")#获取结果
result = stdout.read()
print(result)#关闭连接
ssh.close()#筛选整理数据
result_dic = {"网络信息":result,
}#发送获取的数据
requests.post("url", result_dic)

saltstack方式(python语言)

方式同ssh,原理不同
优点:提高速度,开发成本低
缺点:依赖saltstack工具
可以远程执行命令http://www.cnblogs.com/wupeiqi/articles/6415436.htmlAPI:Django接收数据并入库应用场景:针对服务器较多的公司【推荐】master:v = subprocess.getoutput('salt "*" cmd.run "ls"')saltstack内部原理是通过RPC来实现得消息队列步骤一: 安装saltstackrpm --import https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pubyum install salt-master    服务端yum install salt-minion    客户端步骤二: Master准备a.配置文件,修改监听ip/etc/salt/masterinterface: 本机ip地址b.启动Master/etc/init.d/salt-master start步骤三: Slave准备a.修改配置文件,连接哪个master/etc/salt/minionmaster: 远程master的ipb.启动Slave/etc/init.d/salt-slave start步骤四: 创建关系Master:salt-key -L   查看哪些连接salt-key -a   接受连接salt-key -A   接收全部连接步骤五: 执行命令Master:salt "连接" cmd.run "命令"# salt 是一个.py文件
#!/usr/bin/python
# Publish commands to the salt system from the command line on the master.from salt.scripts import salt_main
if __name__ == '__main__':salt_main()# 在Python文件中使用salt的方法(需要提前配置好)
import salt.client
local = salt.client.LocalClient()
result = local.cmd('对方ip', 'cmd.run', ['命令']) # result是一个字典
result.keys()   # 命令
result.values() # 执行结果

puppet(ruby语言)

```
内部原理:puppet客户端每30秒钟自动汇报数据给puppet服务端。

应用场景:主要是针对已经在使用puppet的公司。

基于ruby

优点:自动汇报

缺点:要用ruby写

转载于:https://www.cnblogs.com/roygood/p/10150696.html

CMDB资产采集的四种方式相关推荐

  1. CMDB资产采集笔记

    一.资产采集四种方式 1. Agent方式 API:Django接收数据并入库程序:放置在每台服务器应用场景:针对服务器较多的公司步骤一:#执行本地命令的库import subprocesssub = ...

  2. 传感器信号 如何发送到服务器,传感器采集到的数据通过无线传输至监控服务器的四种方式...

    传感器采集到的数据通过无线传输至监控服务器的四种方式 [复制链接] 目前,工业物联网传感器数据采集无线传输至监控服务器比较常用的通讯解决方案主要有GPRS/4G,433MHz和2.4GHz等三种,而以 ...

  3. MES系统读取MySQL数据_MES系统数据采集的四种方式

    MES系统数据采集的四种方式 MES系统的最大特点,就是能实时收集生产过程中的各类信息.数据,然后汇集到数据库中,作数据分析及供管理层查询.如何高效的采集车间的各类数据,是决定一个MES系统软件项目实 ...

  4. 电子计算机机房折旧提几年,IDC设备资产运营中四种“折旧率计算”的常见方法...

    原标题:IDC设备资产运营中四种"折旧率计算"的常见方法 数据中心基础设施设备管理中设备的折旧是固定资产的折旧.该基础设施设备或者IT设备在长期使用后仍可保持其原始物理形态,但由于 ...

  5. android四种点击事件,android点击事件的四种方式

    android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...

  6. SPI协议概括、SPI总线工作的四种方式和SPI接口时序

    SPI协议概括: SPI总线是一种4线总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使中央处理器(Central Processing Unit,CPU)有更多的时间处理其他事务.正是因为 ...

  7. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式

    java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...

  8. Java遍历Map对象的四种方式

    关于java中遍历map具体哪四种方式,请看下文详解吧. 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 1 2 3 4 Map<Integer, Intege ...

  9. 详解vue 路由跳转四种方式 (带参数)

    本文介绍了vue 路由跳转四种方式 (带参数),本文通过实例代码给大家介绍的详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1. router-link 1. 不带参数 <router-li ...

最新文章

  1. 全球 43 亿 IPv4 地址宣告耗尽!
  2. 数学之路(3)-机器学习(3)-机器学习算法-神经网络[19]
  3. MySQL 全文索引实现简单版搜索引擎
  4. dism++封装系统使用教程_客栈管理系统“订单来了”客房订单盒子使用教程
  5. 计算机设备故障类型有哪些,计算机硬件故障有哪些
  6. 招聘| 基因组所Yuwen Liu团队诚聘科研人员
  7. 高能预警!Apache Flink Meetup · 上海站返场啦
  8. Mongodb3.4 复制集及分片配置
  9. 在Linux中查找用户帐户信息和登录详细信息的11种方法
  10. JSP开发常用问题解决
  11. php 删除服务器指定目录图片
  12. 新晋云计算工程师就业的感受和经验分享
  13. 建群网培PMP每日一练2020-7-17
  14. 蓬莱小课:零基础应届生如何转行学数据分析师?
  15. 回溯法-子集树排序树满m叉树
  16. Android培训及热修复
  17. 用下面的scanf 函数输人数据,使a=3,b=7,x=8.5,y=71
  18. 黑马C++项目实操演讲比赛流程管理系统
  19. 虚拟主机1-基于IP
  20. NodeMcu开发环境配置Arduino IDE

热门文章

  1. 笑笑成长记(4)--在张宸宇的满月宴会上
  2. 多少事从来急,天地转光阴急
  3. mysql中输入中文或英文 字符类型的设置
  4. 京剧“ 韵味” 及其它
  5. c语言学习3--1 if语句
  6. 机器学习领域的先进课题组汇总
  7. Chrome 取代 Safari 成为最快的浏览器
  8. 双目视觉SLAM讲解1
  9. python枪_python应用:老王开枪
  10. mysql minus_MYSQL安装及备份 - 阿不思布丁