1.
프로젝트때문일지 몰라도 요즘 모니터링시스템이 눈에 많이 들어옵니다. 아마도 하드웨어 비용이 낮아지고 클라우드환경이 보편화하면서 나타난 현상이 아닐까 합니다. 제가 알고 있는 모니터링시스템은 Hyperic입니다. 2007년 사내 서버를 관리하기 위해 사용했던 오픈소스입니다.
다시금 확인해보니 VMWare가 인수하였던군요. Hyperic과 유사한 기능을 웹서비스로 제공하는 곳이 있습니다. Sealion입니다. SeaLion Agent을 설치하면 웹으로 통하여 시스템을 모니터링할 수 있습니다. 설치하는 방법은 간단합니다. Agent를 받아서 설치해도 되지만 루트권한이 없이 아래 명령어를 실행해도 됩니다. 저도 이렇게 해서 모니터링을 해보고 있습니다.
1 |
$curl -s https://agent.sealion.com | sudo bash /dev/stdin -o 4f4632a8-597c-4d96-978c-c4564b6760dd |
Sealion과 비슷하지만 상용제품으로 판매하는 Datadog도 있슴니다. 직접적인 통합이 가능한 제품들은 Integration을 살펴보시면 됩니다.
2.
위의 제품과 비슷하지만 다른 기능이 프로세스 모니터링입니다. 여러가지 제품중 가장호기심을 자극한 프로그램은 Monit입니다.다만 Hyperic이 하드웨어, 네트워크 및 소프트웨어를 포함하지만 Monit는 프로세스 모티터링을 중심으로 다른 기능을 덧붙인 경우입니다.
M/Monit을 이용하면 통합모니터링환경을 구축할 수 있습니다. 다만 상용입니다.
이와 비슷한 Supervisor: A Process Control System입니다. 설명처럼 프로세스관리가 핵심입니다. Monit처럼 웹접속으로 모니터링을 할 수 있습니다.
프로세스 모니터링은 프로세스 스케줄링과 밀접한 관계가 있습니다. 보통 crond나 systemd이 대표적이지만 기업환경에서는 좀더 다양한 기능을 요구합니다. 그룹관리나 워크플로우 개념입니다. Control-M이 가장 많이 사용하는 사용제품입니다. 다만 비싸서 중소기업이 사용하기 힘듭니다. 아래 소프트웨어는
상용제품에서 오픈소스로 전환한 경우입니다.
JobScheduler
schedulix: The Open Source Enterprise Job Scheduling System
이상의 제품들은 이전에 소개했던 Fluentd와 통합하면 괜찮은 운영시스템을 만들 수 있지않을까요?