2012-03-27 5 views
5

마스터 에이전트에 고유 한 MIB 지원을 추가하려면 instructions on the net-snmp website을 따르고 있습니다. 새 MIB 마스터 에이전트를 추가하십시오.

  1. 내가 NET-SNMP/에이전트/mibgroup/폴더에 내 지원이 .c 및 .H 파일을 만든 : 여기

    은 내가 한 것입니다.

  2. MIB 파일을/usr/local/share/snmp/mibs/폴더에 복사했습니다.
  3. 내가 만들어 "와"SNMPD -f -le -d "
  4. 내가 함께 SNMPD 시작했다"설치하기 "
  5. 내가 도망" "./configure를 --with-MIB-모듈 ="myMib "를 실행 - c snmpd.conf & "
  6. snmpdtranslte 명령을 실행하여 MIB 구조를 볼 수 있습니다. 그러나 snmpget -v2c -c public "MY-MIB-FILE :: myVariable"을 사용하려고하면 "* = 해당 개체를 사용할 수 없습니다. 이 OID의이 에이전트에서".

나는 튜토리얼의 말씀을 정확하게했고, 나는 NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject 예에 snmpgetsnmpset를 실행할 수 있습니다.

내가 여기에 무엇을 놓쳤는지 이해하게 도와주세요.

+0

이미 에이전트의 일부 흔적을 추가하려고 있나요? 이것이 내가 시작하는 곳입니다. 에이전트 로딩과 핸들러의 각 단계에서 'fprintf'를 써서 응답을 멈추는 곳을 확인하십시오. 그것 없이는 우리도 가능성을 가질 수 있습니다 ... – j4x

+0

예, 추적을 시도했습니다. 모든 것이 좋게 보이며 오류가 없습니다. 명령이 전송되고 오류 코드 8 인 "NO such object"응답이 돌아 오는 것을 볼 수 있습니다. – user195678

+0

회사 OID가 없기 때문에 관련이있을 수 있습니다. netSnmpExamples 아래에 MIB 파일을 연결하려고합니다. 그래서 내 MIB 파일에서 xxxsnmp 모듈 ID : "201112220000Z" 조직 "www.xxx.com" 접촉 정보 "email : xxx @ xyz.COM " 설명 "내 MIB 테스트 " 개정"201112200000Z " 설명 "초안 " :: = {netSnmpExamples 5} – user195678

답변

2

메시지 No Such Object available on this agent at this OID은 에이전트가 요청 된 MIB 객체를 전혀 지원하지 않거나 색인 또는 인스턴스 변수가 지정되지 않은 경우 발생합니다.

링크 된 자습서에서 커뮤니티 문자열 public 에 대한 관련 구성을 추가 했습니까? 자세한 here로 snmpconf을 실행하여 예컨대

.

또한 초보자 및 디버깅 팁 섹션 here에서 설명한 구성 변경 사항을 참조하십시오.

당신은 또한

snmpget -v2c -c public MY-MIB-FILE::myVariable.0 같아야 인덱스 또는 변수에 지정된 인스턴스를하지 않는 것.

snmpd.conf이 아닌 경우 마스터 에이전트가 실행되는 호스트와 포트를 명시 적으로 지정하려고 할 수도 있습니다.

+0

Appleman, snmpd.conf 파일에 구성 변경 사항을 추가한다고 생각합니다. 나는 "snmpget"과 "snmpset"을 사용할 때 끝에 ".0"을 가지고있다. 호스트와 포트를 명시 적으로 지정하는 방법에 대해 제안 해 드리겠습니다. – user195678

+0

netSnmpExamples에 내 MIB를 연결하려고합니다. 내 MIB OID로 netSnmpExamples.5를 사용하고 있습니다. – user195678

6

"이 OID에서이 에이전트에서 사용할 수있는 객체가 없습니다"는 것은 netsnmpd와 관련하여 트리에 해당 OID가 없음을 나타냅니다.

