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 ...
随机推荐
- Linux下清空文件的几种方法
$ : > filename $ > filename $ echo "" > filename $ echo > filename $ cat /dev/ ...
- Linux搭建oracle数据库
1.安装前准备 软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- 【codeforces 732F】Tourist Reform
[题目链接]:http://codeforces.com/contest/732/problem/F [题意] 给你一张无向图; n个点,m条边; 让你把这张图改成有向边 然后定义r[i]为每个点能够 ...
- 《Python 源码剖析》之对象
py一切皆对象的实现 Python中对象分为两类: 定长(int等), 非定长(list/dict等) 所有对象都有一些相同的东西, 源码中定义为PyObject和PyVarObject, 两个定义都 ...
- chmod和chown命令具体使用方法
Linux下数字表示文件的操作权限(777,755,..) Linux下.查看某路径下用(ls -l)查看全部文件的具体属性列表时.会看到文件的操作权限.类似"drwxr-xr-x" ...
- Eclipse开发C/C++程序的MinGw配置
环境变量设置: a.鼠标右击桌面"计算机"(WindowsXp是"我的电脑")->"属性" b.WindowsXP时,在新弹出的属性窗 ...
- COCOS2DX 3.0 优化提升渲染速度 Auto-batching
COCOS2DX 3.0 优化提升渲染速度 Auto-batching 近期在看COCOS2DX 3.0的Auto-batching合批与Auto Culling动态缩减功能以下就来细致看看吧:整合好 ...
- C#实现调用接口数据获取数据格式化XML、json转成Table的方法
废话不多说,直接上代码: json 格式化转DataTable: result为从接口得到的数据,格式化json的方法主要来自Newtonsoft.Json JObject joUnit = JObj ...
- JavaScript的闭包理解
因为本人是做java web 开发的,对js仅仅是存在非常浅的理解,js闭包的概念非常早就听说了,可是一直都不明确是什么意思,今天准备梳理一下闭关的概念; 闭包(closure)是Javascript ...
- Android 对话框(Dialog) 及 自己定义Dialog
Activities提供了一种方便管理的创建.保存.回复的对话框机制,比如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...