linux下自定义pid实现任意数据采集
当你需要采集特殊的数据,而不满足于现有的你所知的数据模版时,自定义oid将是你必须而且非常好的解决方式。
oid是snmp服务器为每条系统信息提供的唯一标识符,如果不能很好理解snmp服务的话,可以将snmp理解为一棵树,你所需要的每一条最终信息都是每一片叶子,比如cpu使用率,内存使用率,磁盘等等,cacti的数据模版就是根据oid来取之,目前包含了少量常用的oid,你需要做的就是去找到合适你的,你需要的那个oid,这个可以采用mib浏览器寻找到。
能找到需要的oid固然是好的,但有的时候情况不是你想象的那么好,找不到需要的oid,怎么定义呢
首先,你需要用shell写好你想要得到的那个值,比如memory的使用率,将他的结果输出到一个tmp文件里,
其次,怎么从文件中取得数据呢
添加oid:打开snmpd.conf配置文件,在末尾写入
exec .1.3.6.1.4.1.2021.3 mfree /bin/cat /root/warn/tmp
这句话的意思是,添加一个oid为.1.3.6.1.4.1.2021.3(这个oid必须是唯一的,可以在使用之前用snmpwalk测试一下是否存在),将其命名为mfree,它的值是用cat查看tmp文件里面看到的数值,保存,重启snmp服务,不出问题的话,snmpwalk会得倒你tmp文件里的数值
三,创建数据模版,填写oid,然后是图片模版,然后画图。
摘自:http://wenku.baidu.com/view/5f3d69eb5ef7ba0d4a733bb7.html