티스토리 뷰

OS/Linux

시스템 모니터링 툴 제작

solarwind 2008. 6. 25. 22:43
반응형

시스템 모니터링이라고 하면 뭔가 복잡하고 어려운 것부터 생각되고 실제로 귀찮은 작업이기도 합니다. 이유있는 문제도 있지만 그렇지 않은 경우도 많습니다. 시스템 에러의 원인을 알 수 없을 때는 참 답답합니다. 그렇다면 그 해결책을 무엇일까요? 스스로 간단한 시스템 모니터링 툴을 만들어 보는 것입니다. SNMP에 대한 기본 지식이 있다면 PHP를 이용해 간단하게 만들 수 있습니다. 리눅스에서 PHP와 SNMP를 이용한 간단한 시스템 모니터링에 대해 알아보겠습니다.

프로그래밍하다 보면 이유 없이 시스템이 다운되는 경우가 있습니다. 물론 이유가 없다는 말은 이유를 알 수 없는 경우입니다. 그렇다고 24시간 서버만 붙잡고 있을 수도 없을 것입니다. 그래서 나온 것이 시스템 모니터링 툴일 것입니다. 시스템 모니터링의 영역은 넓고 방대하지만 여기서 만들어보고자 하는 것은 SNMP를 가지고 직접 시스템의 필요한 부분을 모니터링해 보는 것입니다. 직접 만들어보면 필요한 부분을 원하는 방식으로 모니터링할 수 있습니다. 물론 직접 만드는 것이 복잡하다는 생각이 들 수도 있습니다. 그런 것을 어떻게 만들까 하는 생각이 들 수도 있습니다. 그러나 의외로 쉬운 방법이 있는데, 바로 SNMP의 값을 활용하는 것입니다. SNMP를 이용하면 매우 간단하게 시스템 모니터링에 필요한 값을 가져올 수 있습니다.

그렇다면 어떤 값을 가져올 수 있는지 먼저 알아야 합니다. SNMP로 쉽게 값을 가져올 수 있지만 그렇다고 해서 SNMP가 그리 만만한 것은 아닙니다. 왜냐하면 SNMP로 가져올 수 있는 시스템 모니터링 값 또한 매우 방대하기 때문입니다. 그러나 간단한 모니터링 프로그램을 만들어 보기 위해서 SNMP의 모든 부분을 알 필요는 없을 것입니다. 지금 필요한 부분만 익혀서 사용하면 되고 나중에 필요한 부분이 있으면 차근차근 알아가면 됩니다.

그렇다면 시스템 모니터링에 있어서 가장 필요한 값에는 어떤 것들이 있을까요? 그것은 바로 cpu와 메모리일 것입니다. 그리고 현재 시스템에 어떤 프로세스들이 있는지도 알아야할 것입니다. 이 정도 값만 알 수 있어도 간단하게 원격으로 서버를 모니터링할 수 있습니다. 그렇다면 이런 값들을 가져오기 위해서는 기본적인 프로그램이 설치되어 있어야 합니다. 여기서는 프로그램의 설치되어 있다는 가정 아래 실제로 SNMP 값을 가져오는 부분과 SNMP의 간단한 명령어를 익히게 됩니다. 그리고 PHP에서 SNMP 값을 가져오는 방법과 PHP에서 가져오는 값을 활용해서 모니터링 프로그램을 어떻게 만들어야 하는지도 알아보겠습니다.

SNMP 모니터링을 하기 위해서 필요한 것들
실제로 모니터링 프로그램을 만들기 위해서 필요한 것에는 어떤 것이 있는지 알아보겠습니다. 먼저 모니터링할 서버에 SNMP가 설치되어 있어야 합니다. 윈도우 서버와 리눅스 서버의 SNMP 값은 각각 다릅니다. 여기서 사용하는 것은 리눅스입니다. 리눅스에 일단 net-snmp(http://net-snmp.sourceforge.net/)가 설치되어 있어야 합니다. 설치되어 있지 않다면 이 사이트에서 받아서 설치할 수 있습니다. 그리고 PHP에서 SNMP 함수를 사용할 수 있어야 합니다. 일반적인 웹사이트 서비스를 위해서 PHP가 설치되어 있다면 SNMP 관련 함수를 사용할 수 있도록 설치해 주면 됩니다.

이 두 가지만 갖추어져 있다면 이제 필요한 것은 SNMP 값을 가져오는 것입니다. 그리고 어떤 값을 가져올 지를 미리 정하는 것입니다. 그리고 가장 중요한 것은 SNMP에 대한 기본 지식이 있어야 합니다. 무조건 SNMP 값을 가져다 쓰는 것보다는 SNMP에 대한 기본 지식을 알고 있으면 더 좋을 것입니다. 여기서는 한 대의 서버를 모니터링하는 것이 아니라 여러 대의 서버를 모니터링할 수 있기 때문에 모니터링하는 서버 또한 SNMP가 설치되어 있어야 합니다. SNMP 또한 환경 설정을 따로 할 수 있기 때문에 값을 가져오는 방식이 조금 다를 수 있겠지만 여기서는 기본적인 SNMP 방식으로 설명하겠습니다.

SNMP 기본 명령어 익히기
서버에서 SNMP 값을 가져오는 방법은 SNMP를 설치할 때 같이 설치되는 SNMP 관련 프로그램을 이용해서 가능합니다. 먼저 해당 서버에 SNMP가 설치되어 있는지 확인해야 합니다. 리눅스에서는 해당 서버에 SNMP 데몬이 실행되는 ps 명령으로 먼저 확인해 봅니다.


 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함