开发环境
操作系统: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等
领取专属 10元无门槛券
私享最新 技术干货