네트워크 장비를 모니터링하기 위해서는 여러 요소들을 고려해야 한다. NMS와 모니터링할 네트워크 장비가 통신이 가능한 환경, 풀어서 말하면 NMS 솔루션이 설치된 서버에서 발송되는 SNMP 패킷이 모니터링하고자 하는 장비에 닿고 네트워크 장비가 응답한 패킷이 NMS 솔루션이 설치된 서버에 돌아올 수 있도록 적절한 네트워크 환경을 만들어 주어야 한다. 그리고 NMS와 네트워크 장비 중간에 위치할 수 있는 보안 장비가 NMS와 네트워크 장비 간의 통신을 막지 않도록 미리 조치해야 한다.
또한 어느 OID를 수집할 것인가를 정하는 것 역시 중요하다. 즉, 모니터링할 요소를 정하는 것. 모든 OID를 모니터링 할 수 없을 뿐더러 의미 없는 OID를 모니터링하는 것은 리소스 낭비에 불과하기 때문에 장비에서 중요한 기능에 해당하는 OID가 무엇인지를 확실히 인지하고 모니터링해야 한다. 모니터링하기에 앞서 트래픽은 장애 예측과 장애 대응에 가장 중요하게 사용되는 지표인만큼 트래픽이 어떻게 수집되는지, 통계화면에서 어떻게 보는 것인지 트래픽 모니터링에 대해 알아두는 것도 좋다.
네트워크 장비를 모니터링하기 위해서는 NMS가 설치되고 운용되는 서버가 속한 네트워크 환경에 대해 먼저 이해해야 한다. NMS가 설치된 서버 또한 하나의 네트워크에 포함되어 통신하는 하나의 단말이다. 그러므로 NMS 서버가 자신이 속한 네트워크 뿐만 아니라 다른 네트워크에 속하는 네트워크 장비를 모니터링하기 위해서는 각 네트워크에 도달하기 위한 조치
가 필요하다.
위 그림을 보면 가장 좌측에 있는 NMS가 경로 상의 모든 네트워크 장비를 모니터링하고자 한다. 네트워크는 방화벽과 라우터를 중심으로 4개의 네트워크로 나뉘어 있다.
그럼 여기서 NMS가 경로 상의 네트워크 장비와 우측에 있는 모니터링 대상 장비를 모니터링 하기 위해서 필요한 것을 확인해보겠다.
먼저 각 장비에 도달할 수 있도록 네트워크 경로 상의 장비들에 라우팅 설정이 되어있어야 한다. 중간 경로에 있는 장비들에 접근할 수 있도록 순차적으로 라우팅 설정을 해야 한다. 물론 모니터링 대상 장비가 속한 네트워크의 라우터에도 NMS가 속한 네트워크로 향하는 라우팅이 설정되어 있어야 한다. 라우팅을 설정
하여 NMS와 모니터링 대상 장비가 서로 통신이 가능한 상태가 되는 것. (Layer 3까지의 통신을 의미)
다음은 Firewall (방화벽)
이다.
방화벽은 네트워크와 네트워크 중간에서 트래픽을 제어하는 보안 장비이다. NMS가 속한 네트워크 이외의 네트워크에 접근하기 위해서는 방화벽에서 반드시 이를 허용해주어야 한다. 방화벽의 정책 허용은 출발지/목적지/포트 위주로 허용하기 때문에 NMS 서버의 IP와 모니터링 대상 장비가 속한 IP, UDP Port 161,162를 허용해주는 것이 좋다.
모니터링 대상 장비의 SNMP 기능 활성화와 설정. 대부분의 네트워크 장비에는 SNMP 관련 설정을 위한 페이지 혹은 명령어가 별도로 존재한다. SNMP를 활성화해주어야 하며, SNMP v1/v2/v3 중 어떤 것을 사용할 것인지(중복 가능), SNMP TRAP 또한 활성화할 것인지를 정해주어야 한다. 그리고 SNMP ACL
을 통해 이 장비에 SNMP 목적의 접근을 허용할 IP를 설정해주어야 한다. NMS 서버의 IP를 넣어야 하는 것.
그 밖에도 NMS의 SNMP 트래픽을 제어할 수 있는 장비는 다양하기 때문에 위의 설정을 해주었음에도 제대로 통신하지 못한다면 중간 경로의 혹은 전체 네트워크에 영향을 줄 수 있는 네트워크/보안 장비를 확인해보아야 한다.
네트워크 장비를 모니터링 할 준비가 되었다면, 이제 NMS에 네트워크 장비를 등록하는 과정을 거쳐야 한다. 이는 네트워크 장비에 SNMP GetRequest를 전송하여 OID를 응답받고, 이 정보들을 모아 하나의 Object(객체)로 표현하는 과정을 의미한다.
이 과정을 수행하기 전에 NMS에 사용자가 모니터링하고자 하는 OID가 모두 탑재되어 있어야 한다. 기본정보인 Public OID를 포함해서 계층별/벤더 별 네트워크 장비 중 사용자가 모니터링하기를 원하는 OID를 표함해야 한다는 뜻이다.
NMS에 필요한 OID를 담았다면 네트워크 장비를 모니터링하기 위해 다음과 같은 과정을 수행한다.
모니터링이 되는 요소에 대해 알아본다. 아무리 OID가 많다 하더라도 무엇을 모니터링 해야할 지 모른다면 의미가 없을 것이다. OSI 7 계층과 벤더를 가리지 않고 사용되는 기본적인 요소와 함께 OSI 7 계층별 장비들, 다시 말해 스위치와 라우터, 로드밸런싱 장비와 VPN 등에 따라 자주 모니터링되는 요소에 대해 알아본다.
네트워크 장비의 공통
정보는 하드웨어를 사용하는 IT 기기라면 기본적으로 가지고 있는 정보들을 의미한다고 볼 수 있다. 네트워크 장비의 제조사에 해당하는 벤더, 네트워크 장비에 대한 설명인 Description, 장비 가동 시간을 의미하는 Uptime, 장비의 이름을 의미하는 Hostname 등이 있다. 장비의 정보가 변경이 된다면 이를 반영해야 할 것.
CPU 사용률
과 Memory 사용량
(총 사용량 대비 현재 사용량), FAN 상태
, 온도
가 공통 정보로서 매우 중요하다. 이 4가지 요소는 네트워크 장비 장애 발생 시 직관적으로 알 수 있는 중요한 정보들이다. 현업에서도 장애 발생 시 가장 먼저 확인하는 것은 CPU와 메모리, ICMP(인터넷 제어 메시지 프로토콜) 그리고 트래픽 처리량이다. L2 스위치에서 Broadcase Storm 발생 시 CPU 사용률이 급등하는 것과 VPN, 방화벽과 같은 세션 장비에서 메모리 사용량이 증가하면 중요 기능이 마비되는 것에서 잘 알 수 있다. 다만 CPU와 메모리는 NMS로 확인하는 것보다는 장비에 직접 접속하여 확인하는 것이 빠르기 때문에 NMS UI만 보고 있지는 않다. FAN은 네트워크 장비에서 발생하는 열을 외부로 방출시키기 위한 장치로 보통 2개를 장착하고 있다. 자주 고장나진 않지만 FAN의 상태는 네트워크 장비의 온도와도 밀접한 관련이 있는 요소이기 때문에 신경 써야 할 요소이다.
마지막으로는 ICMP Ping Check
와 SNMP Check
그리고 트래픽 처리량
이다.
위에서 언급한 4가지 요소와 공통 정보보다 더 빠르게 네트워크 장비의 상태를 확인할 수 있는 것은 ICMP Ping Check이다. 네트워크 장비에 ICMP Request를 주기적으로 날림으로써 상태를 확인하는 것이다. 네트워크 장비의 Management IP에 Ping Check를 지속적으로 실시하여 Response가 없으면 장애로 판단한다. 그리고 ICMP Ping Check에서 한 발 더 나아간 것이 SNMP Check이다. 네트워크 장비에 특정 OID를 RetReqeust하여 응답을 받아오며 장비 상태가 정상인 것으로 판단한다. 다만 ICMP Ping Check라는 보다 더 직관적인 요소가 있기 때문에 크게 사용되지는 않는다.
스위치와 라우터는 Layer2 / Layer3를 담당하는 장비들로서 다수의 단말을 연결하고 네트워크와 네트워크를 연결하는 기능을 한다. 그렇기에 다수의 인터페이스를 보유하므로 인터페이스의 상태가 매우 중요하다. 인터페이스의 상태가 중요하다는 것은 곧 트래픽 처리량 또한 매우 중요하다는 것을 의미한다.
스위치의 경우, 중요 단말에 연결된 인터페이스 상태와 해당 인터페이스의 트래픽 처리량, Uplink(이하 업링크, 상단 장비로 향하는 링크)의 인터페이스 상태와 트래픽 처리량을 매우 중요하게 본다. 업링크의 트래픽이 가득 찬다면 통신이 마비되는 것은 굳이 언급할 필요조차도 없다.
라우터는 스위치보다는 인터페이스를 적게 사용하지만 적게 사용하는 만큼 다운되었을 때의 영향도는 매우 크다. 라우터는 대규모 네트워크와 또 다른 대규모 네트워크를 잇는 일이 많기 때문이다. 인터페이스의 사용량과 더불어 트래픽 처리량 또한 매우 중요하다. 라우터가 주로 사용되는 전용회선은 값이 매우 비싸기 때문에 최대 허용 트래픽을 구체적으로 정해서 사용하며 그 이상이 발생하면 통신에 크나큰 문제가 생기기 때문에 트래픽 처리량을 아주 자세히 본다.
L4 스위치와 방화벽, IPSEC VPN/SSL VPN은 소위 세션 장비로서 단말과 단말을 연결하고 세션을 생성하여 관리한다. 그렇기 때문에 스위치와 라우터 등과는 다르게 공통 정보, 인터페이스에 더해 메모리 사용량과 Dist(이하 디스크)의 상태를 중요하게 본다. 세션 장비들은 트래픽 급증 시 메모리 사용량이 급증하고 갑작스러운 리부팅(정전 등의 이유)에 매우 취약하기 때문에 장애 시 디스크가 깨지는 경우도 있어 모니터링이 필요하다. 또한 세션장비인만큼 세션에 관한 정보는 여기서 확인할 수 있다. 각각의 세션의 상태를 NMS에서 확인하는 것은 비효율적이기 때문.
세션은 생성과 삭제가 잦고 양이 많다. (DB처럼 오래 유지하는 것도 있다.) 그렇기에 모든 세션을 NMS에 표시하는 것은 어렵다.
모니터링 주기는 NMS가 네트워크 장비의 OID를 수집해오는 주기를 의미한다. 주기가 짧을수록 NMS와 네트워크 장비에 부담이 되고 주기가 길수록 정확한 모니터링을 하기 쉽지 않다. 주로 1분(60초)과 5분(300초)을 사용한다.