Contributed Rackspace Monitoring Agent plugins
Python Shell Ruby PowerShell
Latest commit 7057801 Jan 11, 2018 @itzg itzg Merge pull request #151 from tcaddy/master
Always return exit code 0 in check-mount.sh
Permalink
Failed to load latest commit information.
contrib
examples
windows
.gitmodules
README.md
activemq-status.sh
api_limit_ram_usage.py
cass_compaction.py
cassandra_pending_tpstats.py
centos_reboot_check.sh
check-mount.sh
check-mtime.sh
check_nodering.py
check_openmanage.sh
chef_node_checkin.py
cloud_queues.py
cloudbackup_mon.sh
clouddatabases_volume.py
cloudload_balancer.py
cman_nodes.rb
consul.py
content_check.py
curl.sh
curl_check.sh
dir_monitor.py
dir_stats.sh
directory.sh
dns_resolution.sh
docker_check.py
docker_stats_check.py
elasticsearch.py
etcd.py
file_info.py
galera.py
hadoop_hbase.py
hadoop_hdfs.py
hadoop_jobtracker.py
haproxy.rb
holland_mysqldump.py
jmx-gather.sh
latest_alarm_state.py
long_process.sh
lsyncd-status.sh
megaraid.sh
memcached_stats.py
mongodb_stats.py
murmur_monitor.py
mysql_ping.py
mysql_replication.py
nfs-status.sh
nginx_status_check.py
ntp_offset.sh
onmetal_v1_smart.py
open_files.py
pg_check.py
php-fpm_status_check.sh
ping.sh
port_check.py
port_check.sh
process_mon.sh
rabbitmq.py
redis_slave_count.sh
solrmon.py
ssl_cert_expiration.sh
ssl_protocols_check.sh
statsd_metric_emitter.py
ubuntu_updates_check.sh
uptime_reset_detector.sh
varnish.sh
varnish4.sh
yum_updates_check.sh

README.md

Rackspace Monitoring Agent Custom plugins

This repository contains contributed custom plugins for the Rackspace Cloud Monitoring agent. For details about installing plugins, see agent plugin check documentation.

How to Contribute

You can contribute your plugins by first forking the repo, committing your changes, and then opening a pull request through github. If you have any questions, feel free to reach out to us on #cloudmonitoring on freenode IRC.

Plugin Requirements

Each plugin must fulfill the following properties:

  • Output a status message to STDOUT
  • Output one or more metrics if it succeeds in obtaining them to STDOUT
  • Contain an appropriate license header
  • Contain example alarm criteria

Status

The status message should be of the form status $status_string, For example, it might be:

status ok succeeded in obtaining metrics

or

status err failed to obtain metrics

The status string should be a summary of the results, with actionable information if it fails.

Metrics

The metrics message should be of the form metric $name $type $value [unit], for example:

metric time int32 1 seconds

The units are optional, and if present should be a string representing the units of the metric measurement. Units may not be provided on string metrics, and may not contain any spaces.

The available types are:

  • string
  • float
  • double
  • int32
  • int64
  • uint32
  • uint64
  • gauge

Alarm Criteria

Each script should contain, just below the license header, in a comment, an example alarm criteria that can be used for the plugin. See the Rackspace Cloud Monitoring Documentation for how to write alarm criteria.

Submodules

Submodules of repositories are stored in the contrib folder in this repo.
There are more plugins in that folder, some of these plugins have dependencies and their own readmes.

The contrib directory contains submodules of more custom plugins that have been used by other teams, including those from openstack and rackspace. These are older plugins for Icehouse/Juno, newer plugins for Kilo can be found at rcbops/rpc-openstack or inside contrib/rpc-openstack/maas/plugins.

You can pull the submodules with

git pull --recurse-submodules
git submodule update --recursive

License Header

The exact content will depend on your chosen license, but we recommend BSD, Apache 2.0, or MIT Licenses. Regardless of license choice the header should contain the author's (or authors') name(s) and email address(es).