Collectd+InfluxDb-RMON Replacement(ALL METRICS) P1

This update introduces two new open source services.

The first is 'collectd' which is a plugin based resource monitoring
engine intended to obsolete the existing rmond process.
The second service is 'influxdb' which is a light weight time series
database intended to store sample data.

Collectd and influxdb are configured through puppet and are started by
manifest.

Collectd runs on all hosts while influxdb only runs on the controllers,.
Colectd periodically monitors platform cpu, memory and filesystem
resources in terms of percentage used value. The value sample for each
monitored resource for each audit cycle is forwarded to the active
controller for storage in the 'influxdb' database.

This update develops several collectd 'support' plugins for managing
thresholds, alarms, and host degrade. Additionally, this update
implements home-grown plugins for platform cpu and memory monitoring
and combines the static and dynamic filesystem resource monitoring in
rmond into a single filesystem plugin based on collectd's stock 'df'
plugin.

Collectd's network plugin is configured to forward samples to the active
controller while influxdb that only runs on the controllers are
configured to listen for collectd samples and then store them in its
database.

Change-Id: I5b03dbf9242c32ea765840ede127335d440235d9
Signed-off-by: Jack Ding <jack.ding@windriver.com>
This commit is contained in:
Eric MacDonald 2018-05-14 16:12:16 -04:00 committed by Jack Ding
parent 20413f0059
commit 7e5901f8bc
1 changed files with 7 additions and 1 deletions

View File

@ -291,7 +291,7 @@ do
;;
"nova-compute")
process_list=(${process_list[@]} "pmon:nova-compute:nova-compute:compute:/var/run/nova/nova-compute.pid:0" "sm:nova-compute:nova-compute:controller:/var/run/resource-agents/nova-compute.pid:0")
;;
;;
"nova-serialproxy")
process_list=(${process_list[@]} "sm:nova-serialproxy:nova-serialproxy:controller:/var/run/resource-agents/nova-serialproxy.pid:0")
;;
@ -324,6 +324,12 @@ do
"dcorch-patch-api-proxy")
process_list=(${process_list[@]} "sm:dcorch-patch-api-proxy:dcorch-patch-api-proxy:controller:/var/run/resource-agents/dcorch-patch-api-proxy.pid:0")
;;
"collectd")
process_list=(${process_list[@]} "pmon:collectd:collectd:all:/var/run/collectd.pid:0")
;;
"influxdb")
process_list=(${process_list[@]} "pmon:influxdb:influxdb:all:/var/run/influxdb/influxdb.pid:0")
;;
*)
echo "Unknown process:${process}"