django前端引用数据_网管自研实战|基于django的城域网信息采集系统

作为城域网维护人员,实际的运维过程中经常为会维护各种业务表格、地址互联表格、公网地址维护、互联地址及管理地址等,通常数据来源于设备采集,表格保存于维护人员的电脑之中,数据需求人员只能远程对应电脑获取相关数据,存在密码泄露及信息安全的风险点。为解决该问题,分如下几个步奏:1、全量BRAS配置数据采集;2、关键需求信息分析收集;3、开发WEB界面呈现;整个WEB代码使用的是django架构,...
摘要由CSDN通过智能技术生成

作为城域网维护人员,实际的运维过程中经常为会维护各种业务表格、地址互联表格、公网地址维护、互联地址及管理地址等,通常数据来源于设备采集,表格保存于维护人员的电脑之中,数据需求人员只能远程对应电脑获取相关数据,存在密码泄露及信息安全的风险点。

为解决该问题,分如下几个步奏:1、全量BRAS配置数据采集;2、关键需求信息分析收集;3、开发WEB界面呈现;整个WEB代码使用的是django架构,html使用的是bootstrap工具包,具体功能点实现如下:

以下是每个步奏的代码详细说明:

1、全量BRAS配置数据采集:

过PEXPECT模块登录网络部堡垒机,遍历设备,采集本地城域网设备7750、ME60的配置数据,保存到本地文件系统,实际实现与巡检部分雷同。

2、关键需求信息分析收集:

通过正则表达试匹配出所需要的关键信息,实际代码部分与巡检部分雷同,对于互联地址需要表格间的匹配功能,笔者利用PANDAS模块中的merge函数,实现关键信息的匹配,具体代码如下:

5a9b01eda4de80cd00ecb7e7161e40de.png

说明:由于互联地址的两个设备地址现网中一般最后一位差值为一,全1地址(例如最后一位为255)一般为地址池中的组播地址,设备互联地址不会使用,故可以简短的对最后一位加1实现对方地址进行计算,具体如上。

3、WEB界面呈现

(1)本系统开发使用的是django模块,语言为常见的python语言,整个代码的web架构如下:

a084b695fe7b02a3ff39b45359b4a07a.png

Manage.py为实际整个函数的入口,其指定了配置文件所在位置,其整个代码结构如上。

(2)settings.py设置了整个代码的环境变量:包含了web程序中涉及的运用、成熟的架构、静态文件位置、数据库、根URL等。具体如不限制访问范围,则ALLOWED_HOSTS 要设置为*,具体如下:

d1c33c9a5de7c782897ea465277348c3.png

(3)url.py制定了代码的访问路径,如下workflow为系统的主要运用入口

33bfba2c9062a2f16c0187695079ae31.png

 A:其中LoginView,为系统函数(位置为:django.contrib.auth.views),用户对应的数据模型如下:

09c1ef540149119c9d449b58adee64ed.png

B:网站判断用户是否正常登录是通过构造继承自LoginRequiredMixin类的子类,如验证用户未正常登陆,则直接跳转至登录界面,具体实现方式如下:

ef22017ef8fd5cca1ea0dd8d99f8fd24.png(4)本系统中的web所有数据,使用本地mysql数据库,整个数据模型存在于model.py,所有模型类继承于,models.Model,具体数据结构如下

59505cff29efb8515e9217f7377a17e6.png

配置文件中的设置情况如下:

8f53b5499adbd4afedabae2b800c424f.png

(5)最终的代码实现在view.py, 其中使用继承于TemplateView类,呈现给定模板,其中包含在URL中捕获的参数的上下文。

a8e30ea58503e4410f57efc4ecc050e3.png

(6)动态按钮的实现方式,先通过读取数据库数据,将相关数据传递给html文件,具体读取过程如下:

0541991031d8ba7282cab692eb9d4fdb.png

在HTML文件中遍历VPN,将相关信息呈现在HTML文件中,便于浏览器解析,具体如下:

8ce4ad43c35a3dc43d5bd42d45a53e05.png

Html文件引用了bootstrap前端开发的工具,通过class设置具体呈现格式,减少编写css修饰所造成的工作量。

e72bce548d36c57d8c935167854d9ddc.png

具体呈现效果如下:

实现了全量台账的WEB呈现,整个系统部署在内网,方便运维人员根据实际需求及时查找,较传统的EXCEL方式,安全性更高。

bc51fc0177ea66566efe638dfd9e7e27.png

图1:整个系统呈现界面

5d22b5e33c095b3835f7858929aa1dc6.png

图2:vpn专线动态按钮呈现效果

总结:本文给出了设备采集、日志分析方法,并实现了将相关信息通过web程序呈现,介绍了基于django框架具体实现过程,减少了建立了设备台账工作量,降低了台账信息管控松散带来的信息泄露的风险。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值