如图,下面是运行人员小智用查询语句把数据库的大小写入某个txt文件中
第一步:获取数据库大小的数据 。(小智把所有数据库服务器上记录数据库大小的db .txt 文件,统一存在/tmp目录,/tmp/db.txt)
定义一个自定义键值,用来获取/tmp/db.txt的文件内容
然后到zabbix的主机界面定义一个键值,用来获取db .txt 的内容
记住,一定要选文本类型,因为如果文件中出现了空行,类型选字符,空行下面如果有内容,就会显示不出来。所以要学文本类型。
重启zabbix _agent 是配置生效
如果已经获取到数据库的大小了
把获取的数据用javascript转换成json格式先。
result = value.split(‘n’)
var result_array = new Array()
获取的结果是:
{“data”:[{“DBNAME”:“admin”,“SIZE”:“0.00GB”},{“DBNAME”:“cadre”,“SIZE”:“25.650GB”},{“DBNAME”:“config”,“SIZE”:“0.015GB”},{“DBNAME”:“cspdb”,“SIZE”:“13.988GB”}]}
第二步:zabbix的预处理javascript+jsonpath做成自动发现规则
图中的类型要用相关项目,因为这样才能用刚才获取数据库文件大小的键值的内容用json path+ javascript处理成自动发现规则的固定形式
根据上面获取数据库文件的大小那个键值,我们可以看出来,运维人员小智存的数据格式是每行一个数据库名对应一个数据库的大小
提取数据库名
J sonpath的参数
$.data…[‘DBNAME’]
J avascript的内容
提取数据库名的javascipt
db = eval(value)
db_arr = db.length
result_array = new Array() 定义一个新的数组专门存放数据库名
return返回的结果是
{“data”:[{“{#DBNAME}”:“admin”},{“{#DBNAME}”:“cadre”},{“{#DBNAME}”:“config”},{“{#DBNAME}”:“cspdb”}}]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
19255043445)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!