[icinga-checkins] icinga.org: icinga2/master: Add support for glusterfs checks

git at icinga.org git at icinga.org
Mon Aug 29 12:11:18 CEST 2016


Module: icinga2
Branch: master
Commit: 0a769210862436b9e31e86867c1b48fb13a29ce5
URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=0a769210862436b9e31e86867c1b48fb13a29ce5

Author: Jo Goossens <sales at hosted-power.com>
Date:   Mon Aug 29 12:02:59 2016 +0200

Add support for glusterfs checks

fixes #12040

Signed-off-by: Gunnar Beutner <gunnar.beutner at netways.de>

---

 doc/10-icinga-template-library.md    |   17 ++++++++++
 itl/plugins-contrib.d/CMakeLists.txt |    2 +-
 itl/plugins-contrib.d/storage.conf   |   58 ++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+), 1 deletion(-)

diff --git a/doc/10-icinga-template-library.md b/doc/10-icinga-template-library.md
index f5ee616..8c8264c 100644
--- a/doc/10-icinga-template-library.md
+++ b/doc/10-icinga-template-library.md
@@ -4617,3 +4617,20 @@ vmware_password         | **Optional.** The username's password. No value define
 vmware_authfile         | **Optional.** Use auth file instead username/password to session connect. No effect if **vmware_username** and **vmware_password** are defined <br> **Autentication file content:** <br>  username=vmuser <br> password=p at ssw0rd
 vmware_multiline        | **Optional.** Multiline output in overview. This mean technically that a multiline output uses a HTML **\<br\>** for the GUI. No value defined as default.
 
+### <a id="plugins-contrib-storage"></a> Storage
+
+This category includes all plugins for various storage and object storage technologies.
+
+#### <a id="plugins-contrib-command-glusterfs"></a> glusterfs
+
+The plugin `glusterfs` is a plugin to checks the GlusterFS storage health on the server. It is provided by `Philippe Kueck` on [https://www.unixadm.org/software/nagios-stuff/checks/check_glusterfs). This plugin needs sudo to run properly.
+
+Name                       | Description
+---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+glusterfs_perfdata         | **Optional.** Print perfdata of all or the specified volume.
+glusterfs_warnonfailedheal | **Optional.** Warn if the *heal-failed* log contains entries. The log can be cleared by restarting glusterd.
+glusterfs_volume           | **Optional.** Only check the specified *VOLUME*. If --volume is not set, all volumes are checked.
+glusterfs_disk_warning     | **Optional.** Warn if disk usage is above *DISKWARN*. Defaults to 90 (percent).
+glusterfs_disk_critical    | **Optional.** Return a critical error if disk usage is above *DISKCRIT*. Defaults to 95 (percent).
+glusterfs_inode_warning    | **Optional.** Warn if inode usage is above *DISKWARN*. Defaults to 90 (percent).
+glusterfs_inode_critical   | **Optional.** Return a critical error if inode usage is above *DISKCRIT*. Defaults to 95 (percent).
diff --git a/itl/plugins-contrib.d/CMakeLists.txt b/itl/plugins-contrib.d/CMakeLists.txt
index d2b130e..2358b4b 100644
--- a/itl/plugins-contrib.d/CMakeLists.txt
+++ b/itl/plugins-contrib.d/CMakeLists.txt
@@ -16,6 +16,6 @@
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 install(
-  FILES databases.conf icingacli.conf ipmi.conf network-components.conf operating-system.conf virtualization.conf vmware.conf web.conf hardware.conf network-services.conf metrics.conf
+  FILES databases.conf icingacli.conf ipmi.conf network-components.conf operating-system.conf virtualization.conf vmware.conf storage.conf web.conf hardware.conf network-services.conf metrics.conf
   DESTINATION ${CMAKE_INSTALL_DATADIR}/icinga2/include/plugins-contrib.d
 )
diff --git a/itl/plugins-contrib.d/storage.conf b/itl/plugins-contrib.d/storage.conf
new file mode 100644
index 0000000..33258eb
--- /dev/null
+++ b/itl/plugins-contrib.d/storage.conf
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * Icinga 2                                                                   *
+ * Copyright (C) 2012-2016 Icinga Development Team (https://www.icinga.org/)  *
+ *                                                                            *
+ * 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; either version 2             *
+ * of the License, or (at your option) any later version.                     *
+ *                                                                            *
+ * 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 St, Fifth Floor, Boston, MA 02110-1301, USA.             *
+ ******************************************************************************/
+
+object CheckCommand "glusterfs" {
+	command = [ "sudo", PluginDir + "/check_glusterfs" ]
+
+	arguments = {
+		"--perfdata" = {
+			set_if = "$glusterfs_perfdata$"
+			description = "Optional. Print perfdata of all or the specified volume."
+		}
+		"--warnonfailedheal" = {
+			set_if = "$glusterfs_warnonfailedheal$"
+			description = "Optional. Warn if the *heal-failed* log contains entries. The log can be cleared by restarting glusterd."
+		}
+		"--volume" = {
+			value = "$glusterfs_volume$"
+			description = "Optional. Only check the specified *VOLUME*. If --volume is not set, all volumes are checked."
+		}
+		"-w" = {
+			value = "$glusterfs_disk_warning$"
+			description = "Optional. Warn if disk usage is above *DISKWARN*. Defaults to 90 (percent)."
+		}
+		"-c" = {
+			value = "$glusterfs_disk_critical$"
+			description = "Optional. Return a critical error if disk usage is above *DISKCRIT*. Defaults to 95 (percent)."
+		}
+		"-W" = {
+			value = "$glusterfs_inode_warning$"
+			description = "Optional. Warn if inode usage is above *DISKWARN*. Defaults to 90 (percent)."
+		}
+		"-C" = {
+			value = "$glusterfs_inode_critical$"
+			description = "Optional. Return a critical error if inode usage is above *DISKCRIT*. Defaults to 95 (percent)."
+		}
+	}
+
+	vars.glusterfs_disk_warning = 90
+	vars.glusterfs_disk_critical = 95
+	vars.glusterfs_inode_warning = 90
+	vars.glusterfs_inod_critical = 95
+}



More information about the icinga-checkins mailing list