2013-07-29 2 views
0

을 모두 가져올 수 없습니다. snmp2_real_walk에 대한 질문이 있습니다.
내 PHP 버전 : PHP 5.1.6 OS : Red Hat Enterprise Linux Server release 5.5. 8 코어의 remost 호스트가 있습니다. 그리고 localhost의 컴퓨터 cpu 번호도 8 코어입니다.
내가 다음과 같은 snmpwalk 명령을 사용하는 경우 : 다음PHP의 snmp2_real_walk 함수가 올바른 CPU 번호

[[email protected] 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 코드를 사용

<?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); 
?> 

그것은 결과와 함께 제공 :

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 코어를 찾을 수 없습니다.하지만 내가 localhost의 CPU 정보 또는 일부 원격 쿼리 snmp2_real_walk를 사용할 때 4 개의 코어가있는 e 호스트라면 올바른 결과를 얻을 수 있습니다.
추신 : 나는 선인장 0.8.7e를 사용할 때이 문제를 발견합니다. 필자는 SNMP - Get Processor Information 데이터 쿼리를 사용하여 8 코어 원격 시스템을 그래프로 표시하려고했습니다. 그러나 7 코어 만 탐지합니다. 선인장이 snmp2_real_walk 함수를 사용하여 cpu 정보를 얻습니다.

답변

0

나는이 문제를 발견했다. snmp2_real_walk은 PHP> = 5.2이고 내 호스트의 PHP 버전은 5.1입니다.
그래서 PHP를 업그레이드하고 문제를 해결했습니다.