功能说明 / 数据监控 / 数据表监控使用说明

数据可视化监测是WGCLOUD的一个重要模块,它可以帮我们监控数据库是否在线,自定义sql查询数据进行可视化展示,比如新增订单、注册用户量、MySQL连接数量、Oracle表空间、数据库运行参数等信息
数据监控是由server来进行监测的,所以要保证server主机能够访问到数据库哦
如果server无法访问被监控的数据库,怎么监控
本文使用WGCLOUD v3.5.5版本说明
1、首先我们要配置数据库,配置完成数据库后,才能写SQL监控数据表
如何配置监控数据库
2、添加数据表监控
数据表监控,是基于已经添加好的数据库资源,然后我们就可以手动输入SQL统计数量结果
点击左侧菜单【数据监控】->【数据表监控】
然后点击【添加】按钮,输入信息,先选择数据库,数据表名称可以使用任意字符串
注意统计SQL语句,不能包含敏感的sql字符,比如delete等,否则将保存不了,系统会提示失败的。而且系统会拒绝执行这种包含敏感字符的SQL
提示:可以在server配置文件里配置SQL不能输入的敏感字符,如下,如果修改过,需要重启server程序生效
#数据监控的sql语句,不能编写出现的敏感字符(即sql可能注入的关键字),小写即可,多个用逗号隔开
sqlInKeys: 'execute ,update ,delete ,insert ,create ,drop ,alter ,rename ,modify '
sql执行结果的取值列名,就是我们的sql执行完的结果中,我们要获取的数据表列名(支持取一列或者多列),列值可以是数字或者字符串类型,系统会默认取SQL查询结果中的第一行的一列或者多列,多列名请用英文逗号隔开
提示:v3.5.8版本开始,开始支持对查询结果取值多列,多列列名用英文逗号隔开即可,并且支持数字、小数点、字符串等类型,比如:column1,column2
v3.6.3版本开始,在查看页面,支持显示SQL执行的原始查询结果
如下图所示,这是一个例子,是统计活跃用户数量
我们先看对应的sql在工具中的执行结果,注意看返回结果,标红的查询结果列名COUNT(*)
结果列名是COUNT(*),我们就在表单【sql执行结果的取值列名】输入COUNT(*),系统会根据输入的COUNT(*)获取数据
如果查询结果只有一列,那么【sql执行结果的取值列名】可以为空,不用填写
注意:统计的sql语句,不一定非得是COUNT(*)语句,也可以是SUM、AVG等,比如下面这两条也可以的:
SELECT SUM(a.age)  FROM USER a
SELECT a.age FROM USER a WHERE a.name='zhangsansan'
我们再看一个例子,下面这个sql是查询MySQL数据库的当前连接数量
show STATUS like '%Threads_connected%'
先看对应的sql执行结果,注意查看返回结果,标红的查询结果列名Value是我们要用的
结果列名是Value,我们就在表单【sql执行结果的取值列名】输入Value,系统会根据输入的Value获取数据
3、添加完成,系统默认1小时扫描一次,此后会逐渐形成趋势图表
扫描时间可以在server/config/applicatioin.yml中修改,修改后需要重启server程序生效 ,如下
#数据表监控间隔,单位秒,默认60分钟
dbTableTimes: 3600
数据趋势图表,在【数据表管理】列表的【图表】按钮,点击可以查看,如下图,也可以导出Excel文件,非常方便
最后,在数据监测过程中,若数据库不可用,系统会发送告警通知,若数据库恢复可用,系统也会发送恢复通知
监控数据表Oracle的sql语句执行错误一般会是什么原因?
4、告警表达式,这个不是必填的
表达式成立时即告警,不成立不告警,如:(result + 10)>=100,其中result为固定写法,标识为上面的SQL执行结果值(系统会自动替换为数值),注意表达式需为英文输入法拼写。如果取值多个,从左到右对应表达式变量依次为:result0,result1等
如下图中,添加数据表监控时候,最后一项是告警表达式,意思是根据sql查询的结果值进行计算,看表达式是否成立,若成立就发给告警,不成立就不发告警
其中result是标识上面sql执行结果的值,为固定标识,不要修改它,系统会自动将其替换为sql执行结果的值
比如sql为:SELECT COUNT(*) FROM CPU_STATE
COUNT(*)结果值为514
那么如下图中的告警表达式(result + 10)>=100,result会替换为514,也就是表达式最终替换为:(514 + 10)>=100
那么告警表达式(514 + 10)>=100已经成立,就会发送告警
如果sql查询结果取值多个字段(v3.5.8开始支持取值多列),那么告警表达式,从左到右对应表达式变量依次为:result0,result1,如:result0 > result1
告警表达式使用说明
数据库、数据监控视频讲解
也可以用server-backup监控数据库、数据表