Django自动化资产扫描----(1)项目简介并创建项目



项目地址https://gitee.com/sdsnzy/cmdb

项目过程:


远程服务器:关闭远程服务器防火墙和selinux



0. 项目简介


在这里插入图片描述

0.1 资产管理


  • 资产管理是运维的基本工作;

在这里插入图片描述

  • 资产管理是DevOPS系统的基础;
  • 资产管理是自动化运维平台构建的基础。

在这里插入图片描述

0.2 资产管理技术


  • 资产信息的手工录入: 手工操作工作量大,尤其是首次录入。
  • 客户端主机主动上报: 需要给不同的设备编写对应的客户端程序, 开发工作量大。
  • 服务器端主动发现探测(本项目主要实现)

在这里插入图片描述

基本要求:

  • 内网Linux服务器主机类型(Centos4-6、Ubuntu12、14+)
  • 系统内部开通ssh服务端口为Linux服务器
  • Linux系统开放ssh的端口范围(22、20022、202)
  • 安全规则(开放允许探测协议和登录的限制)
  • 网络设备开通snmp服务,且community都已经统一
  • 虚拟机不再运行容器等虚拟资产
  • 网络设备(cisco系列等)

0.3 资产管理探测流程


  • 存活探测:获取局域网内存活的IP列表
  • 主机探测:获取系统版本(SN、版本、MAC地址)
  • 主机关系探测:识别宿主主机和虚拟机的关系
  • 网络设备的探测: 探测网络设备信息(SN、设备名等),使用snmp协议
  • 其他设备的探测:
    在这里插入图片描述

一、创建项目


1)创建项目:cmdb

在这里插入图片描述

2)创建app:scanhost

python manage.py startapp scanhost

3)添加app到主配置文件并修改相应设置:

cmdb/settings.py

INSTALLED_APPS = [
    'scanhost',
]
LANGUAGE_CODE = 'zh-hans' # 修改语言
TIME_ZONE = 'Asia/Shanghai' # 修改时区
USE_TZ = False

4)生成数据库表:

python manage.py makemigrations # 生成数据库迁移脚本(每次修改了数据库必备操作)
python manage.py migrate # 将迁移脚本写入数据库并创建数据库表

5)创建超级用户:

python manage.py createsuperuser

6)运行测试:这里设置端口为9999

python manage.py runserver 9999
访问:localhost:9999/admin

二、git初始化


1)初始化git仓库管理:

git init

2)安装插件 .ignore,并生成python上传git项目需要忽略内容的文件 .gitignore

安装插件并忽略指定内容教程:https://blog.csdn.net/weixin_46069582/article/details/114595118

3)保存项目过程

git add * # 将本地增删改查的文件全部添加到暂存区
git commit -m "git 初始化" # 添加到本地仓库
git log # 查看提交日志

4)准备 README.md :

1.导入此项目需要的包(最后完成时导入)
pip freeze > requirements.txt
2.创建 README.md

5)上传到gitee仓库:

1.在gitee中新建仓库cmdb
2.关联仓库
git remote add origin https://gitee.com/sdsnzy/sys-info.git
3.首次上传
git push --set-upstream origin master -f
4.上传
git push

三、准备工作


3.1 配置开发及生产环境


1)在 cmdb 下创建包 settings(作为配置文件存放地),将原始基本配置文件settings.py 移动到此包下,并重命名为 base.py

在这里插入图片描述

2)创建开发环境配置:cmdb/settings/dev.py

from .base import *
DATABASES = {
    
    
    'default': {
    
    
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

3)创建生产环境配置:cmdb/settings/prod.py

from .base import *
# 开发环境一定要关闭调试模式
DEBUG = False
# 允许所有主机访问
ALLOWED_HOSTS = ['*']

4)修改 cmdb/settings/__init__.py,配置为开发环境(如果项目将来需要上线, 修改启动项目访问的配置文件为生产环境的配置文件即可,)

# 开发环境
import os
env = os.environ.get('PROJECT_ENV', 'dev')
if env == 'dev':
    from .dev import *
elif env == 'prod':
    from .prod import *
else:
    from .dev import *
# 生产环境
import os
env = os.environ.get('PROJECT_ENV', 'prod')
if env == 'dev':
    from .dev import *
elif env == 'prod':
    from .prod import *
else:
    from .dev import *

5)迁移数据库

python manage.py migrate
python manage.py createsuperuser

启动服务器:python manage.py runserver 9999


猜你喜欢

转载自blog.csdn.net/weixin_46069582/article/details/114777476