采集器的设计
费尽千辛万苦,终于搞到拉一台内网中能连外网的虚拟机,并且打通设备到管理网络接口。好吧,开干。
采集需求:
1.需要将内网的设备信息,通过采集传送到外网服务器。
2.采集光交的信息,采集存储的信息,采集vmware虚拟化的信息。
想法流程设计:
方案一:想利用服务器web的api接口来收集信息,这也是比较好的解决方案。打算利用rest_framework来进行操作,开发一段时间并且学会拉使用方法以后,出现一个问题,采集的数据字段不固定,有的多有的少,利用api+mysql出现相当费力的情况。导致rest_framework大部分功能都用不上,开发相当费力。
方案二:直接在云服务器上安装mongodb数据库,通过采集直接写入数据库,安全性较差,毕竟monogdb开放拉数据库端口,存在安全隐患,但这些都不是事,重要的是方便啊。
这边重点介绍方案二:
首先目录结构如下:
.
├── 11.txt
├── app.log
├── Brocade 博科目录
│ ├── app.log
│ ├── brocade_log.py 博科采集
│ ├── brocade_qingxi.py 博科操作
│ ├── bro_start.py 启动采集并存入数据库
│ ├── __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任务
│ └── 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 富士通存储配置
│ ├── fststart.py 直接采集存入数据库
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── fststart.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ └── tasks.cpython-35.pyc
│ └── tasks.py tasks任务
├── __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主要启动文件
├── test.py
└── vsphere 虚拟化采集文件
├── addziduan.py
├── app.log
├── file 临时
│ ├── 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 临时文件
├── python_storage.py 临时文件
├── root.log
├── start_to_database.py 启动采集并存入数据库
├── tasks.py tasks任务
├── 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
启动方式 直接celery -A run_celery worker -l info
启动定时任务 celery -A run_celery beat -l info