After using Nagios and Hyperic (and disliking both), I stumbled upon Splunk - decided I loved it - then proceeded to implement something similar using Node.js and AWS CloudWatch (also wrote the node-cloudwatch npm package). Many months later, I refactored the original, over-engineered version (websocket-streaming logs!) into something simpler. This is what I came up with.
Amazon EC2 Monitoring with CloudWatch and Node.js | Heykuki News