最近由于 CPAN上 Net::ARP 这个包的稳定版本从 1.0 升级到了 1.0.8, 导致触发了mmm的一个bug。
bug的现象:agent没有办法将VIP附着在本机上。agent日志中报错如下:2013/08/13 06:26:47 FATAL Couldn't configure IP '10.1.1.2' on interface 'eth0': undef
bug原因:MMM/Agent/Helpers/Network.pm 文件中136行,使用了如下语句:if ($Net::ARP::VERSION < 1.0) {原来版本是1.0 导致Version能自动转换成浮点型进行比较。而版本升级到 1.0.8后导致Version是字符串型,用< 比较时就会报语法错误。Argument "1.0.8" isn't numeric in numeric lt (<) at /usr/lib/perl5/vendor_perl/5.8.8/MMM/Agent/Helpers/Network.pm line 136.
bug的Fix:直接修改 MMM/Agent/Helpers/Network.pm 文件中136行把 < 改成 lt ,如下:if ($Net::ARP::VERSION lt 1.0) {