首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php的snmp2_real_walk函数无法获得正确的cpu编号

php的snmp2_real_walk函数无法获得正确的cpu编号
EN

Stack Overflow用户
提问于 2013-07-29 12:19:00
回答 1查看 965关注 0票数 0

全。我有一个关于snmp2_real_walk的问题。

我的PHP:PHP 5.1.6 OS:Red Hat Enterprise Linux Server release 5.5.I有一个8核的最底层主机。而本地主机的cpu号也是8核。

当我使用snmpwalk命令时,如下所示:

代码语言:javascript
运行
复制
[root@webjk tmp]# snmpwalk -v 2c -c public xxx.xxx.xxx.xxx .1.3.6.1.2.1.25.3.3.1
HOST-RESOURCES-MIB::hrProcessorFrwID.768 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorFrwID.769 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorFrwID.770 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorFrwID.771 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorFrwID.772 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorFrwID.773 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorFrwID.774 = OID: SNMPv2-SMI::zeroDotZero   
HOST-RESOURCES-MIB::hrProcessorFrwID.775 = OID: SNMPv2-SMI::zeroDotZero  
HOST-RESOURCES-MIB::hrProcessorLoad.768 = INTEGER: 1  
HOST-RESOURCES-MIB::hrProcessorLoad.769 = INTEGER: 1  
HOST-RESOURCES-MIB::hrProcessorLoad.770 = INTEGER: 2  
HOST-RESOURCES-MIB::hrProcessorLoad.771 = INTEGER: 1  
HOST-RESOURCES-MIB::hrProcessorLoad.772 = INTEGER: 3  
HOST-RESOURCES-MIB::hrProcessorLoad.773 = INTEGER: 1  
HOST-RESOURCES-MIB::hrProcessorLoad.774 = INTEGER: 6  
HOST-RESOURCES-MIB::hrProcessorLoad.775 = INTEGER: 13  
HOST-RESOURCES-MIB::hrProcessorLoad.775 = No more variables left in this MIB View (It is past the end of the MIB tree)

然后使用以下php代码:

代码语言:javascript
运行
复制
<?php
$a=snmp2_real_walk("58.211.72.38:161", "public", ".1.3.6.1.2.1.25.3.3.1", (500 * 1000), 1);
print_r($a);
?>  

其结果是:

代码语言:javascript
运行
复制
Array
(
    [HOST-RESOURCES-MIB::hrProcessorFrwID.768] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.769] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.770] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.771] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.772] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.773] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.774] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorFrwID.775] => OID: SNMPv2-SMI::zeroDotZero
    [HOST-RESOURCES-MIB::hrProcessorLoad.768] => INTEGER: 1
    [HOST-RESOURCES-MIB::hrProcessorLoad.769] => INTEGER: 1
    [HOST-RESOURCES-MIB::hrProcessorLoad.770] => INTEGER: 2
    [HOST-RESOURCES-MIB::hrProcessorLoad.771] => INTEGER: 1
    [HOST-RESOURCES-MIB::hrProcessorLoad.772] => INTEGER: 2
    [HOST-RESOURCES-MIB::hrProcessorLoad.773] => INTEGER: 1
    [HOST-RESOURCES-MIB::hrProcessorLoad.774] => INTEGER: 7
    [HOST-RESOURCES-MIB::hrProcessorLoad.775] => No more variables left in this MIB View (It is past the end of the MIB tree)
)  

当使用snmp2_real_walk时,它只需要找到7个cpu核,而不是snmpwalk的8 cpu cores.But,当我使用snmp2_real_walk查询本地主机的cpu信息或使用4个核的远程主机时,就会得到正确的结果。

PS:当我使用仙人掌0.8.7e时,我发现了这个问题。我尝试使用SNMP - Get Processor Information数据查询来绘制8核远程机器的图形。但它只检测到7个核心。我发现仙人掌使用snmp2_real_walk函数来获取cpu的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-01 07:54:46

我已经找到问题了。snmp2_real_walk需要PHPPH5.2,我的主机的>=版本是5.1。

因此,我升级了PHP并解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17923838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档