chapter6. Monitoring

  • 학습목표
    • 사전 모니터링과 사후 모니터링
    • 호스트 모니터링의 효과적인 기법
    • 네트워크 모니터링의 중요 요소
    • 인터넷 서비스를 모니터링하는 방법
    • 로그 파일의 관리
    • 모니터링하는 방법
    • 내외부의 시스템 모니터링 기법 병합하기
    • 기업용 모니터링 소프트웨어 사용하기
  1. 모니터링이란: 스크공간, cpu사용량, 네트워크 사용성 과 같은 상태뿐만아니라 메일 서버가 적절하게 메일을 라우팅하는지 또는 웹서버는 수용 기준내에서 웹페이지를 잘 서비스 하고 있는 지 측정하기 위해서 컴퓨터의 성능을 평가하는 것이다. 모니터링은 서비스 체크, 로그분석, 통보를 포함하는 기능을 가지고 있어야한다. 종류는 사전 모니터링(디스크공간 점검), 사후 모니터링이 있다.(전력장애, HVAC의 장애, 보안침해)
  2. 호스트 모니터링: 호스트 모니터링은 서버의 다양한 성능과 용량 파라미터에 관심을 가지고 시스템 관리자에 의해 결정된 기준 threshold와 비교한다. 이를 통해 전체 기능 저하를 일으키거나 그럴 조짐이 보이는 문제를 밝혀낼 수 있을 것이다.(cpu부하, 가용메모리, 페이징활동, 디스크 활용도, 사용자수, icmp에코 응답시간)
  3. 네트워크 모니터링: 네트워크 가용성에 대한 모니터링인데 이때 링크상태와 대역폭을 측정 기준으로 삼는다.
    1. 링크상태 모니터링: 회선이 살았는지 죽었는지에 대한 상태 체크 sh int Serial0, snmpget, ping
    2. 네트워크 대역폭 모니터링: 대역폭이란 네트워크 링크의 한쪽에서 다른 한쪽으로 특정시간에 보낼 수 있는 데이터의 양. `sh int Serial1을 사용하는 결과 값이 BW1544kbit, 5min input rate 71000 bits/sec, 5min output rate 4000 bits/sec이면 동시에 1544Kbps 보낼 수 있고 그 중 71Kbps 이는 대역폭의 4.6%이므로 출력률도 낮기 때문에 이 링크는 잘 작동하고 있다. 대역폭이 오랫동안 높은 사용률을 가지면 다음과 같은 이상을 생각해 보아야 한다.
      1. 애플리케이션의 오동작
      2. 서비스 거부 공격
      3. 네트워크 자원의 부적절한 사용
      4. 정상 운용에 부적합한 대역폭(tcpdump, ntop을 통해 측정)
    3. 트래픽 콘텐츠 모니터링: 네트워크가 문제가 생겼을 시 실제적인 트래픽을 확인할 필요가 있다. 이 작업을 네트워크 스니핑이라 한다. 대표적인 툴은 tcpdump이다. tcpdump [-i 인터페이스] [-s 스냅길이] [-a] [필터]
  4. 서비스 모니터링: 서비스 모니터링은 사전에 문제를 예방하는데 효과적이다. 일반적으로 서비스 모니터링 작업은 타임아웃 값을 구현하여 테스트를 한다.
    1. 서비스 포트 접속 모니터링: 모니터링 툴이 서비스에 접속할 수 있다면 해당 서비스 가 가동 중임을 판단하는 것이다.
    2. POP 인터넷 서비스 모니터링: 110번 포트로 telnet 접속을 해서 POP 프로토콜을 사용하여 메시지를 실제로 전달해본다.
    3. DNS 서비스 모니터링: dns의 이름 해석 기능을 테스트하기 위해서는 네임서버가 외부의 이름을 ip어드레스로 성공적으로 해석하는 가를 보면 된다. nslookup www.yahoo.com address가 잘 뜨면 정상적으로 작동한 것.
    4. 타임아웃과 반복 재시도: 서비스마다 적당한 타임아웃시간이 있고 몇 번의 재시도를 해보아야 한다.
    5. 로깅작업: 시스템 로그 파일은 인프라에 있는 각 시스템과 서비스 그리고 네트워크에 대해 이야기해 준다. 잘 구성된 로그에는 메시지의 생성 날짜와 시간, 메시지를 생성한 애플리케이션, 발생한 이벤트에 대한 상세한 설명이 포함된다.여기서는 로깅 기법과 로그파일에 대해 논의를 한다.
  5. 로깅 작업: 시스템 로그 파일은 인프라에 있는 각 시스템과 서비스 그리고 네트워크에 대해 이야기해 준다.
    1. syslog: 사실상의 표준이 되는 로깅 매커니즘. 클라이언트가 로그를 syslog 서버로 전송하며, syslog 서버는 로그를 기록하거나 다양한 방법을 통해 관리자에게 통보. syslog메시지는 로그의 우선순위라고 할 수 있는 퍼실리티와 레벨이 부여된다. 로그 수신하려면 syslogd가 서버에 반드시 실행중이어야한다.
    2. syslog-ng: syslog의 제한을 극복하도록 고안. syslog-ng는 중앙 로그 서버에 아주 잘 맞게 호스트명에서 온 로그를 해당 제목파일로 보낼 수 있다. 또한 다양한 파라미터를 통해 세분화 시킬 수 있다.
  6. 로그 관리: 로그는 시스템 관리자에게 시스템에 관해 많은 이야기를 해준다. 로그 관리 방법은 위치, 파일 크기, 순환, 보관이 있다.
    1. 로그 파일의 위치 : /var 같은 곳에 넣자
    2. 로그 파일의 크기: 탐색하고 전송하고 보존하기에 충분한 사이즈
    3. 순환: 유효한 로그를 옮김으로써 제어/관리할 수 있게 만든다.
    4. 보관할 장치: CD-ROM, 다른곳에 복사 스케줄
  7. 로그 모니터링: 로그는 단순히 하루에 힐끗 보는게 아니라 바로바로 모니터링 할 필요가 있다.
    1. 로그 모니터링 소프트웨어: swatch, logsurfer
    2. 통보 시스템: 장애에 관한 즉각적이고 신뢰적인 통지시스템이 있어야 한다. 무선호출기, 휴대전화기, 이메일
  8. 내부 모니터링 대 외부 모니터링: 대부분의 모니터링 작업은 내부에서 이뤄지는데, 이는 써드 파티의 네트워크 장애가 발생하면 모니터링 시스템은 그것을 알려줄 수 없다. 내부에서 모니터링 해야한다면 별도 회선을 두어 사용자와 똑같은 시각을 가질 수 있게하고, 모니터링 서버와 생산서버간의 네트워크가 문제면 다운되었다고 판단할 수도 있다. 그래서 써드파티 모니터링도 필요
  9. 모니터링 애플리케이션: Microuse Netcool, NetSaint, Big Brother
  • HAVC의 장애: heating, ventilation, & air conditioning
  • icmp(Internet Control Message Protocol) 에코 응답시간: IP는 신뢰성을 보장하지 않는다. 따라서 네트워크 장애나 중계라우터 등의 에러에 대처 할 수 없다. 이런 경우 수신측에서 송신 측으로 데이터의 사고에 대한 내용을 전달할 필요가 있다. ICMP는 이와 같은 오류 정보를 발견 송신측에 메시지를 전달하는 기능을 한다. Ping 도구는 ICMP Echo Request 메시지를 전송하여 목적지 싯템으로부터 ICMP Echo Reply 메시지로 응답을 받는데 걸린 시간을 측정하으로써 네트워크 연결을 검사할 수 있다. (목적지까지 연결이 유효한지 확인한다.)
  • SNMP 프로토콜(Simple Network Management Protocol)의 축약어로 SNMP는 네트워크 장치를 관리하고 질의할 수 있도록 설계된 프로토콜이다. 특히 라우터와 파이어월의 질의에 많이 사용되고 디스크 사용량과 cpu부하와 같은 서버의 통계를 질의하는데도 사용된다.