#OSCON – One tiny daemon to harvest your server statistics (and more)
- Presenter: Brandon Philips, Rackspace
- External monitoring: ping, nmap, curl. Lest we forget nagios, ganglia, cacti, zenoss, noitd
- Internal monitoring: scripts gathering stats, pushing to a monitoring server
- Beware cron’d monitoring agents – not going to help you much during panic conditions. Whereas a daemon, you might be able to communicate with it.
- Overview: agent runs in the cloud, with TLS connection to a stud in each datacentre
- Rackspace’s monitoring agent is Virgo
- Designed for low memory usage
- Simple secure ‘proxyable’ protocol
- High level scripting language
- Designed to be statically linked
- Avoided C++, used Lua instead (JavaScript’s long lost Brazilian cousin)
- SSL + JSON newline delimitted + JSONRPC-esque
- libuv
- luvit
- luajit
- Lua code lives in a single zip file. Makes it easy to do upgrades and reduces presence on a client’s host.
- Sigar for gathering system metrics.
- Virgo agent uses ~5mb memory, less than python (~9mb), ruby (~15mb) or c++ (~20mb)
- Slides posted here
Leave a comment