snmptranslate의 성공으로 혼동하지 마십시오. Snmptranslate는 MIB 파일 자체에서만 작동하며 snmp 서버에 액세스하지 않아도됩니다. 따라서 snmptranslate가 MIB 세부 정보를 올바르게 표시한다는 것은 MIB가 정확하게 $MIBDIRS 또는 .snmp/snmp.conf 파일 (등)에 나열된 디렉토리로 올바르게 복사되었음을 나타냅니다.

자습서를 따르고 있다고 가정하면, 구현 한 MIB는 단일 스칼라 변수를 제공합니다. 스칼라 변수에는 .0의 색인 (즉, 접미사)이 지정됩니다.다음 명령 중 하나를 실행 해보십시오 :


snmpget -v2c -c public MY-MIB-FILE::myVariable.0 

또는 : 당신에게 MIB의 모든 목록을 제공합니다 후자는 그 OID, 아래 나뭇잎


snmpwalk -v2c -c public MY-MIB-FILE::myVariable 

는 (귀하의 경우)를 포함됩니다 .0 노드.

오류가 발생하면 코드를 컴파일하고 올바르게 실행하는 것이 좋습니다. 처음에는 ./configure 단계 끝에 세부 정보를 확인하여 요약에 귀하의 MIB가 포함되어 있는지 확인하십시오. 예. (= "nstAgentModuleObject"-MIB-모듈 --with ./configure 실행 결과) : 당신이 snmpd를 실행 agent/.libs/libnetsnmpmibs.so 파일을 통해 nm을 실행하고 있는지 확인할 수 있습니다 이전에 대한


--------------------------------------------------------- 
      Net-SNMP configuration summary: 
--------------------------------------------------------- 

    SNMP Versions Supported: 1 2c 3 
    Net-SNMP Version:   5.4.1 
    Building for:    linux 
snip 
    Agent MIB code:    nstAgentModuleObject default_modules => snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs agentx disman/event disman/schedule utilities host 
snip 
--------------------------------------------------------- 

init_X() 기능이 그 해당 MIB에 해당합니다. init_nstAgentModuleObject() 기능이 있는지 확인하는 것도 가치가 있습니다. 테스트하기 전에 make install을 실행하고 있다면 (ldd을 사용하여) 사용중인 libnetsnmpmibs.so 라이브러리가 방금 빌드 한 것이며 경로 문제가 없는지 확인하는 것이 좋습니다.

init_X() 함수 내에서 DEBUGMSGTL() 호출을 추가하여 내장 된 디버그 메시징 시스템을 사용할 수 있습니다. 디버그 메시지를 보려면 snmpd 명령 줄에 -DALL 옵션을 추가하십시오. 내 경우 snmpd에, 체크 아웃 가치가

+0

Andrew, 내 init_x()가 snmpd에 컴파일되지 않은 것 같습니다. 하지만 ./configure --with-mib-modules = "myMib"을 사용했습니다. init_x()가 snmpd에 컴파일되었는지 확인하는 방법을 알고 있습니까? – user195678

+0

netSnmpExamples에 내 MIB를 연결하고 있습니다. 내 OID로 netSnmpExamples.5를 사용하고 있습니다. 이것이 문제인지 나는 모른다. – user195678

0

ldd 동적 표준 우분투 libnetsnmpmibs.so와 연결되고 같은 튜토리얼을 따라하지만 나는 사용자 정의 MIB 지원을하지 않았다.

수리 된 동적 연결 장치 및 모든 것이 해결되었습니다!

1

빌드 디렉토리에서 에이전트를 시작하십시오. net-snmp-x.x.x/agent.

./snmpd -f -L -d -c /usr/local/etc/snmpd.conf 

다른 모든 SNMP 에이전트를 중지하십시오. 내 경우

내가

snmpd -f -Le -d -c snmpd.conf & 

이 명령을 실행하는 경우에는 사전 설치된 SNMP 데몬을 시작합니다.

0

은 snmpd.conf

view systemonly included .1.3.6.1.4.1.8072.2.4.1.1.1 
관련 문제