1. # 采集数据
  2. import subprocess
  3. import requests
  4. ret = subprocess.getoutput('ipconfig')
  5. # print(ret)
  6. # 正则处理获取想要的数据
  7. data_dict = {
  8. 'nic':{},
  9. 'disk':{},
  10. 'mem':{},
  11. }
  12. # 发送数据
  13. req = requests.post('https://www.cnblogs.com/wupeiqi/articles/6192986.html',data=data_dict)
  14. print(req.text)

1.Agent方式

  1. #基于paramikko模块,pip3 install paramiko
  2. #获取未采集的主机名
  3. import requests
  4. import paramiko
  5. ret = requests.get('https://www.cnblogs.com/wupeiqi/articles/6192986.html')
  6. # 通过paramikko链接远程服务器,执行命令
  7. # 创建SSH对象
  8. ssh = paramiko.SSHClient()
  9. # 允许链接不在know_hosts文件中的主机
  10. ssh.connect(hostname='xxx',port=8080,username='xxx',password='xxx')
  11. # 执行命令
  12. stdin,stdout,stderr = ssh.exec_command('ipconfig')
  13. # 获取命令结果
  14. res = stdout.read()
  15. # 关闭链接
  16. ssh.close()

2.SSH类方式

  1. #1.安装saltstack
  2. # url:https://repo.saltstack.com/#windows
  3. # commend:alt-Minion-2018.3.0-Py2-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname
  4. # Master准备:
  5. # a.配置文件,监听本机IP
  6. # vim/etx/salt/master
  7. # interface:本机IP地址
  8. # b.启动master
  9. # /etc/init.d/salt-master start
  10. # Slave准备:
  11. # a.配置文件,连接哪个master
  12. # vim/etc/salt/minion
  13. # master:远程master地址
  14. # b.启动slave
  15. # /etc/init.d/salt-minion start
  16. # 1.创建关系
  17. # Master:
  18. # Accepted Keys
  19. # Denied Keys
  20. # Unaccepted Keys
  21. # c1.com
  22. # c2.com
  23. # Rejected Keys
  24. # 2.接受关系
  25. # 3.执行命令
  26. # master:
  27. # salt * cmd.run"ifconfig"
  28. # import salt.client
  29. # local = salt.client.localClient()
  30. # result = local.cmd('*','cmd.run',{'ifconfig'})

3.SaltStack

Day73-CMDB(资产管理采集)的三种实现方式的更多相关文章

  1. NBIoT三种部署方式【转】

    转自:https://472880.kuaizhan.com/89/34/p441944286fccf2 本文作者:吴老司撩通信 本文来源:EETOP NB-IoT支持在频段内(In-Band).保护 ...

  2. 通过三个DEMO学会SignalR的三种实现方式

    一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...

  3. Hive metastore三种配置方式

    http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...

  4. django 模板语法和三种返回方式

    模板 for循环 {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} if语句 ...

  5. js的三种继承方式及其优缺点

    [转] 第一种,prototype的方式: //父类 function person(){ this.hair = 'black'; this.eye = 'black'; this.skin = ' ...

  6. spring ioc三种注入方式

    spring ioc三种注入方式 IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容 ...

  7. Map三种遍历方式

    Map三种遍历方式 package decorator; import java.util.Collection; import java.util.HashMap; import java.util ...

  8. php 递归函数的三种实现方式

    递归函数是我们常用到的一类函数,最基本的特点是函数自身调用自身,但必须在调用自身前有条件判断,否则无限无限调用下去.实现递归函数可以采取什么方式呢?本文列出了三种基本方式.理解其原来需要一定的基础知识 ...

  9. JSON的三种解析方式

    一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定 ...

  10. Qt 2D绘图 渐变填充(三种渐变方式)

    在qt中提供了三种渐变方式,分别是线性渐变,圆形渐变和圆锥渐变.如果能熟练应用它们,就能设计出炫目的填充效果. 线性渐变: 1.更改函数如下: void Dialog::paintEvent(QPai ...

随机推荐

  1. 前端开发—BOM对象DOM文档对象操作

    BOM 浏览器对象 BOM:Browser Object Model 操作浏览器,需要调用window对象,它是所有浏览器都支持的对象,表示的就是浏览器窗口 window对象可以通过点调用子对象 wi ...

  2. nyoj125-盗梦空间

    盗梦空间 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 <盗梦空间>是一部精彩的影片,在这部电影里,Cobb等人可以进入梦境之中,梦境里的时间会比现实中的时 ...

  3. LIS,LCS,LICS 学习笔记

    1.最长上升子序列(LIS) 子序列: 1.可以不连续 2.相对位置不变 dp[i][j] 表示前i位置,最大值为j的LIS长度 1. dp[i-1][j] 前i-1位置,最大值为j的LIS长度 (没 ...

  4. 谈谈python里面关于任务队列

    谈谈python里面关于任务队列 为什么要做任务队列 要回答这个问题我们首先看看在流水线上的案列,如果人的速度很慢,机器的速度比人的速度快很多,就会造成,机器生产的东西没有及时处理,越积越多,造成阻塞 ...

  5. 01.Python基础-2.判断语句和循环语句

    1判断语句 1.1判断语句介绍 满足条件才能做某件事 1.2 if语句 if 条件: 语句块 在if判断条件的时候 False:False, 0, '', None, [] True :基本除上面之外 ...

  6. grep的各种用法

    1. 在文件中查找模式(单词) 在/etc/passwd文件中查找单词 root [root@localhost opt]# grep root /etc/passwdroot:x:0:0:root: ...

  7. ORM框架 SQLAlchemy

    什么是ORM 使用关系对象映射进行数据库操作. 将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. 分类 -DB first 手动创建数据库和表,自动生成类 -code first 手动 ...

  8. 2019-04-03 SQL Group By某列,预先对该列进行一个预处理,提炼出共有的信息,即关键字case when 列名什么条件 then 赋值 else 赋值 end as 新列名

    select sum(发行金额) from( select PoolNameFormat,count(cast(ItemValue as decimal(19,4))) as 发行笔数,sum(cas ...

  9. NOIP2018提高组省一冲奖班模测训练(六)

    NOIP2018提高组省一冲奖班模测训练(六) https://www.51nod.com/Contest/ContestDescription.html#!#contestId=80 20分钟AC掉 ...

  10. html 页面刷新

    JS 脚本 方法1 setInterval 函数 定时局部刷新用到jQuery里面的setInterval方法, 该函数每隔一段时间请求一次数据,然后将请求结果返回给前端HTML实现刷新. setIn ...