| Sun ONE Web Server 6.1 관리자 설명서 |
11 장
모니터 서비스이 장에서는 내정 모니터 도구, 서비스 품질 기능 및 SNMP(Simple Network Management Protocol) 등을 포함하여 서버를 모니터하는 방법에 대항 설명합니다.
SNMP를 Sun ONE 관리 정보 베이스(MIB) 및 HP OpenView 등의 네트워크 소프트웨어와 함께 사용하여 네트워크에서 기타 장치를 모니터하는 것과 마찬가지로 서버를 실시간으로 모니터할 수 있습니다.
통계 기능 또는 SNMP를 사용하여 실시간으로 서버의 상태를 확인할 수 있습니다. UNIX 또는 Linux를 사용하는 경우 SNMP를 사용하려면 반드시 Sun ONE 서버를 SNMP 용으로 구성해야 합니다. 이 장에서는 UNIX 또는 Linux에서 Sun ONE 서버와 함께 SNMP를 사용하는 데 필요한 정보를 제공합니다.
이 장에서는 다음 항목에 대해 설명합니다.
통계를 사용하여 서버 모니터통계 기능을 사용하여 서버의 현재 작동을 모니터할 수 있습니다. 통계에는 서버가 처리하는 요청의 수와 해당 요청을 처리하는 상태 등이 표시됩니다. 개별 가상 서버용 일부 통계와 전체 서버 인스턴스에 대한 기타 통계도 확인할 수 있습니다. 대화형 서버 모니터 보고서에 서버가 많은 수의 요청을 처리하는 것으로 표시되는 경우 요청을 수용하도록 서버 구성 또는 시스템의 네트워크 커넬을 조정할 수 있습니다. 자세한 내용은 온라인 Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide를 참조하십시오.
통계를 사용하도록 설정하면 다음 영역에 대한 통계를 볼 수 있습니다.
대화형 서버 모니터 보고서의 다양한 서버 통계에 대한 전체적인 설명은 온라인 도움말의 Monitor Current Activity 페이지를 참조하십시오.
주의
통계/프로필 작성을 사용하는 경우 서버의 모든 사용자가 통계 정보를 사용할 수 있습니다. 자세한 내용은 Sun ONE Web Server 6.1 NSAPI Programmer's Guide의 stats-xml 설명을 참조하십시오.
통계 사용 설정
통계를 사용하려면 다음과 같이 합니다.
통계를 사용하도록 설정하는 데 대한 내용은 온라인 도움말을 참조하십시오.
통계 사용
통계를 사용하도록 설정하면 서버 인스턴스와 가상 서버가 실행되는 상태에 대한 다양한 정보를 얻을 수 있습니다. 통계는 기능적 영역으로 나누어집니다.
통계에 액세스하려면 다음과 같이 합니다.
통계에 표시되는 데이터를 사용하여 서버를 조정할 수 있습니다. 자세한 내용은 온라인 Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide를 참조하십시오.
서비스 품질 사용Quality of Service는 서버 인스턴스 가상 서버 클래스 또는 가상 서버에 대해 설정한 성능 한계를 가리킵니다. 예를 들어 ISP인 경우 가상 서버에 대하여 허용하는 대역폭의 정도에 따라 해당 가상 서버에 서로 다른 요금을 부과할 수 있습니다. 대역폭의 양과 연결의 수 등 두 가지 영역을 제한할 수 있습니다.
Monitor 탭에서 전체 서버 또는 Server Manager의 가상 서버 클래스용 설정을 사용할 수 있습니다. 그러나 개별 가상 서버용으로 서버 또는 클래스 수준 설정을 무시할 수 있습니다. 개별 서버용 서비스 품질 한계 설정에 대한 자세한 내용은 "가상 서버 서비스 품질 구성" 페이지 332을 참조하십시오.
재계산 간격 및 메트릭 간격 등 두 가지 설정이 트래픽 계수 방법과 대역폭을 다시 계산하는 빈도를 결정합니다. 재계산은 대역폭을 계산하는 빈도(1/000초)입니다. 메트릭 간격은 데이터가 트래픽 계산에 사용되는 시간입니다.
이 부분에서는 다음 항목에 대해 설명합니다.
서비스 품질 예제
다음의 예는 서비스 품질 정보가 수집되고 계산되는 방법입니다.
서버의 메트릭 간격은 30초 입니다.
시간 0초에 서버가 시작합니다.
시간 1초에 HTTP 연결이 서버에 대하여 5000 바이트의 트래픽을 만듭니다.
이 후 더 이상 연결이 만들어지지 않습니다. 30초에 지난 30초 동안의 총 트래픽은 5000 바이트입니다.
32초에 1초에 만들어진 트래픽 예제는 메트릭 간격 30초를 경과하였으므로 삭제됩니다. 이제 지난 30초 동안의 총 트래픽은 0입니다.
재계산 간격도 비슷하게 작동합니다. 서버의 재계산 간격은 100ms입니다.
동일한 예제에서 대역폭은 매 100ms마다 다시 계산됩니다. 계산은 트래픽의 양뿐 아니라 메트릭 간격에 따라 수행됩니다.
시간 0초에 대역폭이 처음 계산됩니다. 총 트래픽은 0이며, 30초의 메트릭 간격으로 나누는 경우 대역폭은 0입니다.
1초에 대역폭은 10번 째 시간(1000ms/100ms)으로 계산됩니다. 총 트래픽은 5000 바이트이며, 이는 30초로 나누어집니다. 대역폭은 5000/30 = 166 바이트/초입니다.
시간 30초에 대역폭이 300번째 시간으로 계산됩니다. 총 트래픽은 5000 바이트이며, 이는 30초로 나누어집니다. 대역폭은 5000/30 = 166 바이트/초입니다.
시간 32초에 대역폭이 320번째 시간으로 계산됩니다. 이제 트래픽은 0이 되며 (트래픽을 생성한 연결의 시간 경과), 30으로 나누면 대역폭은 0 바이트/초가 됩니다.
서비스 품질 설정
서버 인스턴스 또는 가상 서버 클래스용 서비스 품질 설정을 구성하려면 사용자 인터페이스를 통한 설정을 구성해야 합니다. 서비스 품질 설정을 실제로 집행하려면 반드시 obj.conf 파일의 SAF(Server Application Function)을 설정해야 합니다.
서비스 품질을 구성하려면 다음과 같이 합니다.
- Server Manager에서 Monitor 탭을 누릅니다.
- Quality of Service를 누릅니다.
서비스 품질용 일반 설정 목록과 전체로서의 서버 인스턴스 및 각 가상 서버 클래스 목록이 있는 페이지가 표시됩니다.
- 전체에 대하여 서비스 품질을 사용하려면 Enable을 누릅니다.
기본적으로 서비스 품질을 사용하도록 설정됩니다. 서비스 품질을 사용하면 서버의 오버헤드가 약간 증가합니다.
- Recompute Interval을 선택합니다.
재계산 간격은 모든 서버, 클래스 및 가상 서버용 대역폭에 대한 각 계산의 간격을 1/1000초 단위로 입력합니다. 기본값은 100입니다.
- Metric Interval을 선택합니다.
메트릭 간격은 트래픽이 측정되는 간격을 초 단위로 지정합니다. 기본값은 30 초입니다. 이 시간 동안 측정되는 모든 대역폭은 바이트/초로 평균됩니다.
사이트에 큰 파일 전송이 많은 경우 이 필드에 큰 값(수 분 이상)을 사용하십시오. 큰 파일을 전송하려면 짧은 메트릭 기간 동안 모든 허용된 대역폭을 사용할 수 있으므로 최대 대역폭 설정을 사용하는 경우 연결이 거부될 수 있습니다. 대역폭은 메트릭 간격으로 평균되므로 간격이 길면 큰 파일로 인하여 발생하는 첨두치를 완화시킬 수 있습니다.
대역폭 한계가 사용 가능한 대역폭 보다 많이 낮은 경우(예를 들어 백본으로의 1GB/초 연결에서 1MB/초로 대역폭을 제한하는 경우), 메트릭 간격을 짧게 해야 합니다.
또한 큰 정적 파일을 전송하며 대역폭 한계가 사용 가능한 대역폭 보다 많이 낮은 경우 문제를 해결하려면 반대의 해결책이 필요하므로, 어떤 상황을 조정할 것인지 결정해야 합니다.
- 서버 인스턴스 및 가상 서버 클래스용 서비스 품질을 사용하도록 설정합니다.
화면의 아래 부분에는 서버 인스턴스 및 가상 서버의 목록이 표시됩니다. 서비스 품질을 사용하려는 항목 옆의 작동으로 Enable을 선택합니다.
- 최대 대역폭을 바이트/초로 설정합니다.
- 최대 대역폭 설정을 집행할 것인지 선택합니다.
최대 대역폭을 집행하도록 선택하면, 서버의 대역폭 한계를 초과하는 경우 추가의 연결은 거부됩니다.
최대 대역폭을 집행하지 않으면 최대값을 초과하는 경우 서버가 오류 로그에 메시지를 기록합니다.
- 허용할 최대 연결 수를 선택합니다.
이는 동시에 처리되는 요청의 수 입니다.
- 최대 연결 수 설정을 집행할 것인지 선택합니다.
최대 연결 수를 집행하도록 선택하면, 서버의 한계를 초과하는 경우 추가의 연결은 거부됩니다.
- 최대 연결 수를 집행하지 않으면 최대값을 초과하는 경우 서버가 오류 로그에 메시지를 기록합니다.
- OK를 누릅니다.
obj.conf의 필요한 변경 사항
서비스 품질을 사용하려면 obj.conf파일에 지시문을 추가하여 AuthTrans qos-handler 및 Error qos-error등의 두 가지 SAF(Server Application Function)을 시작해야 합니다.
적절히 작동하려면 qos-handler AuthTrans 지시문이 기본 개체에 구성된 AuthTrans 중 첫 번째이어야 합니다. 서비스 품질 처리기의 역할은 가상 서버, 가상 서버 클래스 및 전역 서버용 현재 통계를 검사하고 오류를 반환하여 한계를 집행하는 것입니다.
Sun ONE Web Server에는 qos-handler라고 하는 예제 서비스 품질 처리기 SAF가 포함되어 있습니다. 이 SAF는 한계를 초과하는 경우 이를 기록하며 503 "Server busy"를 서버로 반환하여 NSAPI가 이를 처리하도록 합니다.
Sun ONE Web Server에는 또한 qos-error이라는 예제 오류 SAF가 포함되어 있으며, 이는 503 오류가 발생한 한계를 표시하는 오류 페이지와 한계가 적용된 통계 값을 반환합니다. 예제 코드를 변경하여 다른 오류 정보를 제공할 수 있습니다.
이들 예제는 server_root/plugins/nsapi/examples/qos.c에서 사용할 수 있습니다. 이 예제를 사용하거나 SAF를 새로 만들 수 있습니다.
SAF에 대한 설명과 사용 방법은 Sun ONE Web Server 6.1 NSAPI Programmer's Guide를 참조하십시오.
서비스 품질의 알려진 한계
서비스 품질 기능을 사용하는 경우 다음의 한계에 유의하십시오.
- 성능으로 인하여 연결 또는 대역폭 통계를 서버 프로세스 전체에서 공유할 수 없습니다. 즉, MaxProc의 설정을 사용할 수 없습니다. 따라서 모든 한계는 서버 프로세스에 개별적으로 적용되며, 모든 프로세스에 대하여 누적되지 않습니다. MaxProcs 및 복수 프로세스에 대한 자세한 내용은 온라인 Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide를 참조하십시오.
- 서비스 품질 기능은 오직 응용 프로그램 수준의 HTTP 대역폭만을 측정합니다. 다양한 이유로 HTTP 대역폭은 실제 TCP 네트워크 대역폭과 다를 수 있습니다.
- 서비스 품질 기능은 PR_TransmitFile 호출의 트래픽을 정확히 측정할 수 없습니다. PR_Send()/net_write 또는 PR_Recv()/net_read 등의 기본 I/O 동작의 경우, 하나의 시스템 호출에서 전송된 바이트 수는 보통 버퍼의 크기이며 I/O 호출은 빠르게 반송되므로 전송된 데이터는 대역폭 관리자에 의하여 즉시 계산됩니다. 이는 동적 컨텐츠 응용 프로그램의 순간적인 대역폭을 측정하는 경우 좋습니다. 그러나 PR_TransmitFile에서 전송된 데이터의 양은 전송의 끝에서 알 수 있으므로 전송이 완료되기 전에는 측정되지 않습니다.
PR_TransmitFile이 작은 경우 서비스 품질 기능이 적절히 작동할 것입니다. 그러나 전화 접속 사용자가 큰 파일을 다운로드 하는 경우와 같이 PR_TransmitFile이 큰 경우 전송된 전체 데이터 양은 전송이 완료될 때 계산됩니다. 다음 재계산 간격이 시작된 후 대역폭 관리자가 대역폭을 재계산하면 최근의 큰 PR_TransmitFile로 인하여 계산된 대역폭이 상당히 커지게 됩니다. 이 경우 지속 시간이 경과하여 대역폭 관리자가 파일 전송 작업을 "무효화" 시키는 다음 메트릭 간격까지 (따라서 대역폭이 낮아질 때까지) 서버는 모든 요청을 거부할 수 있습니다. 사이트에서 아주 긴 정적 파일 다운로드가 많은 경우 메트릭 간격을 기본값인 30초보다 크게 설정해야 합니다.
- 계산된 대역폭은 즉시 계산되지 않고 정해진 간격과 일정한 기간 후에 다시 계산되므로 항상 근사치입니다. 예를 들어 메트릭 간격이 기본값인 30초이며 서버가 29초 동안 유휴 상태인 경우 30초에서 클라이언트는 1초 동안 30배의 대역폭을 사용할 가능성이 있습니다.
- 서비스 품질 대역폭 통계는 서버가 동적으로 구성되면 항상 잃게 됩니다. 또한 서비스 품질 한계는 이전의 사용하지 않는 구성의 연결이 있는 스레드에는 집행되지 않습니다. 이는 대역폭 관리자 스레드가 오직 사용 중인 구성의 대역폭 통계만 계산하기 때문입니다. 클라이언트가 오래 동안 소켓을 닫지 않고 사용 상태를 유지하여 서버가 이를 무효화시키지 않는 경우 이는 서버가 동적으로 재구성된 후에도 서비스 품질의 대상이 되지 않을 수 있습니다.
- 동시 연결은 계산 세밀도는 가상 서버의 경우 가상 서버 클래스와 전역 서버 인스턴스와는 다른 정도로 계산됩니다. 개별 가상 서버용 연결 카운터는 요청이 파싱되고 해당 가상 서버로 라우팅되면 즉시 자동적으로 증가됩니다. 또한 해당 요청용 응답 처리가 완료되면 자동으로 기록됩니다. 따라서 가상 서버 연결 통계는 항상 모든 인스턴스에 대하여 정확하게 됩니다.
그러나 가상 서버 클래스 및 전역 서버 인스턴스에 대한 연결 통계는 즉각적으로 업데이트되지 않습니다. 이 통계는 매 재계산 간격마다 대역폭 관리자에 의하여 업데이트됩니다. 가상 서버 클래스용 연결 계수는 해당 클래스의 모든 가상 서버 연결의 합이며, 가상 서버 인스턴스 연결 계수는 모든 가상 서버 클래스 연결의 합입니다.
이 값의 계산 방식으로 인하여 가상 서버의 연결 수는 항상 정확하며(또한 연결 수에 대한 제한을 집행하는 경우 한계 이상의 연결이 발생할 수 없음), 가상 서버 클래스 및 서버 인스턴스 값은 오직 매 간격마다 계산되므로 정확하지 않습니다.
SNMP 기초SNMP는 네트워크 작동에 대한 데이터를 교환하는 데 사용하는 프로토콜입니다. SNMP를 사용하면 데이터가 관리된 장치와 네트워크 관리 스테이션(NMS) 사이에서 전송됩니다. 관리된 장치는 호스트, 라우터, 웹 서버 및 네트워크의 기타 서버 등 NSMP에서 실행되는 모든 것입니다. NMS는 네트워크를 원격으로 관리하는 컴퓨터입니다. 보통 NMS 소프트웨어는 수집된 데이터를 표시하는 그래프를 제공하거나 해당 데이터를 사용하여 서버가 특정 임계치 내에서 작동하는지 확인합니다.
NMS는 보통 하나 이상의 네트워크 관리 응용 프로그램이 설치된 고기능 워크스테이션입니다. HP OpenView 등의 네트워크 관리 응용 프로그램은 웹 서버 등의 관리된 장치에 대한 정보를 그래픽을 표시합니다. 예를 들어 기업에서 작동 중이거나 정지된 서버를 표시할 수 있으며 수신된 오류 메시지의 수와 유형을 표시할 수 있습니다. Sun ONE 서버에서 SNMP를 사용하는 경우 이 정보는 하위 에이전트와 마스터 에이전트 등 두 종류의 에이전트를 통하여 NMS와 서버 사이에 전송됩니다.
하위 에이전트는 서버에 대한 정보를 수집하며 해당 정보를 서버의 마스터 에이전트로 전달합니다. Administration Server를 제외한 모든 Sun ONE 서버에는 하위 에이전트가 있습니다.
마스터 에이전트는 NMS와 통신합니다. 마스터 에이전트는 Administration Server에 설치됩니다.
호스트 컴퓨터에 여러 개의 하위 에이전트가 있을 수 있으나 마스터 에이전트는 하나만 있어야 합니다. 예를 들어 동일한 호스트에 Directory Server, Sun ONE Web Server 및 Messaging Server가 설치된 경우 아래에 보이는 것과 같이 각 서버의 하위 에이전트가 동일한 마스터 에이전트와 통신합니다.
Sun ONE Web Server MIBSun ONE Web Server에는 네트워크 관리에 관련된 변수가 저장됩니다. 마스터 에이전트가 액세스할 수 있는 변수는 관리된 개체라고 합니다. 이 개체는 MIB(Management Information Base)라고 하는 트리 형식의 구조로 정의됩니다. MIB는 서버의 네트워크 구성, 상태 및 통계에 대한 액세스를 제공합니다. SNMP를 사용하면 NMS(Network Management Station)에서 이 정보를 볼 수 있습니다.
서버의 MIB에는 해당 특정 서버용 네트워크 관리에 관련된 변수 정의가 있습니다. MIB 트리의 최상위 수준은 아래 그림에 보이는 것과 같습니다.
MIB 트리의 최상위 수준에는 인터넷 개체 ID가 표시되며, 여기에는 directory(1), mbmt(2), experimental(3) 및 private(4)의 네 가지 하위 트리가 있습니다. private(4) 하위 트리에는 enterprise(1) 노드가 있습니다. enterprises(1)의 각 하위 트리는 개별 엔터프라이즈에 지정되며, 해당 엔터프라이즈는 자체의 MIB 확장자를 등록한 조직입니다. 따라서 엔터프라이즈는 자체의 하위 트리에 제품 특정 하위 트리를 만들 수 있습니다. 회사가 만든 MIB는 enterprises(1) 노드 아래에 위치합니다. Sun ONE MIB는 enterprises(1) 노드 아래에 위치합니다.
각 Sun ONE 서버 하위 에이전트는 SNMP 통신에서 사용할 MIB를 제공합니다. 서버는 이들 변수가 포함된 메시지 또는 트랩 을 송신하여 NMS(Network Management Station)에 중요한 이벤트를 보고합니다. NMS는 또한 서버의 MIB에서 데이터를 쿼리하거나 MIB의 변수를 원격으로 변경할 수 있습니다.
각 Sun ONE 서버에는 자체의 MIB(Management Information Base)가 있습니다. 모든 Sun ONE MIB는 다음에 위치합니다.
Sun ONE Web Server의 MIB는 webserv61.mib라는 이름의 파일입니다. 이 MIB에는 Sun ONE Web Server용 네트워크 관리에 관련된 다양한 변수의 정의가 포함됩니다.
Sun ONE Web Server 6.1 MIB에는
http 60 (iws60 OBJECT IDENTIFIER ::= {http 60})의 개체 식별자가 있으며 위치는 server_root/plugins/snmp 디렉토리입니다.Sun ONE Web Server MIB를 사용하여 실시간으로 서버에 대한 관리 정보를 볼 수 있으며 서버를 모니터할 수 있습니다. webserv61.mib에 저장된 관리된 개체의 목록과 설명은 Table 에 보이는 것과 같습니다.
SNMP 설정일반적으로 SNMP를 사용하려면 반드시 시스템에 마스터 에이전트와 최소한 하나의 하위 에이전트가 설치되고 실행되어야 합니다. 하위 에이전트를 사용하기 전에 마스터 에이전트를 설치해야 합니다.
SNMP를 설정하는 방법은 시스템에 따라 다릅니다. 상황에 따른 절차의 개요는 표 8.1에 보이는 것과 같습니다. 실제의 절차는 이 장의 뒤에서 자세히 설명합니다.
시작하기 전에 두 가지를 확인해야 합니다.
이 정보를 확인하는 방법은 시스템 설명서를 참조하십시오.
표 2) SNMP 마스터 에이전트 및 하위 에이전트 사용 설정을 위한 절차 개요.
프록시 SNMP 에이전트 사용(UNIX/Linux)이미 원시 에이전트가 실행되며 이를 Sun ONE Web Server 마스터 에이전트와 함께 계속 사용하려는 경우 프록시 SNMP 에이전트를 사용해야 합니다. 시작하기 전에 원시 마스터 에이전트가 중단되었는지 확인합니다. (자세한 정보는 시스템 설명서를 참조하십시오.)
참고
프록시 에이전트를 사용하려면 이를 설치한 후 시작해야 합니다. 또한 Sun ONE Web Server 마스터 에이전트가 실행되는 포트 번호가 아닌 다른 포트 번호를 사용하여 원시 SNMP 마스터 에이전트를 재시작해야 합니다.
이 부분에서는 다음 항목에 대해 설명합니다.
프록시 SNMP 에이전트 설치
SNMP 에이전트가 시스템에서 실행되며 원시 SNMP 데몬을 계속 사용하려면 다음과 같이 합니다.
- SNMP 마스터 에이전트를 설치합니다. SNMP 마스터 에이전트 설치 참조.
- 프록시 SNMP를 설치 및 시작하고 원시 SNMP 데몬을 재시작합니다. 프록시 SNMP 에이전트 사용(UNIX/Linux) 참조.
- SNMP 마스터 에이전트를 시작합니다. SNMP 마스터 에이전트 사용 설정 및 시작 참조.
- 하위 에이전트를 사용하도록 설정합니다. 하위 에이전트 사용 설정 참조.
SNMP 프록시 에이전트를 설치하려면 서버 루트 디렉토리의 plugins/snmp/sgat에 있는 CONFIG 파일(다른 이름을 지정할 수 있음)을 편집합니다. 또한 MIB 트리와 프록시 SNMP 에이전트가 전달할 트랩을 포함해야 합니다.
CONFIG 파일의 예는 다음과 같습니다.
AGENT AT PORT 1161 WITH COMMUNITY public
SUBTREES 1.3.6.1.2.1.1,
1.3.6.1.2.1.2,
1.3.6.1.2.1.3,
1.3.6.1.2.1.4,
1.3.6.1.2.1.5,
1.3.6.1.2.1.6,
1.3.6.1.2.1.7,
1.3.6.1.2.1.8
FORWARD ALL TRAPS;
프록시 SNMP 에이전트 시작
프록시 SNMP 에이전트를 시작하려면 명령 프롬프트에서 다음을 입력합니다.
원시 SNMP 데몬 재시작
프록시 SNMP 에이전트를 시작한 후, CONFIG 파일에서 지정한 포트에서 원시 SNMP 데몬을 재시작해야 합니다. 원시 SNMP 에이전트를 재시작하려면 명령 프롬프트에서 다음을 입력합니다.
여기에서 port_number는 CONFIG 파일에 지정된 포트 번호입니다. 예를 들어 Solais 플랫폼의 경우 앞에서 언급한 예제의 CONFIG 파일의 포트를 사용하는 경우 다음을 입력합니다.
SNMP 원시 에이전트 재구성SNMP 데몬이 AIX에서 실행되는 경우 SMUX가 지원됩니다. 따라서 마스터 에이전트를 설치할 필요는 없습니다. 그러나 AIX SNMP 데몬 구성을 변경해야 합니다.
AIX는 여러 구성 파일을 사용하여 통신을 검사합니다. 이 중 한 가지인 snmpd.conf를 변경하여 SNMP 데몬이 SMUX 하위 에이전트에서 들어오는 메시지를 받도록 해야 합니다. 더 자세한 내용은 snmpd.conf용 온라인 설명서 페이지를 참조하십시오. 각 하위 에이전트를 정의하는 줄을 추가해야 합니다.
예를 들어 다음 줄은 snmpd.conf에 추가할 수 있습니다.
IP_address는 하위 에이전트가 실행되는 호스트의 IP 주소이며 net_mask는 이 호스트의 네트워크 마스크입니다.
SNMP 마스터 에이전트 설치SNMP 마스터 에이전트를 구성하려면 반드시 Administration Server 인스턴스를 root 사용자로 설치해야 합니다. 그러나 root가 아닌 사용자라도, 웹 서버 인스턴스에서 SNMP 하위 에이전트가 마스터 에이전트와 함께 작동하도록 구성하여 MIB 찾아 보기 등의 기본적인 SNMP 작업을 수행할 수 있습니다.
Server Manager를 사용하여 마스터 SNMP 에이전트를 설치하려면 다음과 같이 합니다.
- root로 로그인합니다.
- 포트 161에 SNMP 데몬(snmpd)이 실행되는지 확인합니다.
실행되는 SNMP 데몬이 없으면 Step 4로 계속합니다.
SNMP 데몬이 실행 중이면 데몬을 시작하는 방법과 지원하는 MIB 트리를 확인합니다.
- SNMP 데몬이 실행 중이면 해당 프로세스를 종료합니다.
- Server Manager에서 Global Settings 탭의 SNMP Master Agent Trap 페이지를 선택합니다. Manager Entries 페이지가 표시됩니다.
- 네트워크 관리 소프트웨어를 실행하는 시스템의 이름을 입력합니다.
- 네트워크 관리 시스템이 트랩을 청취할 포트 번호를 입력합니다. (주로 사용하는 포트는 162입니다.) 트랩에 대한 더 자세한 내용은 트랩 대상 구성을 참조하십시오.
- 트랩에서 사용할 커뮤니티 문자열을 입력합니다. 커뮤니티 문자열에 대한 자세한 내용은 커뮤니티 문자열 구성을 참조하십시오.
- OK를 누릅니다.
- Server Manager에서 Global Settings 탭의 SNMP Master Agent Community 페이지를 선택합니다. Community Strings 페이지가 표시됩니다.
- 마스터 에이전트용 커뮤니티 문자열을 입력합니다.
- 커뮤니티용 작업을 선택합니다.
- OK를 누릅니다.
SNMP 마스터 에이전트 사용 설정 및 시작마스터 에이전트 작업은 CONFIG라는 에이전트 구성 파일에 정의됩니다. Server Manager를 사용하여 CONFIG 파일을 편집하거나, 파일을 직접 편집할 수 있습니다. SNMP 하위 에이전트를 사용 설정하기 전에 반드시 마스터 SNMP 에이전트를 설치해야 합니다.
마스터 에이전트를 시작할 때 "System Error: Could not bind to port"와 유사한 바인드 오류가 발생하면 ps -ef | grep snmp를 사용하여 magt가 실행되고 있는지 확인합니다. 실행되는 경우 kill -9 pid 명령을 사용하여 해당 프로세스를 종료합니다. SNMP용 CGI가 다시 작동을 시작할 것입니다.
이 부분에서는 다음 항목에 대해 설명합니다.
다른 포트에서 마스터 에이전트 시작
Administration Interface는 161이 아닌 다른 포트에서 SNMP 에이전트를 시작하지 않을 것입니다. 그러나 다음과 같이 다른 포트에서 직접 마스터 에이전트를 시작할 수 있습니다.
마스터 에이전트가 원하는 포트에서 시작될 것입니다. 그러나 사용자 인터페이스는 해당 에이전트가 실행되는 것을 감지할 수 있습니다.
SNMP 마스터 에이전트 직접 구성
마스터 SNMP 에이전트를 직접 구성하려면 다음과 같이 합니다.
마스터 에이전트 CONFIG 파일 편집
CONFIG 파일은 마스터 에이전트가 작동하는 커뮤니티와 관리자를 정의합니다. 관리자 값은 유효한 시스템 이름이나 IP 주소이어야 합니다.
기본 CONFIG 파일의 예는 다음과 같습니다.
COMMUNITY public
ALLOW ALL OPERATIONS
MANAGER manager_station_name
SEND ALL TRAPS TO PORT 162
WITH COMMUNITY public
sysContact 및 sysLocation 변수 정의
CONFIG 파일을 편집하여 sysContact 및 sysLocation MIB-II 변수를 지정하는 sysContact 및 sysLocation의 초기 값을 추가할 수 있습니다. 이 예의 sysContact 및 sysLocation 문자열은 인용 부호 안에 넣습니다. 공백, 줄바꿈, 탭 등을 포함하는 문자열은 인용부호 안에 넣어야 합니다. 또한 16진수 표기법으로 값을 지정할 수 있습니다.
sysContract 및 sysLocation 변수가 정의된 CONFIG 파일의 예는 다음과 같습니다.
SNMP 하위 에이전트 구성
SNMP 하위 에이전트를 구성하여 서버를 모니터할 수 있습니다.
SNMP 하위 에이전트를 구성하려면 다음과 같이 합니다.
- Administration Server에서 서버 인스턴스를 선택하고 Manage를 누릅니다.
- Monitor 탭을 선택합니다.
- SNMP Subagent Configuration을 선택합니다.
- (UNIX 전용) Master Host 필드에 서버의 이름과 도메인을 입력합니다.
- 운영 체제 정보를 포함하여 서버의 설명을 입력합니다.
- 서버를 담당하는 조직을 입력합니다.
- Location 필드에 서버의 절대 경로를 입력합니다.
- Contact 필드에 서버를 담당하는 담당자의 이름과 연락처 정보를 입력합니다.
- Enable the SNMP Statistics Collection에 On을 선택합니다.
- OK를 누릅니다.
- Apply를 누릅니다.
- 서버를 재시작하여 변경을 적용하려면 Apply Changes를 선택합니다.
SNMP 마스터 에이전트 시작
SNMP 마스터 에이전트를 설치하면 에이전트를 직접 시작하거나 Administration Server를 이용하여 시작할 수 있습니다.
SNMP 마스터 에이전트 직접 시작
마스터 에이전트를 직접 시작하려면 명령 프롬프트에서 다음을 입력합니다.
INIT 파일은 MIB-II 시스템 그룹으로부터의 정보를 포함하는 비휘발성 파일로 여기에는 시스템 위치와 연락처 정보가 있습니다. INIT 파일이 없는 경우 마스터 에이전트를 처음 시작하면 파일이 만들어집니다. CONFIG 파일에 잘못된 관리자 이름이 있는 경우 마스터 에이전트가 시작할 수 없습니다.
비표준 포트에서 마스터 에이전트를 시작하려면 다음 중 한 가지 방법을 사용합니다.
방법1:CONFIG 파일에서 마스터 에이전트가 관리자로부터의 SNMP 요청을 청취할 각 인터페이스에 대한 전송 매핑을 지정합니다. 전송 매핑을 사용하면 마스터 에이전트가 표준 포트뿐 아니라 비표준 포트의 연결을 수락합니다. 마스터 에이전트는 또한 비표준 포트의 SNMP 트래픽을 수락합니다. 대상 시스템의 한계에 의하여 정해진 동시 SNMP의 최대 수에 따라 각 프로세스에 대한 개방 소켓 또는 파일 기술자의 수가 제한됩니다. 전송 매핑 항목의 예는 다음과 같습니다.
CONFIG 파일을 직접 편집한 후, 명령 프롬프트에서 다음을 입력하여 마스터 에이전트를 직접 시작해야 합니다.
방법 2:/etc/services 파일을 편집하여 마스터 에이전트가 표준 포트뿐 아니라 비표준 포트의 연결을 수락하도록 합니다.
Administration Server를 사용하여 SNMP 마스터 에이전트 시작
Administration Server를 사용하여 SNMP 마스터 에이전트를 시작하려면 다음과 같이 합니다.
SNMP 마스터 에이전트 구성마스터 에이전트를 사용 설정하고 호스트 컴퓨터의 하위 에이전트를 사용 설정하면 호스트의 Administration Server를 구성해야 합니다. 여기에는 커뮤니티 문자열과 트랩 대상을 지정해야 합니다.
커뮤니티 문자열 구성
커뮤니티 문자열은 SNMP 가 권한 부여에 사용하는 텍스트 문자열입니다. 따라서 네트워크 관리 스테이션은 에이전트에 보내는 각 메시지에 커뮤니티 문자열을 함께 보냅니다. 그런 후 에이전트는 네트워크 관리 스테이션이 정보에 대하여 인증되었는지 확인합니다. 커뮤니티 문자열이 SNMP 패킷과 보내질 때에는 감추어지지 않으며, 문자열은 ASCII 텍스트로 보내집니다.
Server Manager의 Community Strings 페이지에서 SNMP 마스터 에이전트용 커뮤니티 문자열을 구성할 수 있습니다. 또한 특정 커뮤니티가 수행할 수 있는 SNMP 관련 작업을 정의합니다. 또한 Server Manager에서 이미 구성한 커뮤니티를 확인, 편집 및 제거할 수 있습니다.
트랩 대상 구성
SNMP 트랩은 SNMP 에이전트가 네트워크 관리 스테이션으로 송신하는 메시지입니다. 예를 들어, SNMP 에이전트는 인터페이스의 상태가 가동(up)에서 정지(down)로 변경될 때 트랩을 송신합니다. SNMP 에이전트는 반드시 네트워크 관리 스테이션의 주소를 알고 있어야 트랩을 보낼 위치를 알 수 있습니다. Sun ONE Web Server에서 SNMP 마스터 에이전트용 트랩 대상을 구성할 수 있습니다. 또한 이미 구성한 트랩 대상을 확인, 편집 및 제거할 수 있습니다. Sun ONE Web Server를 사용하여 트랩 대상을 구성하는 경우 실제로는 CONFIG 파일을 편집하는 것입니다.
하위 에이전트 사용 설정Administration Server와 함께 제공되는 마스터 에이전트를 설치한 후에는 반드시 에이전트를 시작하기 전에 서버 인스턴스용 하위 에이전트를 사용하도록 설정해야 합니다. 마스터 에이전트 설치에 대한 자세한 내용은 SNMP 마스터 에이전트 설치를 참조하십시오. Server Manager를 사용하여 하위 에이전트를 사용하도록 설정할 수 있습니다.
UNIX/Linux 플랫폼에서 SNMP 기능을 정지하려면 반드시 우선 하위 에이전트를 정지시킨 후, 마스터 에이전트를 정지시킵니다. 마스터 에이전트를 먼저 정지시키는 경우 하위 에이전트를 정지시킬 수 없게 될 수 있습니다. 이러한 경우 마스터 에이전트를 다시 시작하고 하위 에이전트를 정지한 후, 마스터 에이전트를 정지시킵니다.
SNMP 하위 에이전트를 사용하도록 설정하려면 Server Manger의 SNMP Subagent Configuration 페이지를 사용하고 SNMP Subagent Control 페이지에서 하위 에이전트를 시작합니다. 자세한 내용은 온라인 도움말의 해당 부분을 참조하십시오.
하위 에이전트를 사용하도록 설정한 후에는 SNMP Subagent Control 페이지나 Windows의 Services Control Panel에서 에이전트를 정지 또는 재시작할 수 있습니다.
SNMP 메시지 이해GET과 SET는 SNMP에 의하여 정의되는 두 가지 유형의 메시지입니다. GET과 SET 메시지는 NMS(Network Management Station)이 마스터 에이전트로 보내는 메시지입니다. 이 중 한가지 또는 둘 모두를 Administration Server에서 사용할 수 있습니다.
SNMP는 PDU(protocol data unit)의 형태로 네트워크 정보를 교환합니다. 이 유닛에는 웹 서버 등의 관리된 장치에 저장된 변수에 대한 정보가 들어 있습니다. 이들 변수는 관리된 개체라고도 하며, 필요한 경우 NMS로 보고하는 값과 제목이 포함됩니다. 서버가 NMS로 보내는 프로토콜 데이터 유닛은 "트랩"이라고도 합니다. GET, SET 및 "트랩" 메시지를 사용하는 방법은 다음 예에서 설명합니다.
NMS가 시작한 통신 NMS는 서버에서의 정보를 요청하거나 서버의 MIB에 저장된 변수의 값을 변경합니다. 예:
- NMS는 Administration Server 마스터 에이전트에 메시지를 보냅니다. 메시지는 데이터에 대한 요청(GET 메시지)일 수 있으며 MIB의 변수를 설정하는 지시문(SET 메시지)일 수 있습니다.
- 마스터 에이전트는 메시지를 적절한 하위 에이전트로 전달합니다.
- 하위 에이전트는 데이터를 수신하거나 MIB의 변수를 변경합니다.
- 하위 에이전트는 데이터 또는 상태를 마스터 에이전트에 보고하고, 마스터 에이전트는 해당 메시지(GET 메시지)를 다시 NMS로 전달합니다.
- NMS는 네트워크 관리 응용 프로그램을 통하여 데이터를 텍스트 또는 그래픽으로 표시합니다.
서버가 시작한 통신.중요한 이벤트가 발생하면 서버 하위 에이전트는 메시지 또는 "트랩"을 NMS로 보냅니다. 예: