라이브러리

[PHP] SNMP::get - SNMP 객체 가져오기




SNMP (Simple Network Management Protocol)


SNMP는 네트워크 장비를 관리하기 위한 프로토콜입니다. SNMP를 사용하면 네트워크 장비의 상태를 모니터링하고, 설정을 변경할 수 있습니다. PHP에서 SNMP를 사용하기 위해 `snmp` 확장 모듈이 필요합니다.

SNMP::get


`SNMP::get` 함수는 SNMP를 사용하여 특정 오브젝트의 값을 가져올 수 있습니다. 오브젝트의 OID (Object Identifier)와 커뮤니티 문자열을 지정하면, 해당 오브젝트의 값을 가져올 수 있습니다.

# 예제


#hostingforum.kr
php

<?php



// SNMP 서버의 주소와 커뮤니티 문자열을 지정합니다.

$snmp_host = 'localhost';

$snmp_community = 'public';



// 가져올 오브젝트의 OID를 지정합니다.

$oid = '1.3.6.1.2.1.1.1.0'; // 시스템 이름



// SNMP 서버에 접속합니다.

$snmp = new SNMP($snmp_host, $snmp_community);



// 오브젝트의 값을 가져옵니다.

$value = $snmp->get($oid);



// 가져온 값을 출력합니다.

echo "시스템 이름: $value
";



?>



# 결과


#hostingforum.kr


시스템 이름: Linux localhost 3.10.0-1160.42.2.el7.x86_64 #1 SMP Tue Feb 18 19:04:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux



# 오브젝트 OID


SNMP 오브젝트의 OID는 MIB (Management Information Base)에서 가져옵니다. MIB는 네트워크 장비의 관리 정보를 정의한 파일입니다. 각 오브젝트는 고유의 OID를 가지고 있으며, 이 OID를 사용하여 오브젝트의 값을 가져올 수 있습니다.

# 커뮤니티 문자열


SNMP 서버에 접속하기 위해 커뮤니티 문자열이 필요합니다. 커뮤니티 문자열은 SNMP 서버의 관리자가 지정한 문자열입니다. 커뮤니티 문자열을 사용하여 SNMP 서버에 접속하면, SNMP 서버는 접속을 허용합니다.

# 오류 처리


SNMP::get 함수는 오류를 발생할 수 있습니다. 오류를 처리하기 위해 try-catch 문을 사용할 수 있습니다.

#hostingforum.kr
php

<?php



// ...



try {

    $value = $snmp->get($oid);

} catch (SNMPException $e) {

    echo "오류 발생: " . $e->getMessage() . "
";

}



?>



# 참고


* SNMP 확장 모듈은 PHP 7.0 이상에서 사용할 수 있습니다.
* SNMP 서버의 주소와 커뮤니티 문자열은 SNMP 서버의 관리자가 지정한 값입니다.
* 오브젝트 OID는 MIB에서 가져옵니다.
* 커뮤니티 문자열은 SNMP 서버의 관리자가 지정한 문자열입니다.
* 오류 처리는 try-catch 문을 사용합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 185 페이지

검색

게시물 검색