Rackspace Cloud Monitoring Agent
Lua CMake Shell Batchfile Tcl Makefile
Latest commit ab2825f Jun 23, 2016 @rphillips rphillips bump to 2.5.9
Failed to load latest commit information.
check rename to filesystem state Jun 10, 2016
client add the minimum check period metric Jun 18, 2015
cmake rhel7: fix to not run chkconfig if not installed Oct 22, 2015
contrib move docker meta folder to the parent Jul 17, 2015
hostinfo add fedora distro to hostinfos Jun 21, 2016
protocol refactor(hostinfo-tests): Reduced one loop over all the files, merged… Oct 2, 2015
remote Lint fixes Sep 29, 2015
runners check_runner fix (#936) Jun 8, 2016
schedule add the minimum check period metric Jun 18, 2015
static/tests feat(hostinfo/hostname): Add a hostinfo for fetching hostname Jan 6, 2016
tests add rootfs options ignore (#935) Jun 6, 2016
.gitignore add more gitignores Jul 27, 2015
.luacheckrc plugin: fix for subfolder checks Jan 5, 2016
.travis.yml update travis build Dec 16, 2015
CHANGELOG bump to 2.5.9 Jun 23, 2016
CHANGELOG.old brand new changelog file Jun 15, 2015
CMakeLists.txt bump to 2.1.17 Aug 26, 2015
Dockerfile run tests on docker Aug 31, 2015
LICENSE.txt Stub out the basics for virgo. Jul 11, 2011
Make.bat bump to 3.1.1 lit Feb 8, 2016
Makefile bump to 3.1.1 lit Feb 9, 2016
README.md refactor(readme): Minor readme changes, place waffle graph above buil… Dec 9, 2015
agent.ico backported changes from kans/zirgo May 2, 2013
agent.lua add feature flag for health Aug 20, 2015
appveyor.yml Convert MSSQL Tests to TAP Jun 30, 2015
certs.lua add comments for certs Jul 7, 2015
confd.lua add mysql tests Apr 13, 2015
constants.lua Update maximum check period to 1 day instead of 30 minutes Feb 19, 2016
docker-compose.yml run tests on docker Aug 31, 2015
endpoint.lua lint Mar 27, 2015
features.lua add feature flag for health Aug 20, 2015
hostname.lua fix hostname call on windows Jul 13, 2015
main.lua try to set a default locale Jan 5, 2016
package.lua bump to 2.5.9 Jun 23, 2016
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

README.md

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

Build:

make

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

License

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.

Versioning

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
                                   delimited
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
                                        delimited

Exit Codes

1 unknown error
2 config file fail
3 already running

Signals

SIGUSR1: Force GC
SIGUSR2: Toggle Debug