muddog (프로세스 모니터링 for HA) 소개글

weongyo의 이미지

안녕하세요.

혹시 다른 분들께 도움이 될 수 있을까 싶어 개인적인 필요로 만든 코드 (코드명 진흙개)를 공개합니다. 개발을 병행하며 혼자 서버 10 대를 24시간 운영하려면 개발한 서버 프로그램들이 죽을 경우 자동 복구 기능 (instant 시간내에) + Email 알림기능 (게으름 모드로 자고 일어나서 메일 체크 후 프로그램 core 발생시 조치를 위한) 이 절대적으로 필요했는데, 이 녀석이 현재 자동 복구 부분를 담당하고 있어 몇 달째 안심하고 숙면을 취하고 있습니다. FreeBSD STABLE_8 inetd(8) 소스를 기반으로 필요한 기능만 추리고 필요에 맞게 살짝 고쳐보았다.

용도

설정 파일에 있는 내용을 읽어 서버 프로세스들을 실행하고 있다가 어떠한 이유로 프로세스가 죽을 경우 다시 복구 시킴.

장점

  • muddog 와 유사한 일을 하는 프로그램들 (Supervisor 혹은 launchd, daemontools, runit) 이 많이 있지만 매우 슬림 (총 코드라인 800 줄) 하고 Resource 를 작게 (400KB) 잡아 먹음. Amazon EC2 micro 서버에서 실행되기 위해 최적화됨.
  • 개인적으로 약 1 년간 muddog 을 사용하면 프로그램 자체가 crash 되는 일은 없었음. 매우 안정적.
  • BSD 라이센스.

홈페이지: http://code.google.com/p/muddog/