CACTI 从头到脚之自定义模板
i.
第一步:准备脚本(生成随机数)
[root@lo-cacti1 scripts]# cat /var/www/html/scripts/random.sh #!/bin/bash #just throw a random number echo $RANDOM
第二步:添加数据输入方法 CACTI->Console->Data Input Methods-Add
填写“Name", "Input Type","Input String" 字段然后 "create"
因为该脚本不需要传递任何参数所以 "Input Fields" 可以不填
"Output Fields" ->Add -> Name,Firendly Name 自己随便定义,勾选Update RRA,然后Save
第三步:添加数据模板 然后转回 "Console" 界面,选择 “Data Templates" -> Add
然后Save
第四步:添加画图模板 Console ->Graph Templates ->Add
其中Graph Item 添加如下图所示
Create ->Save -> Save
第五步:关联画图模板和数据模板到主机模板
Console -> Host Templates -Add
接下来就是添加设备了,可以参看http://hepeace.blog.51cto.com/4387185/1360254
最后来记录一下,反向自定义OID 添加该自定义模板
第一步:在被监控机上同样创建该脚本,位置随意.我写在/tmp/random.sh
[root@Node1 tmp]# cat /tmp/random.sh + cat /tmp/random.sh #!/bin/bash #Just Throw A Random Number echo $RANDOM
第二步:snmpwalk 测试自己定义的OID 是否已经被使用
[root@Node1 tmp]# snmpwalk -v2c -cpublic 10.5.10.201 .1.3.6.1.2.1.2001.1 + snmpwalk -v2c -cpublic 10.5.10.201 .1.3.6.1.2.1.200.1 SNMPv2-SMI::mib-2.2001.1 = No Such Object available on this agent at this OID
出现类似此信息则说明.1.3.6.1.2.1.2001.1 没有被使用,我们可以用这个OID,反之出现如下信息则说明该OID已经在用了
[root@Node1 tmp]# snmpwalk -v2c -cpublic 10.5.10.201 .1.3.6.1.2.1.200.1 + snmpwalk -v2c -cpublic 10.5.10.201 .1.3.6.1.2.1.200.1 SNMPv2-SMI::mib-2.200.1.1.1 = INTEGER: 1 SNMPv2-SMI::mib-2.200.1.2.1 = STRING: "random" SNMPv2-SMI::mib-2.200.1.3.1 = STRING: "/tmp/random.sh" SNMPv2-SMI::mib-2.200.1.100.1 = INTEGER: 0 SNMPv2-SMI::mib-2.200.1.101.1 = STRING: "6411" SNMPv2-SMI::mib-2.200.1.102.1 = INTEGER: 0 SNMPv2-SMI::mib-2.200.1.103.1 = ""
第三步:修改/etc/snmp/snmpd.conf
[root@Node1 tmp]# cat /etc/snmp/snmpd.conf + cat /etc/snmp/snmpd.conf com2sec notConfigUser 10.5.10.0/24 public group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 exec .1.3.6.1.2.1.200.1 random /tmp/random.sh access notConfigGroup "" any noauth exact all none none view all included .1 all
重点注意exec 这一行 exec 执行函数 .1.3.6.1.2.1.200.1 就是我们自定义的OID ,random 只是一个名字 /tmp/random.sh 是我们的随机数脚本
由第2步可知 SNMPv2-SMI::mib-2.200.1.101.1 = STRING:
"6411" 就是我们需要的随机数
第四步:从服务主机(10.5.10.100)上抓去该OID信息
[root@lo-cacti1 scripts]# snmpwalk -v2c -cpublic 10.5.10.201 .1.3.6.1.2.1.201.1 SNMPv2-SMI::mib-2.201.1.1.1 = INTEGER: 1 SNMPv2-SMI::mib-2.201.1.2.1 = STRING: "random" SNMPv2-SMI::mib-2.201.1.3.1 = STRING: "/tmp/random.sh" SNMPv2-SMI::mib-2.201.1.100.1 = INTEGER: 0 SNMPv2-SMI::mib-2.201.1.101.1 = STRING: "18123" SNMPv2-SMI::mib-2.201.1.102.1 = INTEGER: 0 SNMPv2-SMI::mib-2.201.1.103.1 = ""
确定也可以抓到哦
重新转回到CACTI 界面
Console - >Data Templates ->Add
画图模板和主机模板就和之前的一样了,添加完成后的完整图如下
ps:添加完Data Templates 和Data Templates 须关联到Host Templates ,不然自定义的图貌似不能正常显示,Debug 模式下类似这种报错:ERROR: parameter '#8D85F3FF' does not represent a number in line LINE1:#8D85F3FF,哎哟烦躁。此处需要再次测试证明。
暂时先告一段落,接下来把snmpd.conf 配置记录一下