[질문] 모니터링 프로그램 개발 - 구조

chiyk의 이미지

안녕하세요.
한대의 컴퓨터로 여러대의 컴퓨터를 감시하려고 합니다.
여러대의 컴퓨터에 특정한 프로그램이 동작하고 있어야 하는데,
그 프로그램이 올바르게 동작하는지 확인하는지 제 컴퓨터에서 확인하려고 합니다.

저의 생각은...
TCP Server/Client 프로그램을 작성해서 모니터링 대상이되는 컴퓨터에
Server Program을 설치하고, 제 컴퓨터가 Client가 되어서
필요시 마다 상태확인하는 요청을 보내고 응답을 받으면 될 것 같은데...
모니터링 프로그램이 이런 구조로 개발되어도 되는 것인지?
아니면 권장하는 구조가 있는 것인지... 의견 부탁드립니다.

감사합니다.

bus710의 이미지

네트워크 + 여러대 + 시그널 주고 받기....

저는 써본적도 없지만 screen이라는 프로그램이 도움이 될 것 같습니다.

============================================

life is only one time

obbaya의 이미지

시스템 정보를 간단히? 모니터링만 하고자한다면

개발보다는 cacti 같은 snmp도 고려해 보시는 게;

간단함을 넘어선다면 이 댓글은 무시해주세요 ==

preisner의 이미지

여러가지 방식이 있는데,
우선 Nagios 를 설치 해서 참고 해 보시면 좋을 겁니다.
Nagios 는 NRPE 라는 모니터링 데몬을 이용해서 Active 방식과 Passive 방식 모두 지원 합니다.
모니터링 프로그램 구조 잡기에는 도움이 될겁니다.
Ganglia 처럼 멀티 케스팅 하는 방법도 설정이 간단해서 참고 해 보시면 좋을 겁니다.
SNMP 이용하는 방법은 비추.

jos77의 이미지

좀 늦었지만 도움이 될까해서 덧글 올려봅니다 ^^
윗분들 말씀대로 하셔도 될 것 같구요. 제가 이해한 바로는 직접 만드시려는 것 같은데 그렇게 만드셔도 문제는 없을 것 같습니다...
다만, 항상 돌아가는 프로그램을 서버로 하는게 좋으니 번거롭더라도 특정 프로그램을 서버로 만드시고, 모니터링 프로그램을 클라이언트로 하는 걸 추천드립니다. 그렇지 않을 경우, 특정 프로그램을 실행시킬 때마다 모니터링 프로그램이 항상 먼저 떠 있어야만 돌아가는 프로세스가 될 수도 있고, 소켓 연결 끊어질 경우에 대한 처리도 복잡해질 수 있습니다. 특히 모니터링 프로그램을 자주 켰다껐다 한다면 그 편이 나을 겁니다

-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr