# 采集数据
import subprocess
import requests
ret = subprocess.getoutput('ipconfig')
# print(ret)
# 正则处理获取想要的数据
data_dict = {
'nic':{},
'disk':{},
'mem':{},
}
# 发送数据
req = requests.post('https://www.cnblogs.com/wupeiqi/articles/6192986.html',data=data_dict)
print(req.text)

1.Agent方式

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

2.SSH类方式

#1.安装saltstack
# url:https://repo.saltstack.com/#windows
# commend:alt-Minion-2018.3.0-Py2-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname
# Master准备:
# a.配置文件,监听本机IP
# vim/etx/salt/master
# interface:本机IP地址
# b.启动master
# /etc/init.d/salt-master start
# Slave准备:
# a.配置文件,连接哪个master
# vim/etc/salt/minion
# master:远程master地址
# b.启动slave
# /etc/init.d/salt-minion start
# 1.创建关系
# Master:
# Accepted Keys
# Denied Keys
# Unaccepted Keys
# c1.com
# c2.com
# Rejected Keys
# 2.接受关系
# 3.执行命令
# master:
# salt * cmd.run"ifconfig"
# import salt.client
# local = salt.client.localClient()
# 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. 洛谷P3275 [SCOI2011]糖果_差分约束_判负环

    Code: #include<cstdio> #include<queue> #include<algorithm> using namespace std; co ...

  2. 路飞学城Python-Day117

    jango用户登录界面 """ Django settings for cnblog project. Generated by 'django-admin startp ...

  3. FFmpeg avcodec_send_packet压缩包函数

    首先看一下FFmpeg关于该packet函数的注释: int avcodec_send_packet ( AVCodecContext *  avctx,     const AVPacket *  ...

  4. Linux 内核管理

    Linux内核基础:Linux Kernel:  Linux内核的体积结构是单内核的,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制,使得虽然是单内核,但工作在模块化的方式下,并且模块可以动态 ...

  5. 为DK2应用程序迁移到Oculus CV1做好准备!

    为DK2应用程序迁移到Oculus CV1做好准备! 本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/arti ...

  6. 【hihocoder 1312】搜索三·启发式搜索(普通广搜做法)

    [题目链接]:http://hihocoder.com/problemset/problem/1312?sid=1092352 [题意] [题解] 从末状态的123456780开始逆向搜; 看它能到达 ...

  7. Android学习总结(3)——Handler深入详解

    什么是Handler Handler是Android消息机制的上层接口,它为我们封装了许多底层的细节,让我们能够很方便的使用底层的消息机制.Handler的最常见应用场景之一便是通过Handler在子 ...

  8. <url-pattern>/</url-pattern> 拦截请求

    一.springmvc 前端控制器 <!-- springmvc的前端控制器 --> <servlet> <servlet-name>fw-sso-web</ ...

  9. ioremap映射函数

    一.ioremap() 函数 Linux在io.h头文件中声明了函数ioremap(),用来将I/O内存资源的物理地址映射到核心虚地址空间(3GB-4GB)中(这里是内核空间),原型如下: 1.ior ...

  10. BA-siemens-PXM液晶面板

    PXM面板作用:可以查看模块内部的信息,可以触发控制点来近程控制模块上的点位(非常便于现场调试). 优点:1.便于现场紧急控制,有些地方是必须要加上的,如工厂控制等项目,假如机器死机,可以通过面板切换 ...