For the purpose of a startup, I have a loan for one physical dedicated server with several virtual machines inside it
For now there is mainly 2 VM on this server:
VM "tools", using ubuntu server 10.04 LTS
- A source code repository using mercurial and hgserve A bunch of
- JAVA app for Atlasian for bug tracking, wiki...
- PostgreSQL as the Database for the tools
- Apache HTTPD as HTTPS front end.
VM "asterisk", using ubuntu server 10.04 LTS
- with an asterisk server, functionnal, but more for testing as of now than anything.
But in the future we will have a "production" VM with ou JAVA application :
- Apache HTTPD frontend
- PostgreSQL database
- Tomcat webapp (maybe cluterised)
What I'am interrested into is a software that can monitor availability of services, KVM VM, applications and database so I can react in case of problem.
I have also another use case where I'd like to monitor the performance of the application (request, CPU, memory...) and gather usage statistics.
We have basically no money, and want a free tool, at least at first.
What would be easy and simple tool for the job ? I have heard of Nagios and Hyperic but I don't know them. So I don't know if they are suited for our needs.
EDIT :
The need is not only for server monitoring but also as a way to investigate actual application perfornance, responsiveness and if possible isolate bottlenecks.
From the links (not the same question as it seem more generic but quite informative) and the actual responses, Nagios + Munin should be a good fit. Problem is Nagios seems a little complex (I don't know for Munin). Will the Nagios/Munin combo will be able to gather detailled statistics and historical data for a java application (request/seconds, request latency, both with statistics by URL, hour, day, week... ?)
Are there other (better ?) alternatives ?