Rackspace Cloud Monitoring Agent
Switch branches/tags
Kaustavha/fix/checks/apache add-lshw-hostinfo add_mysql_tests add_timestamp_keyword add_topology add_waffle-1 armv7-sigar birgo-archon config_mapping enable_test_versioning execfiletest feat/add_hostname_support feat/confd_object_config feat/describe_host feat/fsro feat/hostinfo_check feat/remote-checks features/add_poller_zone features/enhanced_windows_installer features/libvirt features/list_plugins features/plugin_target_filter fix/add_set_version_for_breakpad_build fix/add_xenid_from_wmi fix_bugs_found_by_clang_checker fix/check_stdio_handles fix/cleanup_dead_code fix/confd_win_path fix_flock fix/msi_legacy fix/msssql_tests fix_not_executable_custom_plugin_test fixed-pep8-error fixes/add_host_info_commandline_support fixes/add_noEntityCreate_support fixes/add_restart_sec_systemd fixes/add_scheduler_tests fixes/add_signing fixes/add_stdin_close fixes/add_stdout_flush_and_plugin_test fixes/add_tests_for_checks fixes/apache_status fixes/binary_module_build fixes/binup fixes/build_fixes fixes/bump_lit_and_luvit fixes/bump_lit_2.0.3 fixes/bump_sigar fixes/bump_to_luvi_2_5_0 fixes/bump_to_luvi_2.6 fixes/cert_check fixes/check_creation_wait_for_period_timer fixes/check_runner fixes/connect_leak fixes/delta_for_cpu_hostinfo fixes/disable_prelink_rpm fixes/entity_ipv6 fixes/expose_setting_version fixes/fix_logging fixes/fix_overflows fixes/fix_status_line_on_errors fixes/format_integers fixes/hostinfo_test fixes/jitter_the_check_schedule fixes/line_emitter fixes/memset_hostname fixes/metric_conversion fixes/metric_conversions fixes/move_sigarutil_to_agent fixes/nil_check_networks fixes/rhel_7_postinst fixes/rootfs_options_ignore fixes/scheduler_duplicates fixes/set_locale fixes/stderr_stdout_caching fixes/subfolder_check fixes/timestamp fixes/truncate_config_file fixes/use_local_sigar_context_cpu fixes/use_syncronous_write fixes/windows_fs_check_paths fixes/windows_plugin_timeout fixes/windows_power_shell_spaces gh-pages harageth/add-mysql-slave-metrics improve_mysql_paths integration/remote_poller itzg/declare-xenstore-utils-dependency itzg/release-2.6.17 itzg/use-etc-redhat-release jirwin/check_for_destroyed_clients_before_sending_message jjbuchan/bump-2.6.18 jjbuchan/bump-2.6.19 jjbuchan/bump-version kaustavha/feat/hostinfo/magento kaustavha/feat/hostinfoArgs kaustavha/fix/cve kaustavha/fix/magento&wp kaustavha/fix/makefile kaustavha/raxio kaustavha/refactor/hostinfo/fail2ban kaustavha/refactor/hostinfo/miscFuncs kaustavha/refactor/pam kaustavha/refactor/passwd kaustavha/refactor/readme legacy luvi-up master rch/docs/spiff-em-up refactor/hostinfo refactor/hostinfo2 remove-sql-2008-test research_plugin_timeout send-dumps songgao/clean_up_lua songgao/lua_cleanup/util songgao/lua_division_remove_protocol_server_lua songgao/lua_division songgao/move_init songgao/refactor songgao/using_list_file_for_bundle_files_final songgao/using_list_file_for_bundle_files upgrade_breakpad virgo-startup
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
check add a nil check within the network check (#954) Jun 26, 2017
client fix lint Jan 30, 2017
cmake Use /etc/redhat-release when available to pick package type (#967) Aug 13, 2018
contrib move docker meta folder to the parent Jul 17, 2015
hostinfo Add hostinfo/debug/LSHW.json with sample output Feb 10, 2017
protocol refactor(hostinfo-tests): Reduced one loop over all the files, merged… Oct 2, 2015
remote fix lint Jan 30, 2017
runners check_runner fix (#936) Jun 8, 2016
schedule scheduler: fix the duplicate checks (#944) Oct 6, 2016
static/tests feat(hostinfo/hostname): Add a hostinfo for fetching hostname Jan 6, 2016
tests scheduler: fix the duplicate checks (#944) Oct 6, 2016
.gitignore Use virgo@2.1.7 and bump our version to 2.6.14 (#962) Oct 10, 2017
.luacheckrc add 631 ignore Mar 20, 2017
.travis.yml update travis build Dec 16, 2015
CHANGELOG Bump to 2.6.19 Oct 15, 2018
CHANGELOG.old brand new changelog file Jun 15, 2015
CMakeLists.txt Match xenstore-utils dependency to Ubuntu 14.04 May 16, 2018
Dockerfile run tests on docker Aug 31, 2015
LICENSE.txt Stub out the basics for virgo. Jul 12, 2011
Make.bat Use TLS 1.2 when downloading lit on Windows Sep 13, 2018
Makefile bump lit to 3.5.4 (#960) May 23, 2017
README.md refactor(readme): Minor readme changes, place waffle graph above buil… Dec 10, 2015
agent.ico backported changes from kans/zirgo May 2, 2013
agent.lua scheduler: fix the duplicate checks (#944) Oct 6, 2016
appveyor.yml Use virgo@2.1.7 and bump our version to 2.6.14 (#962) Oct 10, 2017
certs.lua add comments for certs Jul 7, 2015
confd.lua fix lint Jan 30, 2017
constants.lua Update maximum check period to 1 day instead of 30 minutes Feb 19, 2016
docker-compose.yml Fix docker-compose.yml syntax (#958) Jun 26, 2017
endpoint.lua lint Mar 27, 2015
features.lua fix lint Jan 30, 2017
hostname.lua fix hostname call on windows Jul 13, 2015
main.lua fix lint Jan 30, 2017
package.lua Bump to 2.6.19 Oct 15, 2018
ro.lua import the correct module Jun 13, 2016
setup.lua setup: use writeFileSync and fix spelling on successfully Dec 30, 2015
staging.lua lint Mar 27, 2015


Rackspace Monitoring Agent

Throughput Graph

Build status Build Status Stories in Ready

The monitoring agent is the first agent to use the infrastructure provided by virgo-base-agent

Installing The Agent

Make sure you have the required packages to build things on your system. The Dockerfile will contain the development dependencies.

Please note, we provide binaries for many platforms. Check out the article at http://www.rackspace.com/knowledge_center/article/install-the-cloud-monitoring-agent for instructions.

Otherwise, continue reading this section.

Satisfy pre-requisites:

If you're on windows you may have to either install or find and add certain utilities to your path beforehand. These are:

  • cmake - Downloadable from cmake gnu site
  • nmake - Included in Visual studio/VC/bin but may need to be inserted into your path
  • signtool - Included in Microsoft SDKs/windows/v7.1a/bin but may need to be inserted into your path

On Linux from a fresh install:

apt-get install make cmake

Get the source:

git clone https://github.com/virgo-agent-toolkit/rackspace-monitoring-agent

Go into the directory that you just created:

cd rackspace-monitoring-agent



Now simply install the virgo client by running this last and final command:

make install

After installing on unix systems, there is a new binary called rackspace-monitoring-agent. To get the client running on your system please follow the setup procedure as found here

Host Info Runner

The agent has a built in host information runner (similar to OHAI).

rackspace-monitoring-agent -e hostinfo_runner -x [type]

Further documentation for the host informations can be found in the hostinfo readme


The Monitoring Agent is distributed under the Apache License 2.0.

Building for Rackspace Cloud Monitoring

Rackspace customers: Virgo is the open source project for the Rackspace Cloud Monitoring agent. Feel free to build your own copy from this source.

But! Please don't contact Rackspace Support about issues you encounter with your custom build.


The agent is versioned with a three digit dot seperated "semantic version" with the template being x.y.z. An example being e.g. 1.4.2. The rough meaning of each of these parts are:

  • major version numbers will change when we make a backwards incompatible change to the bundle format. Binaries can only run bundles with identical major version numbers. e.g. a binary of version 2.3.1 can only run bundles starting with 2.

  • minor version numbers will change when we make backwards compatible changes to the bundle format. Binaries can only run bundles with minor versions that are greater than or equal to the bundle version. e.g. a binary of version 2.3.1 can run a 2.3.4 bundle but not a 2.2.1 bundle.

  • patch version numbers will change everytime a new bundle is released. It has no semantic meaning to the versioning.

Running tests

Virgo supplies infrastructure for running tests. Calling make test will launch Virgo with command line flags set to feed it the testing bundle and with the -e flag set to tests.

make test

You can also run an individual test module:

TEST_MODULE=net make test

Running tests on docker

This only needs to be done once per terminal session:

docker-machine create agent
eval $(docker-machine env agent)

Use docker-compose to build and run the tests:

docker-compose run build make clean
docker-compose run build make
docker-compose run build test

Configuration File Parameters

monitoring_token [token]         - (required) The authentication token.
monitoring_id [agent_id]         - (optional) The Agent's monitoring_id
                                   (default: Instance ID (Xen) or Cloud-Init ID)
monitoring_snet_region [region]  - (optional) Enable Service Net endpoints
                                   (region: dfw, ord, lon, syd, hkg, iad)
monitoring_endpoints             - (optional) Force IP and Port, comma
monitoring_proxy_url [url]       - (optional) Use a HTTP Proxy
                                   Must support CONNECT on port 443.
                                   Additionally, HTTP_PROXY and HTTPS_PROXY
                                   are honored.
monitoring_query_endpoints [queries] - (optional) SRV queries comma

Exit Codes

1 unknown error
2 config file fail
3 already running


SIGUSR2: Toggle Debug