api可以主动采集用户数据吗_自动采集数据
自動(dòng)采集數(shù)據(jù),三個(gè)方式:
agent 方式:
agent:就是一個(gè)客戶端,在客戶端上放置采集程序,agent采集完數(shù)據(jù)后就直接返回給api程序(目前就是django的一個(gè)程序)
agent程序:
#!/usr/bin/env python3
importsubprocess
v2=subprocess.getoutput('ifconfig')print(v2)
url='http://192.168.11.27:8003/asset.html'
importrequests
requests.post(url,data={'k1':v2})
api:
from django.shortcuts importrender,HttpResponse#Create your views here.
defasset(request):if request.method=='POST':print(request.POST)return HttpResponse('copy that')else:return HttpResponse('null')
ssh 方式:
ssh使用的是paramiko(python的模塊)就處于中控區(qū)
ssh 的方式是沒有agent的,通過 中控區(qū) ssh到服務(wù)器上遠(yuǎn)程執(zhí)行完命令后將結(jié)果返回,然后傳給API ?;再寫入數(shù)據(jù)庫
saltstack:
saltstack 也是一個(gè)中控區(qū),master 執(zhí)行命令后如:
客戶端執(zhí)行完后返回結(jié)果,如上
saltstack 原理是RPC,它里面維護(hù)著一個(gè)消息隊(duì)列,默認(rèn)是空,當(dāng)master ?有命令執(zhí)行的時(shí)候如上圖,隊(duì)列里就是有命令,然后客戶端執(zhí)行::
客戶端執(zhí)行完后再創(chuàng)建一個(gè)隊(duì)列- 這個(gè)隊(duì)列里存儲的結(jié)果返回給 master
saltstack 安裝附錄
安裝完后的master節(jié)點(diǎn)查看 minion
基礎(chǔ)使用:
安裝完后修改配置:
服務(wù)端:
/etc/salt/master
interface : 192.168.44.145
/etc/salt/minion
客戶端 :master : 192.168.44.148 . #master的地址
salt-key -L 查看已經(jīng)授權(quán)的minion
service salt-minion restart 啟動(dòng)
https://docs.saltstack.com/en/latest/topics/installation/index.html#quick-install
總結(jié)
以上是生活随笔為你收集整理的api可以主动采集用户数据吗_自动采集数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell脚本if参数太多_Shell脚
- 下一篇: 红米路由器ac2100怎样设置ipv6_