본 장에서는 JEUS SNMP의 기본적인 개념과 구성에 대해서 알아보고, JEUS SNMP Agent와 JEUS 시스템과의 관계, JEUS JMX와의 관계 및 SNMP Agent에 메시지를 보내고 받는 SNMP Manager 애플리케이션에 대해서 간단하게 설명한다.
SNMP(Simple Network Management Protocol)는 네트워크의 여러 하드웨어 및 소프트웨어를 모니터링하기 위한 표준 프로토콜이다.
JMX 1.2 스펙은 SNMP를 지원하는 프로토콜 어댑터를 제공한다. J2EE Management 1.1 스펙은 인터넷 통신에서 네트워크나 시스템 관리 프로토콜을 사용하기 위한 MIB(Management Information Base)를 정의하고 있다.
JEUS SNMP Agent가 동작하기 위한 메인 컴포넌트는 다음과 같다.
JMX MBean 서버와 통신을 하며 논리적으로 JEUS에 위치한다. JEUS SNMP Agent는 JEUS를 관리하기 위한 기반 구조를 제공하며, J2EE Management 1.1을 구현했다.
JEUS 서버의 구조에 대해서는 "JEUS Server 안내서"를 참조한다.
JEUS SNMP Agent 모듈은 SNMP를 통해 JEUS 시스템을 관리할 때 유용한 컴포넌트이다.
웹 애플리케이션 서버(Web Application Server, 이하 WAS)의 관리 프토토콜로 SNMP를 사용하기 위해 JEUS JMX MBean 서버와 통신하며 SNMP Manager 애플리케이션을 지원한다.
JEUS SNMP Agent는 다음과 같은 프로토콜을 제공한다.
JEUS SNMP Agent는 JEUS JMX와 완전히 통합된다. JEUS SNMP Agent가 검색할 수 있는 모든 정보는 JEUS JMX API를 통해서 가능하다. JEUS JMX API를 JEUS Management System의 Second-Level 서비스 컴포넌트로 사용하여 각각의 JEUS SNMP Agent는 JEUS 시스템의 서버와 같은 JVM 중의 하나와 연관되어 있다.
예를 들어 JMX Mbean은 EJB 엔진에 deploy된 모든 모듈에 대한 정보를 관리하고, SNMP Manager는 이 정보(JEUS SNMP OID)를 EJB 엔진에 해당하는 SNMP Agent에 전송하여 deploy된 모듈을 알 수 있다.
SNMP Agent 인스턴스는 JEUS JMX의 프로토콜 어댑터로 운영되며, SNMP Manager 애플리케이션으로부터 SNMP 패킷을 받아 처리한다. 즉, 특정 포트 번호를 계속 Listen하고 있으면서 SNMP Manager의 요청을 기다린다. Listen Port는 WebAdmin을 사용해 설정하고, 설정하지 않으면 동작하지 않는다.
모든 Agent 인스턴스들은 같은 방법으로 동작한다. 그러므로 각각의 Agent는 JEUS Management System의 모든 정보를 얻을 수 있다. 만일 하나 이상의 Agent 인스턴스가 한 머신에서 기동하려면, 포트 번호가 달라야 한다.
JEUS SNMP Agent를 운영하려면 SNMP Adaptor Port를 반드시 설정해야 한다.
일반적으로 SNMP Manager는 시스템, 특히 통신 장비를 관리하는 애플리케이션를 나타낸다. J2EE에서 SNMP Manager는 엔터프라이즈 애플리케이션, 특히 WAS와 같은 미들웨어를 관리한다.
SNMP Manager 애플리케이션은 MIB를 참조하여 SNMP Agent에서 관리 정보를 요청한다. 애플리케이션은 MIB 파일을 Parsing해서 정보의 구조를 분석하고, 관리자가 읽고 관리하기 쉽게 한다.