Day73-CMDB(资产管理采集)的三种实现方式
# 采集数据
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(资产管理采集)的三种实现方式的更多相关文章
- NBIoT三种部署方式【转】
转自:https://472880.kuaizhan.com/89/34/p441944286fccf2 本文作者:吴老司撩通信 本文来源:EETOP NB-IoT支持在频段内(In-Band).保护 ...
- 通过三个DEMO学会SignalR的三种实现方式
一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...
- Hive metastore三种配置方式
http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...
- django 模板语法和三种返回方式
模板 for循环 {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} if语句 ...
- js的三种继承方式及其优缺点
[转] 第一种,prototype的方式: //父类 function person(){ this.hair = 'black'; this.eye = 'black'; this.skin = ' ...
- spring ioc三种注入方式
spring ioc三种注入方式 IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容 ...
- Map三种遍历方式
Map三种遍历方式 package decorator; import java.util.Collection; import java.util.HashMap; import java.util ...
- php 递归函数的三种实现方式
递归函数是我们常用到的一类函数,最基本的特点是函数自身调用自身,但必须在调用自身前有条件判断,否则无限无限调用下去.实现递归函数可以采取什么方式呢?本文列出了三种基本方式.理解其原来需要一定的基础知识 ...
- JSON的三种解析方式
一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定 ...
- Qt 2D绘图 渐变填充(三种渐变方式)
在qt中提供了三种渐变方式,分别是线性渐变,圆形渐变和圆锥渐变.如果能熟练应用它们,就能设计出炫目的填充效果. 线性渐变: 1.更改函数如下: void Dialog::paintEvent(QPai ...
随机推荐
- 路飞学城Python-Day136
列举Http请求中常见的请求方式 根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:O ...
- 动态规划——独立任务最优调度(Independent Task Scheduling)
题目链接 题目描述 用2 台处理机A 和B 处理n 个作业.设第i 个作业交给机器A 处理时需要时间i a ,若由机器B 来处理,则需要时间i b .由于各作业的特点和机器的性能关系,很可能对于某些i ...
- 在wamp中直接进入项目
这个问题困扰了我很久, 暂时我解决了一半. 进入localhost的页面如图一: 可以看到 我有两个projects,但是点击后会直接转跳到这样的页面 例如点击phyfitness_proj,如图二所 ...
- pywinauto进阶练习
case1.画图工具简单练习 #_*_coding=utf-8_*_ import time from pprint import pprint import logging from logging ...
- 封装自己的jquery框架
jQuery is a fast small JavaScript library 如何封装自己的jQuery <script> // 这里使用沙箱模式,可以防止全局污染 (functio ...
- jQuery scrollFix滚动定位插件
[插件功能] 当用户向上或向下滚动页面到一定位置时,目标元素开始固定定位(position:fixed),当回滚到原位置时目标元素恢复到原状态,可以定制触发滚动相对屏幕位置和触发滚动方向,兼容IE6 ...
- static类型autowired 注入失败
原代码:注入commonService对象失败 @Autowired private static CommonService commonService; public static List< ...
- F - Truck History
F - Truck History #include<cstdio> #include<cstring> #include<iostream> #include&l ...
- Flume 读取实时更新的日志文件
http://blog.csdn.net/bright60/article/details/50728306 我用了第一种方法. 1. 日志文件每天roate一个新文件 a) 方案一 There i ...
- HDU 4349
想了好久,没思路.看别人说是卢卡斯,就去看卢卡斯了,看完卢卡斯,再用它推导一下,很容易就知道,答案是2^n的二进制中一的个数.改天找个时间写个卢卡斯的总结.~~~今晚竟然要上形势政治课,靠.... # ...