diff --git a/plugins/openstack/openstack_swift_stats_ b/plugins/openstack/openstack_swift_stats_ new file mode 100755 index 00000000..abe4cc68 --- /dev/null +++ b/plugins/openstack/openstack_swift_stats_ @@ -0,0 +1,147 @@ +#!/bin/sh + +#=begin +# +#=head1 NAME +# +#openstack_swift_stats_ -- Plugin to monitor size of OpenStack Swift containers +# +#=head1 ABOUT +# +#Multigraph plugin. Graphs the following statistics about an OpenStack Swift container: +#- Size in bytes +#- Growth in size per graph period (hour by default) +# +#- Number of objects +#- Growth in objects per graph period (hour by default) +# +#=head1 CONFIGURATION +# +#Configuration values are mandatory. Names are identical to the environment values used by the Swift commands and passed directly to it. +#They can be copied from the openrc.sh file provided by your OpenStack hosting provider, along with the password. +# +#OS_AUTH_URL +#OS_IDENTITY_API_VERSION +#OS_REGION_NAME +#OS_USER_DOMAIN_NAME +#OS_PROJECT_DOMAIN_NAME +#OS_TENANT_ID +#OS_TENANT_NAME +#OS_USERNAME +#OS_PASSWORD +# +#Configuration example for OVH: +# +#[openstack_swift_size_*] +# env.OS_AUTH_URL https://auth.cloud.ovh.net/v3/ +# env.OS_IDENTITY_API_VERSION 3 +# env.OS_REGION_NAME SYD +# env.OS_USER_DOMAIN_NAME Default +# env.OS_PROJECT_DOMAIN_NAME Default +# +# env.OS_TENANT_ID {{Redacted}} +# env.OS_TENANT_NAME {{Redacted}} +# env.OS_USERNAME user-{{Redacted}} +# env.OS_PASSWORD {{Redacted}} +# +#=head1 USAGE +# +#- Place the plugin in your plugins storage directory (/usr/share/munin/plugins) +#- Symlink it into the active plugins directory (/etc/munin/plugins) with the name of your container after the last underscore +# (e.g. ln -s /usr/share/munin/plugins/openstack_swift_stats_ /etc/munin/plugins/openstack_swift_stats_mycontainer) +#- Copy the OpenStack login environment variables from the openrc.sh file provided by your hosting provider to your plugin config file as shown in the configuration section. +#- Add the OS_PASSWORD value for the chosen user. +# +#=head1 AUTHOR +# +#Copyright (C) 2020 Sophie Parker (dev@cortices.me) +# +#=head1 LICENSE +# +#This program is free software; you can redistribute it and/or +#modify it under the terms of the GNU General Public License +#as published by the Free Software Foundation; version 2 dated June, +#1991. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. +# +#You should have received a copy of the GNU General Public License +#along with this program; if not, write to the Free Software +#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +#=head1 MAGIC MARKERS +# +##%# family=manual +# +#=end +# + + +# Get container to check by splitting off end of filename. +ME="${0##*/}" +CONTAINER=$(printf "%s" "$ME" | cut -d'_' -f4 -) +# printf "$CONTAINER\n" + +# Config for two graphs -- size and objects count. +case $1 in + config) + cat <=3&&NR<=4 {print $2}' FS=": " ORS=" ") ) - -# Size graph -printf "multigraph openstack_swift_stats_size\n" - -# Check value is an integer. -if [ -z "${STAT_OUTPUT[1]}" ] || [ "${STAT_OUTPUT[1]}" != "${STAT_OUTPUT[1]}" ] 2>/dev/null; then - printf "size.value 0\n" - printf "Error: no usable size value from swift command.\n" 1>&2 - exit 1 -fi - -printf "size.value %s\ngrowth.value %s\n" "${STAT_OUTPUT[1]}" "${STAT_OUTPUT[1]}" - -# Objects graph -printf "multigraph openstack_swift_stats_objects\n" - -if [ -z "${STAT_OUTPUT[0]}" ] || [ "${STAT_OUTPUT[0]}" != "${STAT_OUTPUT[0]}" ] 2>/dev/null; then - printf "objects.value 0\n" - printf "Error: no usable objects value from swift command.\n" 1>&2 - exit 1 -fi - -printf "objects.value %s\nobjgrowth.value %s\n" "${STAT_OUTPUT[0]}" "${STAT_OUTPUT[0]}" - - diff --git a/plugins/openstack_swift/openstack_swift_stats_.pod b/plugins/openstack_swift/openstack_swift_stats_.pod deleted file mode 100644 index 432a6cce..00000000 --- a/plugins/openstack_swift/openstack_swift_stats_.pod +++ /dev/null @@ -1,77 +0,0 @@ -=cut - -=head1 NAME - -openstack_swift_stats_ -- Plugin to monitor size of OpenStack Swift containers - -=head1 ABOUT - -Multigraph plugin. Graphs the following statistics about an OpenStack Swift container: -- Size in bytes -- Growth in size per graph period (hour by default) - -- Number of objects -- Growth in objects per graph period (hour by default) - -=head1 CONFIGURATION - -Configuration values are mandatory. Names are identical to the environment values used by the Swift commands and passed directly to it. -They can be copied from the openrc.sh file provided by your OpenStack hosting provider, along with the password. - -OS_AUTH_URL -OS_IDENTITY_API_VERSION -OS_REGION_NAME -OS_USER_DOMAIN_NAME -OS_PROJECT_DOMAIN_NAME -OS_TENANT_ID -OS_TENANT_NAME -OS_USERNAME -OS_PASSWORD - -Configuration example for OVH: - -[openstack_swift_size_*] - env.OS_AUTH_URL https://auth.cloud.ovh.net/v3/ - env.OS_IDENTITY_API_VERSION 3 - env.OS_REGION_NAME SYD - env.OS_USER_DOMAIN_NAME Default - env.OS_PROJECT_DOMAIN_NAME Default - - env.OS_TENANT_ID {{Redacted}} - env.OS_TENANT_NAME {{Redacted}} - env.OS_USERNAME user-{{Redacted}} - env.OS_PASSWORD {{Redacted}} - -=head1 USAGE - -- Place the plugin in your plugins storage directory (/usr/share/munin/plugins) -- Symlink it into the active plugins directory (/etc/munin/plugins) with the name of your container after the last underscore - (e.g. ln -s /usr/share/munin/plugins/openstack_swift_stats_ /etc/munin/plugins/openstack_swift_stats_mycontainer) -- Copy the OpenStack login environment variables from the openrc.sh file provided by your hosting provider to your plugin config file as shown in the configuration section. -- Add the OS_PASSWORD value for the chosen user. - -=head1 AUTHOR - -Copyright (C) 2020 Sophie Parker (dev@cortices.me) - -=head1 LICENSE - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; version 2 dated June, -1991. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -=head1 MAGIC MARKERS - -#%# family=manual - -=cut \ No newline at end of file