Rackspace Cloud Monitoring

Rackspace Cloud Monitoring Agent

Built with the Virgo Agent Toolkit

What is it?

A tiny service running on your servers which samples system & application metrics, and pushes them to Rackspace Cloud Monitoring where they can be analyzed, graphed, and alerted on. Your favorite tools (Chef, Puppet, Ansible, Salt, etc…) integrate with us to transparently install & configure monitoring when you provision new servers or deploy new code. You can also do it yourself with local YAML configurations or via our API if you like.

Monitoring Features

Metrics

We bundle many fundamental check types into our agent.

Each of these reports a variety of metrics about the resource they target.

Host Info

You can query your connected agents via our API to instantly retrieve structured data about your hosts.

Custom Plugins

Just like the Cloudkick agent or Nagios, you can use any tool you like to sample data about your systems, reformat its output into a simple text format, and the monitoring agent will push the metrics into Cloud Monitoring where you can graph and alert on them. We maintain a repository of custom agent plugins that many developers & sysadmins have contributed. If you don’t see what you need there, write your own. It’s easy!

Want new features?

Join us on #cloudmonitoring on Freenode and share your monitoring ideas with us! We also <3 pull requests.

Technology

The core agent functionality is carefully written in C, so it is efficient and cross-platform with almost no system dependencies. We embed Luvit so we can use a high-level language to enable rapid iteration on simple, easily-verifiable monitoring code. This idea inspired the Virgo Agent Toolkit project.

Much of our monitoring uses SIGAR, but we also do cool things like using LuaJIT FFI to link against external libraries for monitoring specific applications.

Topology

Every agent connects to endpoints in three datacenters for redunancy, but only sends metrics to one primary datacenter at a time.

Performance

Our monitoring agent uses very little CPU and only about 6 megabytes of RAM (most of this is statically linking OpenSSL). Only 3 persistent socket connections are maintained, and we use only the bandwidth necessary to send your metrics. We have over 60k agents installed in heterogenous environments all around the world, and we want to have many more, so we strive to be as lightweight and low-impact as possible.

Security

Our agent is open-source, so you can review the code yourself for security issues and know that other users of our agent are doing the same. You can compile your own builds, leaving in only the features you like. OpenSSL is statically linked, and we frequently ship updated packages. We sign our packages with GPG. Our outbound connections are secured with TLS. Our agent authenticates our servers using a private Certificate Authority, and connect to only 3 well-known VIPs, so firewall rules are easy to write. Our agent can also use your HTTP proxies to route its traffic outside of your sequestered networks, so your networks can remain secure.

Installing

… from our packages

We distribute packages for many operating systems at https://meta.packages.cloudmonitoring.rackspace.com/.

… from source

git clone https://github.com/virgo-agent-toolkit/rackspace-monitoring-agent
cd rackspace-monitoring-agent
git submodule update --init --recursive
./configure && make
make install

Setup

http://www.rackspace.com/knowledge_center/article/install-the-cloud-monitoring-agent#Setup

License

The Monitoring Agent is distributed under the Apache License 2.0.