自动采集数据

自动采集数据,三个方式:

agent 方式:

agent:就是一个客户端,在客户端上放置采集程序,agent采集完数据后就直接返回给api程序(目前就是django的一个程序)

agent程序:

#!/usr/bin/env python3
import subprocess
v2=subprocess.getoutput('ifconfig')
print(v2)

url='http://192.168.11.27:8003/asset.html'
import requests
requests.post(url,data={'k1':v2})

api:

from django.shortcuts import render,HttpResponse

# Create your views here.
def asset(request):
    if request.method=='POST':
        print(request.POST)
        return HttpResponse('copy that')
    else:
        return HttpResponse('null')

 

ssh 方式:

ssh使用的是paramiko(python的模块)就处于中控区

ssh 的方式是没有agent的,通过 中控区 ssh到服务器上远程执行完命令后将结果返回,然后传给API  ;再写入数据库

 

 

 

saltstack:

saltstack 也是一个中控区,master 执行命令后如:

客户端执行完后返回结果,如上

saltstack 原理是RPC,它里面维护着一个消息队列,默认是空,当master  有命令执行的时候如上图,队列里就是有命令,然后客户端执行::

客户端执行完后再创建一个队列- 这个队列里存储的结果返回给 master

 

saltstack 安装附录

安装完后的master节点查看 minion

 

基础使用:

 安装完后修改配置:

服务端:

/etc/salt/master

interface : 192.168.44.145

 

/etc/salt/minion

客户端 :master : 192.168.44.148 . #master的地址

salt-key -L 查看已经授权的minion

service salt-minion restart 启动

 

https://docs.saltstack.com/en/latest/topics/installation/index.html#quick-install

 

posted @ 2017-07-26 19:07  tonycloud  阅读(726)  评论(0编辑  收藏  举报