Cacti的安装与插件开发(三)

Cacti的安装与插件开发(三)

cacti模板开发与应用实战


我觉得掌握一个软件,最起码要能随心所欲的应用它才算了解了这个应用,今天总结用cacti监控路由的CPU和MEM使用率。

实战:使用cacti监控H3C Router的CPU和MEM内存使用率

1.首先H3C Router要支持snmp功能,且该功能已经开启,另外已经配置好community,即前提是可以在监控机上通过snmp协议获取路由器的信息。


2.根据H3C公布的MIB库,得出CPU和MEM的内存mib节点分别是.1.3.6.1.4.1.25506.2.6.1.1.1.1.6.3和.1.3.6.1.4.1.25506.2.6.1.1.1.1.8.3,这样就简单了,我们只需要写一个脚本来获取路由器的CPU和MEM,然后将这两个值作为数据源,通过cacti不间断的按照我们规定的时间策略来取得rrd数据库时间槽上的数据值,通过图像展现出来即可。


3.脚本开发

# vi getcpu_mem.sh

#!/bin/bash
#
# $1 is community
# $2 is Hostname or IP
  CPU=`snmpget -v 2c -c $1 $2 .1.3.6.1.4.1.25506.2.6.1.1.1.1.6.3|cut -d ":" -f4 |grep -o "[1-9]\+"`
  MEM=`snmpget -v 2c -c $1 $2 .1.3.6.1.4.1.25506.2.6.1.1.1.1.8.3|cut -d ":" -f4 |grep -o "[1-9]\+"`
  echo -n "CPU:$CPU MEM:$MEM"
                             

手动执行没问题后将其拷贝到<path_cacti>/scripts下面。


注意!!!最后一行要使用-n取消换行操作,CPU和MEM是两个数据源,且数据源名称和取值之间用冒号隔开,两个数据源之间用空格隔开。


4.添加cacti数据输入方法(Data Input Methods)

给数据输入方法取个名字,最好做到见名识义,Input Type则选择Scripts/Command,Input Fields则输入bash <path_cacti>/scripts/getcpu_mem.sh <snmp_community> <hostname>,即让脚步正常执行。如下图:



5.点击create之后会提示输入Input Fields和Output Fields。其实Input Fields即使脚本的输入变量,Output Fields则是输出变量(也可以认为是数据源)。其中

Field [Input]:就是我们在脚本中定义的两个输入变量,也是上步执行脚本中定义的。

Friendly Name:这个是取个别名,容易识别即可。

Regular Expression Match和Allow Empty Input:不用填,因为勾选之后就表示我们可以不使用参数,这样我们的脚本是没办法完成数据探测的。

Special Type Code:这个就比较好用了,描述了cacti中定义过的值,比如此处我们的输入参数是snmp_community,我可以在此处输入真正的参数值,也可以使用cacti定义过的特殊变量,即snmp_community。填写完成后点击create即可,如下图:


按照同样的方式添加另外一个输入参数——hostname。


注意:此处的hostname一定不要有“<>”,使用hostname会直接引用该数据输入方法所关联的主机IP,当然也可以在此处直接输入路由器的IP地址。

现在可以添加Out Fields了,这其实就是我们在脚本中定义的输出字段,注意一定要保证字符以及顺序完全一致,否则是取不到数据或者取错数据的。我们在脚本中是先定义输出CPU,然后输出MEM的。下图是添加MEM的图片,CPU是要先添加好的。


添加完成后,记得保存,应该是这样的。



6.添加数据模板(Data Templates

这一页就非常重要了,几乎每个选项都是跟我们操作息息相关的。如下图:

Data Templates [edit: H3C Router CPU and MEM Usage]

Name:也是见名识义的原则。 


Data Source

数据源名称:|host_description|-H3C CPU&MEM Usage,其中|host_description|是cacti定义的宏,可以去除主机信息

Data Input Method:选择我们刚才创建的数据输入方法。

Step:步长,一般就是选择5分钟,即300秒。


Data Source Item [CPU] 

Internal Data Source Name:数据源名称,一个字符都不能差,顺序与脚本输出数据源此项一致。CPU

Minimum Value ('U' for No Minimum):能接受的最小值,设为0即可。、

Maximum Value ('U' for No Maximum):能接受的最大值,设为100,如果遇到不知道的情况,则设为U。

Data Source Type:数据源类型,选择GAUGE,即大小浮动,选择存储原始数据。

Heartbeat:心跳包,即在这个时间间隔内获取到的数据都认为是有效的,超过之后则认为是UNKNOW,一般是步长的两倍。

Output Field:选择我们上一步定义的输出参数CPU-H3C CPU Usage。


添加完成后点击该段右上角的NEW,来添加新的数据源。按照此种方法,添加另外一个数据源MEM,完成之后记得保存。


Custom Data [data input: H3C Router CPU and MEM Usage]下的

H3C Router IP和SNMP_Community”如果不填,则直接从关联的主机上继承。


7.添加图片模板


Graph Template下的

Title (--title):是指图像的标题信息

Vertical Label (--vertical-label):指图像的y轴信息

一般只需要修改这两点,修改好之后,点击create,就可以添加数据展示曲线了。


点击Graph Template Items [edit: H3C Router CPU&MEM Usage] 右侧的Add,来添加图像曲线信息。如下:


注意:Graph Item Inputs下面的Data Source [CPU]Data Source [MEM]是自动生成的。


8.在图像管理里面将图像模板和主机关联起来

选择主机+模板,点击Add添加,





选择刚刚关联好的模板,将其放在默认树上即可。




9.现在点开graph就可以看到图像了,第一次出图一般都要10分钟左右,所以要等一会。如果还是没有出图,可以手动使用rrdtool命令来探测一下,如果还是不行,就要一点点找原因了。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值