前一篇代码写好了,本篇开始部署到cacti上吧
原理呢:
1、添加输入源
2、设置数据模板来给图标提供数据
3、建立图表
4、把输入源与数据模板关联起来,就可以了。
首先分别拷贝文件到cacti的目录(注意文件权限)
cp flashapp_mysql_space.xml <cacti_path>/resource/script_queries/ cp flashapp_mysql_space.php <cacti_path>/scripts/
然后添加Data Query
在Data Query -》Add
注意Data Input Method 的类型一定要选择 “Get Script Data(Indexed)”,然后 save就可以了
ok可以测试下Data Query是否能用了
在devic里选择一个host,在最下部的 Associated Data Queries 里添加刚才新建的 DATA Query
添加以后就可以看到结果了注意status的状态如果得到数据就应该是没有问题的了,我们这里点下Verbose Query ,看看工作的怎么样
ok 可以看到结果 木有问题给力
--------------------------------------------------------------------------
然后建立Data Templates 数据模板
这里的|host_description|和后面的|query_hrDataBasesDescr|,前一个为系统内部变量,后一个为xml定义的input字段内容,前面+query_
----------------------------------------------------------------------------------------------------
创建图表里Graph Templates 能够使用的变量名及数据类型
下面这里能就比较关键了,一定要打勾,从data source里获取,因为我们要自行选择监控内容
------------------------------------------------------------------------------------------------------
之后建立图标模板 Graph Templates --》add ---> Graph Template Items ---》 add
我们只有一个数据:数据库的大小
只要建立一个item就可以了
记得数据源选择刚才在data template里建立的那个
-------------------------------------------------------------------------------------------
同样在graph template的title里也可以引用变量来作为图表的名称,使用方法同上
---------------------------------------------------------------------------------------------
啥都好了 如何吧2个关联起来呢
关联数据模板和数据源,Data Query -> 刚才建立的模板----》Associated Graph Templates----》add
输入名字和选择图表模板后
就可以看到 图表所用的数据和选择Data Query,以及一些额外的设置
在Associated Graph Templates 里面来选择Graph Template对应的数据名称
下面的Suggested Values 里面分别是传递到Data Template 和 Graph Template 的内容,如果在制作这2个模板的时候,对应的位置有打勾,那模板中设置的内容就会被这里的内容替代,可以设置多个,系统会自动选择第一个变量都不为空的一项。
------------------------------------------------------------------------------------------------
ok设置就完了,回到刚才添加了 data query 的device,点击头部的Create Graph for this host,就可以看见所有数据库名的列表了,在xml中设置的input段的内容都会显示在这里
我这里已经建立过一个数据库的grapht,所以这里有一个就是灰的,打勾选择点击create按钮就好了
------------------------------------------------------------------------------------------------
等上几个轮询的周期就可以看到图表了
ok到这里结束
后面可能会创建mib文件并创建agent,来把一些信息直接写到snmp里,就可以通过snmp来获取想要的数据了 :)
但最近比较忙,可能紧着时间做。做了就分享上来