利用Django在前端展示TOP SQL信息

开发环境

操作系统:CentOS 7.4

Python版本 :3.6

Django版本: 1.10.5

操作系统用户:oms

数据处理:pandas

通过上面我们已介绍了如何定时获取TOP SQL语句以及如何利用pandas处理数据

这节讲如何让其在前端显示

建立页面的步骤

我们还是通过这张图的步骤来说明如何建立页面

urls.py页面

check_topsql为展示Oracle TOP SQL的页面

views.py

上面的url设定调用views.py里面的check_topsql函数,该函数讲解如下:

首先判断请求的方法是不是post(提交表单前),如果不是则打开check_topsql.html页面,charts_topsql为定义的表单,可在forms.py中定义

如果请求方法为post(提交表单后),首先验证输入是否正确,如果正确则获取相应的ipaddress,tnsname,topsql_type等信息

接下来根据topsql的类型(物理读,逻辑读等)调用monitor/command/views_oracletopsql.py文件里面的方法来得到我们想要的数据,这个方法的讲解在昨天的公众号,大家可自行查看

最后我们将TOP SQL相关的内容封装成字典重定向到相应的template文件中

template文件

这里我们使用oracle_topsql_n.html文件来显示TOP SQL

这里通过一个表格来展现数据库TOP SQL的情况

Django允许在html文件内部使用for循环的形式来迭代列表

效果展示

首先是表单提交之前的界面

这里选择需要查询的数据库以及起止时间,时间越短越精确,其中Top栏位代表需要获取前多少个TOP SQL语句,默认为10

点击提交后会展示出TOP SQL 语句以及TOP 等待事件

源代码位置

欢迎访问我的github主页查看源码

https://github.com/bsbforever/oms_django

TOP SQL监控已经讲完了,下次讲如何展示 Oracle性能趋势,如物理读,DB Time等

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171208G0XUFT00?refer=cp_1026

相关快讯

扫码关注云+社区