封面
采集器的設(shè)計(jì)
費(fèi)盡千辛萬苦薪丁,終于搞到拉一臺(tái)內(nèi)網(wǎng)中能連外網(wǎng)的虛擬機(jī),并且打通設(shè)備到管理網(wǎng)絡(luò)接口灭衷。好吧次慢,開干。
采集需求:
1.需要將內(nèi)網(wǎng)的設(shè)備信息翔曲,通過采集傳送到外網(wǎng)服務(wù)器迫像。
2.采集光交的信息,采集存儲(chǔ)的信息瞳遍,采集vmware虛擬化的信息闻妓。
想法流程設(shè)計(jì):
方案一:想利用服務(wù)器web的api接口來收集信息,這也是比較好的解決方案掠械。打算利用rest_framework來進(jìn)行操作由缆,開發(fā)一段時(shí)間并且學(xué)會(huì)拉使用方法以后,出現(xiàn)一個(gè)問題猾蒂,采集的數(shù)據(jù)字段不固定均唉,有的多有的少,利用api+mysql出現(xiàn)相當(dāng)費(fèi)力的情況肚菠。導(dǎo)致rest_framework大部分功能都用不上舔箭,開發(fā)相當(dāng)費(fèi)力。
如圖
方案二:直接在云服務(wù)器上安裝mongodb數(shù)據(jù)庫蚊逢,通過采集直接寫入數(shù)據(jù)庫限嫌,安全性較差,畢竟monogdb開放拉數(shù)據(jù)庫端口时捌,存在安全隱患怒医,但這些都不是事,重要的是方便啊奢讨。
如圖
這邊重點(diǎn)介紹方案二:
首先目錄結(jié)構(gòu)如下:
.
├── 11.txt
├── app.log
├── Brocade 博科目錄
│ ├── app.log
│ ├── brocade_log.py 博科采集
│ ├── brocade_qingxi.py 博科操作
│ ├── bro_start.py 啟動(dòng)采集并存入數(shù)據(jù)庫
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── brocade_log.cpython-35.pyc
│ │ ├── brocade_qingxi.cpython-35.pyc
│ │ ├── bro_start.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ └── tasks.cpython-35.pyc
│ ├── root.log
│ ├── tasks.py tasks任務(wù)
│ └── test.py
├── celerybeat-schedule
├── conf 配置文件
│ ├── app.log
│ ├── celeryconfig.py celery配置
│ ├── conf.py 其他配置稚叹,比如賬戶密碼信息等等
│ ├── __init__.py
│ ├── logger.conf logger日志的配置
│ └── __pycache__
│ ├── celeryconfig.cpython-35.pyc
│ ├── conf.cpython-35.pyc
│ └── __init__.cpython-35.pyc
├── django_test.py
├── fst 富士通存儲(chǔ)配置
│ ├── fststart.py 直接采集存入數(shù)據(jù)庫
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── fststart.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ └── tasks.cpython-35.pyc
│ └── tasks.py tasks任務(wù)
├── __init__.py
├── logs 存放日志文件
├── monogdb_api.py mongodb登入接口文件
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ ├── monogdb_api.cpython-35.pyc
│ └── run_celery.cpython-35.pyc
├── readme.text
├── requirements.txt 安裝包
├── root.log
├── run_celery.py celery主要啟動(dòng)文件
├── test.py
└── vsphere 虛擬化采集文件
├── addziduan.py
├── app.log
├── file 臨時(shí)
│ ├── cluster.txt
│ ├── host.py
│ ├── host_storage.txt
│ ├── host.txt
│ ├── __pycache__
│ │ ├── host.cpython-35.pyc
│ │ ├── storage.cpython-35.pyc
│ │ └── vm.cpython-35.pyc
│ ├── storage.py
│ ├── storage.txt
│ ├── vm.py
│ └── vm.txt
├── getvm.py 虛擬化采集文件
├── host.py
├── __init__.py
├── __pycache__
│ ├── getvm.cpython-35.pyc
│ └── __init__.cpython-35.pyc
├── python_import.py 臨時(shí)文件
├── python_storage.py 臨時(shí)文件
├── root.log
├── start_to_database.py 啟動(dòng)采集并存入數(shù)據(jù)庫
├── tasks.py tasks任務(wù)
├── test.py
└── tools vsphere采集工具
├── alarm.py
├── cli.py
├── cluster.py
├── datacenter.py
├── __init__.py
├── interactive_wrapper.py
├── pchelper.py
├── README.md
├── serviceutil.py
├── tasks.py
└── vm.py
啟動(dòng)方式 直接celery -A run_celery worker -l info
啟動(dòng)定時(shí)任務(wù) celery -A run_celery beat -l info