summaryrefslogtreecommitdiffstats
path: root/plugins/check_vol_status.py
diff options
context:
space:
mode:
authorSahina Bose <sabose@redhat.com>2014-04-01 17:08:18 +0530
committerBala.FA <barumuga@redhat.com>2014-04-29 10:14:33 +0530
commited8efbc2adb78ab756081b1f57dd23328123a1d5 (patch)
treec42214c1778c1fea724a4479e95f2f9d506ff53d /plugins/check_vol_status.py
parent86a404d7ce805a25762cd66c310b1ad9e3a2a779 (diff)
plugins: Plugin to act on syslog message
This plugin integrates with syslog messages and sends the output to Nagios server using NSCA Refactored code to separate out common NSCA related code to nscautils Change-Id: I6a874da7f2296310060742acb6b1cd6562f5d0f0 Signed-off-by: Sahina Bose <sabose@redhat.com>
Diffstat (limited to 'plugins/check_vol_status.py')
-rwxr-xr-xplugins/check_vol_status.py44
1 files changed, 9 insertions, 35 deletions
diff --git a/plugins/check_vol_status.py b/plugins/check_vol_status.py
index 9e526da..33e26ee 100755
--- a/plugins/check_vol_status.py
+++ b/plugins/check_vol_status.py
@@ -1,9 +1,11 @@
#!/usr/bin/python
+
import re
-import commands
import argparse
+import commands
import xml.etree.ElementTree as ET
from glusternagios import utils
+import nscautils
def parseXml(xmldoc, searchStr):
@@ -25,37 +27,6 @@ def getVolumeStatus(vol_status_out):
return vol_status
-def getNagiosServerIP():
- nagiosIP = ""
- nscaConfig = open("/etc/nagios/nagios_server.cfg", "r+")
- for line in nscaConfig.readlines():
- if "nagios_server" in line:
- #print line.rstrip()
- line = line.rstrip()
- nagiosIP = line.rpartition('=')[2]
- #print nagiosIP
- return nagiosIP
-
-
-def send_to_nsca(hostName, serviceName, exitStatus, resultString):
- #print hostName
- #print serviceName
- #print exitStatus
- #print resultString
- f = open('out.txt', 'w')
- print >> f, '%s\t%s\t%s\t%s' % (hostName,
- serviceName,
- exitStatus,
- resultString)
- f.close()
- nagiosIP = getNagiosServerIP()
- command_send_nsca = "send_nsca -H " + nagiosIP + \
- " -c /etc/nagios/send_nsca.cfg < out.txt"
- #print command_send_nsca
- commands.getoutput(command_send_nsca)
- #print nsca_stat
-
-
def showBrickStatus(vol_status_out):
ipPat = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")
xmlElemList = []
@@ -83,7 +54,10 @@ def showBrickStatus(vol_status_out):
else:
exitStatus = utils.PluginStatusCode.CRITICAL
resultString = "Brick Status: CRITICAL"
- send_to_nsca(brickIP, brickName, exitStatus, resultString)
+ nscautils.send_to_nsca(brickIP,
+ brickName,
+ exitStatus,
+ resultString)
def showVolumeStatus(vol_status_out, volName, clusterName):
@@ -94,7 +68,7 @@ def showVolumeStatus(vol_status_out, volName, clusterName):
#brick_list = []
resultString = ""
exitStatus = utils.PluginStatusCode.OK
- serviceName = "Volume-%s-Status" % volName
+ serviceName = nscautils.vol_service_name(volName)
ipPat = re.compile("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")
vol_status = getVolumeStatus(vol_status_out)
if vol_status == "Started":
@@ -132,7 +106,7 @@ def showVolumeStatus(vol_status_out, volName, clusterName):
brick_online)
exitStatus = utils.PluginStatusCode.OK
- send_to_nsca(clusterName, serviceName, exitStatus, resultString)
+ nscautils.send_to_nsca(clusterName, serviceName, exitStatus, resultString)
def parse_input():