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

wKioL1MeyfbQv3D9AAUXXCZInho662.jpg

填写“Name", "Input Type","Input String" 字段然后   "create"

因为该脚本不需要传递任何参数所以 "Input Fields" 可以不填

"Output Fields"  ->Add -> Name,Firendly Name 自己随便定义,勾选Update RRA,然后Save

wKioL1MezifRGnDOAAUScuzbFNI935.jpg

第三步:添加数据模板 然后转回 "Console" 界面,选择 “Data Templates" -> Add

wKiom1Me0nmS_q_WAAYxpTWai8U197.jpg然后Save

第四步:添加画图模板 Console ->Graph Templates ->Add

wKioL1Me4QmjL4tJAAicLzrAw5w336.jpg


其中Graph Item 添加如下图所示

wKioL1Me4VujHGF_AAWNq8dshfQ354.jpg

Create ->Save -> Save

第五步:关联画图模板和数据模板到主机模板

Console -> Host Templates -Add

wKioL1Me4yKRWX8gAARDBuH2WK0268.jpg


接下来就是添加设备了,可以参看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

wKiom1Me_2bCAKh7AAm0ZeuwHao952.jpg


画图模板和主机模板就和之前的一样了,添加完成后的完整图如下

ps:添加完Data Templates 和Data Templates 须关联到Host Templates ,不然自定义的图貌似不能正常显示,Debug 模式下类似这种报错:ERROR: parameter '#8D85F3FF' does not represent a number in line LINE1:#8D85F3FF,哎哟烦躁。此处需要再次测试证明。

暂时先告一段落,接下来把snmpd.conf 配置记录一下