79 lines
1.7 KiB
Bash
79 lines
1.7 KiB
Bash
#!/bin/bash
|
|
#
|
|
# common functions for collectd ceilometer plugin
|
|
# -----------------------------------------------
|
|
|
|
# start/stop service
|
|
#
|
|
function start_collectd {
|
|
if [ -e /usr/lib/systemd/system/collectd.service ] || [ -e /etc/init.d/collectd ]; then
|
|
sudo service collectd start
|
|
fi
|
|
}
|
|
|
|
function stop_collectd {
|
|
if [ -e /usr/lib/systemd/system/collectd.service ] || [ -e /etc/init.d/collectd ]; then
|
|
sudo service collectd stop
|
|
fi
|
|
}
|
|
|
|
# install collectd service
|
|
function install_collectd {
|
|
if [[ "$COLLECTD_INSTALL" == True ]]; then
|
|
if is_fedora || is_ubuntu; then
|
|
install_package collectd
|
|
else
|
|
die $LINENO "No support for collectd on this platform"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Add conf file for plugin
|
|
function adapt_collectd_conf {
|
|
cat << EOF | sudo tee $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
<LoadPlugin python>
|
|
Globals true
|
|
</LoadPlugin>
|
|
|
|
<Plugin python>
|
|
ModulePath "$COLLECTD_DIR"
|
|
LogTraces true
|
|
Interactive false
|
|
Import "collectd_ceilometer.plugin"
|
|
|
|
<Module collectd_ceilometer.plugin>
|
|
|
|
# Batch size
|
|
BATCH_SIZE 3
|
|
|
|
# Service endpoint addresses
|
|
OS_AUTH_URL "$OS_AUTH_URL"
|
|
|
|
# Ceilometer address
|
|
#CEILOMETER_ENDPOINT
|
|
CEILOMETER_URL_TYPE "$CEILOMETER_URL_TYPE"
|
|
|
|
# Ceilometer timeout in ms
|
|
CEILOMETER_TIMEOUT "$CEILOMETER_TIMEOUT"
|
|
|
|
# # Ceilometer user creds
|
|
OS_USERNAME "$OS_USERNAME"
|
|
OS_PASSWORD "$OS_PASSWORD"
|
|
OS_TENANT_NAME "service"
|
|
|
|
</Module>
|
|
</Plugin>
|
|
EOF
|
|
|
|
}
|
|
|
|
|
|
# remove plugin conf file
|
|
function restore_collectd_conf {
|
|
|
|
if [ -f '$COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf' ]; then
|
|
sudo rm -f $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
fi
|
|
|
|
}
|