diff options
Diffstat (limited to 'plugins/nscautils.py.in')
-rw-r--r-- | plugins/nscautils.py.in | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/plugins/nscautils.py.in b/plugins/nscautils.py.in index 51df927..cf5f58b 100644 --- a/plugins/nscautils.py.in +++ b/plugins/nscautils.py.in @@ -17,6 +17,7 @@ # import ConfigParser +import subprocess from glusternagios import utils @@ -61,5 +62,28 @@ def send_to_nsca(hostName, serviceName, exitStatus, resultString): return ret +def send_to_nsca_subproc(hostName, serviceName, exitStatus, resultString): + cmddata = '%s\t%s\t%s\t%s\n' % (hostName, + serviceName, + exitStatus, + resultString) + nagiosIP = getNagiosServerIP() + p = subprocess.Popen( + args=( + __NSCA_CMD_PATH.cmd, + '-c', __NSCA_CONF_PATH, + '-H', nagiosIP, + ), + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + close_fds=True, + ) + + stdout, stderr = p.communicate(input=cmddata) + rc = p.returncode + return rc + + def vol_service_name(volName, statusType=None): return "Volume Status %s - %s" % (statusType, volName) |