
Decrease syslog verbosity when file logging is enabled. Change-Id: If2c53556914cdc15e6442a264c44c7b9404838e8 Closes-Bug: #1644476
91 lines
3.3 KiB
Bash
91 lines
3.3 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 restart
|
|
fi
|
|
}
|
|
|
|
function stop_collectd {
|
|
if [ -e /usr/lib/systemd/system/collectd.service ] || [ -e /etc/init.d/collectd ]; then
|
|
sudo service collectd stop
|
|
fi
|
|
}
|
|
|
|
function install_requirements {
|
|
echo "Installing pre-resquisites"
|
|
if is_ubuntu; then
|
|
install_package libvirt-bin libvirt-dev python-libvirt
|
|
elif is_fedora; then
|
|
install_package libvirt libvirt-devel libvirt-python
|
|
fi
|
|
}
|
|
|
|
# install collectd
|
|
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 {
|
|
if [ ! -d "$COLLECTD_CONF_DIR" ]; then
|
|
sudo mkdir -p "$COLLECTD_CONF_DIR"
|
|
fi
|
|
|
|
sudo cp $COLLECTD_CEILOMETER_DIR/etc/collectd.conf.d/collectd-ceilometer-plugin.conf $COLLECTD_CONF_DIR/
|
|
|
|
# Configure collectd-ceiloemter-plugin.conf
|
|
sudo sed -i 's|ModulePath.*$|ModulePath "'$COLLECTD_CEILOMETER_DIR'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|VERBOSE.*$|VERBOSE '$COLLECTD_CEILOMETER_VERBOSE'|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|BATCH_SIZE.*$|BATCH_SIZE "'$COLLECTD_BATCH_SIZE'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|OS_AUTH_URL.*$|OS_AUTH_URL "'$OS_AUTH_URL'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|CEILOMETER_URL_TYPE.*$|CEILOMETER_URL_TYPE "'$CEILOMETER_URL_TYPE'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|CEILOMETER_TIMEOUT.*$|CEILOMETER_TIMEOUT "'$CEILOMETER_TIMEOUT'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|OS_PASSWORD.*$|OS_PASSWORD "'$SERVICE_PASSWORD'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo sed -i 's|OS_TENANT_NAME.*$|OS_TENANT_NAME "'$SERVICE_TENANT_NAME'"|g' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
|
|
# Configure custom units
|
|
if [[ "$COLLECTD_CEILOMETER_UNITS" != none ]]; then
|
|
OIFS=$IFS
|
|
IFS=','
|
|
for UNIT in $COLLECTD_CEILOMETER_UNITS
|
|
do
|
|
sudo sed -i '/<UNITS>/a\ UNIT '"$UNIT"'' $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
done
|
|
IFS=$OIFS
|
|
fi
|
|
|
|
# Configure collectd logfile plugin
|
|
if [ -n $COLLECTD_LOG_FILE ]; then
|
|
touch $COLLECTD_LOG_FILE
|
|
fi
|
|
|
|
sudo cp $COLLECTD_CEILOMETER_DIR/etc/collectd.conf.d/logfile.conf $COLLECTD_CONF_DIR/01-logfile.conf
|
|
|
|
sudo sed -i '/<Plugin.*logfile/,/^<\/Plugin>/{s|LogLevel.*$|LogLevel "'$COLLECTD_LOG_LEVEL'"|}' $COLLECTD_CONF_DIR/01-logfile.conf
|
|
sudo sed -i 's|File.*$|File "'$COLLECTD_LOG_FILE'"|g' $COLLECTD_CONF_DIR/01-logfile.conf
|
|
|
|
}
|
|
|
|
|
|
# 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
|
|
sudo rm -f $COLLECTD_CONF_DIR/01-logfile.conf
|
|
fi
|
|
|
|
}
|