2012-10-12 3 views
1
While I am running snmpd as following (using net-snmp 5.7.2.rc1,ubuntu-12.04) 
    [[email protected] /root]#snmpd –f -Le 
    [[email protected] /root]# snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifInOctets.1 
    It is working fine and answering me values 
    Eg. 
    IF-MIB::ifOutOctets.1 = Counter32: 35497924 
    IF-MIB::ifOutOctets.1 = Counter32: 35499234 
    IF-MIB::ifOutOctets.1 = Counter32: 35503212 

    I have done packaging of it and its almost working fine. But the issue is the ‘values’ displaying are constant !! it is not changing since the packaging of it..here the /var/snmp3 is a root folder and I am running it with chroot 
    [[email protected] /root]#/usr/sbin/chroot /var/snmp3/ /usr/local/bin/snmpd –f -Le 
    [[email protected] /root]#/usr/sbin/chroot /var/snmp3/ /usr/local/bin/snmpwalk -c public -v 2c -Oqv 127.0.0.1 IF-MIB::ifInOctets.1 
    IF-MIB::ifOutOctets.1 = Counter32: 34689322 
    IF-MIB::ifOutOctets.1 = Counter32: 34689322 
    IF-MIB::ifOutOctets.1 = Counter32: 34689322 

여기에 누락 된 종속성을 알려 줄 수 있습니까? 왜 현재의 가치를 부여하지 않는가? 이걸 도와주세요.chroot로 snmp를 실행하면 현재 값이 제공되지 않음

답변

1

나는 당신을 올바르게 얻었는지 확실하지 않지만, 힌트를 제공하려고 노력할 것입니다. 액세스중인 IF-MIB 객체는 색인 1을 사용하여 인터페이스를 통해 전송 된 옥텟 수입니다. 두 번째 snmpwalk에서 데이터를 전송했는지 확인하십시오. SNMP 에이전트가 응답하면서 MIBS 및 MIBDIRS와 같은 모든 환경 변수가 올바르게 내보내집니다. 여기에 문제가 보이지 않습니다.

지속적으로 변경되는 데이터 (예 : snmpEngineTime)에 액세스하여 구성을 확인하십시오. snmpwalk (이 객체는 스칼라) 대신 여러 snmpget 요청을 사용하십시오. 나는 데이터가 바뀔 것이라고 확신한다.

내가 가진 두 번째 생각은 시스템 파일에 포함 된 데이터, 즉 인터페이스 처리량이 새 루트 디렉토리에 바인딩되어야한다는 것입니다. 즉,/dev에 /와/etc/새 루트 디렉토리에 폴더 (은/var/snmp3는/dev는/var/snmp3/등) 바인딩

mount --bind 

옵션을 사용합니다. 또한

mount -t proc none /var/snmp3/proc 
mount --rbind /sys /var/snmp3/sys 
mount --rbind /dev /var/snmp3/dev 
chroot /var/snmp3/ /bin/bash 
+0

예, snmpEngineTime 데이터를 변화 ... 내가 포함 한은/var/snmp3는/dev는/var/snmp3은/etc 디렉토리를하지만 때 : (! chroot를하기 전에)

이 작업을 시도 할 수 있습니다 "마운트 - bind/proc/snmp3/proc에 마운트하려고합니다."/ proc은 블록 장치가 아닙니다. "또 다른 질문은 마운트하기 전에 전체/proc 디렉토리를 복사해야합니까? 아니면 그냥 비어있는/proc 디렉토리로 만들겠습니까? dir ?? –

+0

아니, chroot'ed 디렉토리에 폴더를 복사하는 것은 도움이되지 않습니다. 바인딩해야합니다. 내 대답에 추가 편집 입력 참조하십시오. – lucassm

+0

올바른 옵션은 #mount - bind - 재귀 바인딩을위한 rbind를 시도해보십시오. --help를 마운트하여 마운트 바인드 옵션에 대해 올바른 구문을 사용하십시오. 나는 최신 버전의 마운트를 가지고 있으며 이것을 스스로 확인할 수는 없다 ... – lucassm

관련 문제