zabbix数据库研究
玩了一段时间zabbix,对他的数据库有点研究,在这里分享下添加一个监控的过程,希望能帮到路过的朋友。
添加一个监控项目(不包括添加模板)涉及到几个表,分别是:ids, hosts, applications, groups, hosts_groups, interface, items, items_applications,如果还需要添加触发器的话还涉及到functions,triggers等表。
基本的流程是这样的:
select table_name,nextid from ids where table_name="applications" or table_name="hosts" or table_name="groups" or table_name="hosts_groups" or table_name="interface" or table_name="items" or table_name="items_applications"
这里搜索的是ids表,这个表存放了其他表的nextid值(因为zabbix里面,id值一般都是作为表的主键,不能出现重复的,插入的时候要先从这个表里面查到下一条语句的id是多少)
#添加主机
这一步是添加一台主机到hosts表,hostid就用刚刚查到的值,host即该主机的主机名,name是该主机的别名
insert into applications (applicationid,hostid,name) value (‘775‘,‘10504‘,‘网络检测‘)
这一步是添加应用级到主机,name是应用集的名称,如果添加多个应用集就插入多条
如果你想加入新的主机组,可以这样插入,当然如果你想把主机加入到已有的主机组,可以忽略这步
这步就很简单了,把新加入的主机分组
添加主机的接口,type是接口的类型:1代表代理接口,2代表snmp接口,3是JMX接口,4是IPMI接口,main的话用zabbix原来的方法加了几次,发现同类型的第一个是1,然后再加的就为0,不知所以然,不过我一般不会去加几个接口,所以没深入研究了
这步就可以添加监控项目到主机了,tpye代表项目的检测类型,即主动,被动,简单等,这里的3是简单检测,name是项目名,key_是项目的键值,delay是检测间隔,history是历史保存时间,trends是趋势保存时间,value_type是数据的类型,units是单位,还有其他的可以改,我这里只是个举例而已。
最后还可以把项目添加到应用集,打开zabbix页面,可以看到监控已经添加上去了,玩过xml格式文件载入和api,还是比较喜欢直接用sql进行批量的添加操作,zabbix的数据库做的有点坑,值得大家去研究优化,今天就写到这了,以后还会补充更多的数据库研究心得,有问题可以留言交流。
本文出自 “坑爹霞老板” 博客,请务必保留此出处http://xiaoking.blog.51cto.com/4024863/1408146
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。