proxy代理   soft软件   IT 业界特快   norton 诺顿病毒库   代理列表   search FTP搜索   whois IP地理位置   blog 追求完美  
money理财   life生活   RSS聚合门户   firefox WEB浏览器   免费域名   typeset 假古文   AntiVirus 反病毒   ipcn 站点导航  

« perl 用Spreadsheet::WriteExcel写了个处理/读写excel的小程序 | Main | 山西的宽带运营商太过分了 私自窜改dns解析 »

December 13, 2007

F5 MIB 再学习 唯一性标记用地址的小bug

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
https://windtear.net/archives/2007/12/13/001296.html

原来看过 f5 的 mib:
BigIP F5 VIP 相关的几个 SNMP MIB
http://windtear.net/archives/2006/12/30/001179.html

转换了 ltmVirtualServAddr (VIP)当文件名用存数据
.1.3.6.1.4.1.3375.2.2.10.1.2.1.3

VALUE ltmVirtualServAddr OBJECT-TYPE (
Syntax: [UNIVERSAL 4] OCTET STRING (SIZE (0..255))
Access: read-only
Status: current
Description: The ip address of this virtual server. It is interpreted
within the context of an ltmVitualServAddrType value.
)
::= 1.3.6.1.4.1.3375.2.2.10.1.2.1.3

今天发现了一个 rrdtool 提示的错误
illegal attempt to update using time 1197534331 when last update time is 1197534331 (minimum one second step)

这个是 rrd_update.c line 543 那里的提示
就是说 rrdtool update 用的时间没有比rrd库里面最后更新的时间晚

由于提示的两个时间完全相同 所以确定是rrdtool update连着执行了两次
查了一下当时写的代码
当时 oid_base_match($oid_ltmVirtualServAddr, $oid ) 成功之后
对这个值进行了ip转换 /^0x(\w{2})(\w{2})(\w{2})(\w{2})$/
$realvip= hex($1).".".hex($2).".".hex($3).".".hex($4);

原因就是这个不能用作唯一性标记:(
比如一个ip不同的端口 这个值是一样的
这时循环里面就出现了上面的重复更新的情况

比较好的解决就是 结合 oid 那部分的 index 做文件名
暂时不想出现这个提示 可以加一个标记
if($realvip{$realvip}!=1){
$realvip{$realvip}=1;
rrdupdate...
rrderror
}

本blog WWW

Posted by windtear at December 13, 2007 4:35 PM

本站使用中的任何问题,请与 windtear @ windtear.net 联系
Copyright© 1999-2024 Windtear. All rights reserved.