From 56db08ddb2faa2e2671a88dceab4e36b7b643389 Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 1 Jun 2011 12:45:17 +0530 Subject: Updated get_server_details.py to support --only-data-disks option. Will return only the data disks (exclude other disks) and other h/w details if --only-data-disks option is given Will return all h/w details by default --- .../src/get_server_details.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/com.gluster.storage.management.server.scripts') diff --git a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py index 2253ff30..312dd057 100755 --- a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py +++ b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py @@ -27,6 +27,7 @@ from Protocol import * from NetworkUtils import * from Disk import * from XmlHandler import ResponseXml +from optparse import OptionParser def getDiskSizeInfo(partition): # get values from df output @@ -96,7 +97,7 @@ def getDiskSizeInfo(partition): return total, used, free -def getServerDetails(): +def getServerDetails(listall): serverName = socket.gethostname() responseDom = ResponseXml() #responseDom.appendTagRoute("status.code", "0") @@ -188,6 +189,9 @@ def getServerDetails(): diskSpaceInUse = 0 diskTag = responseDom.createTag("disks") for disk in disks: + if not listall: + if not disk['mount_point'].startswith("/export/"): + continue if disk['interface'] in ['usb', 'mmc']: continue partitionTag = responseDom.createTag("disk", None) @@ -217,7 +221,16 @@ def getServerDetails(): return serverTag def main(): - print getServerDetails().toxml() + ME = os.path.basename(sys.argv[0]) + parser = OptionParser(version="%s %s" % (ME, Globals.GLUSTER_PLATFORM_VERSION)) + + parser.add_option("-N", "--only-data-disks", + action="store_false", dest="listall", default=True, + help="List only data disks") + + (options, args) = parser.parse_args() + print getServerDetails(options.listall).toxml() + sys.exit(0) if __name__ == "__main__": -- cgit From cadc1886157e45a216c49de4c94ebf42d0f0b4ec Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 1 Jun 2011 15:04:24 +0530 Subject: Added get_rrd_memory_details.py file to get memory details from rrd. --- .../src/get_rrd_memory_details.py | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py (limited to 'src/com.gluster.storage.management.server.scripts') diff --git a/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py new file mode 100755 index 00000000..4d33381b --- /dev/null +++ b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py @@ -0,0 +1,59 @@ +#!/usr/bin/python +# Copyright (C) 2010 Gluster, Inc. +# This file is part of Gluster Storage Platform. +# +# Gluster Storage Platform 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 3 of +# the License, or (at your option) any later version. +# +# Gluster Storage Platform 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, see +# . +import os +import sys +import syslog +from XmlHandler import ResponseXml +import Utils +import Common + +def getMemData(period): + memRrdFile = "/var/lib/rrd/mem.rrd" + rs = ResponseXml() + command = ["rrdtool", "xport", "--start", "-1%s" % period, + "DEF:used=%s:memused:AVERAGE" % memRrdFile, + "DEF:free=%s:memfree:AVERAGE" % memRrdFile, + "DEF:cache=%s:memcache:AVERAGE" % memRrdFile, + "CDEF:total=used,free,+", + "XPORT:used:'used'", + "XPORT:free:'free'", + "XPORT:cache:'cache'", + "XPORT:total:'total'"] + + rv = Utils.runCommandFG(command, stdout=True, root=True) + message = Common.stripEmptyLines(rv["Stdout"]) + if rv["Stderr"]: + error = Common.stripEmptyLines(rv["Stderr"]) + message += "Error: [%s]" % (error) + Common.log(syslog.LOG_ERR, "failed to create RRD file for memory usages %s" % file) + rs.appendTagRoute("status.code", rv["Status"]) + rs.appendTagRoute("status.message", message) + return rs.toxml() + return rv["Stdout"] + +def main(): + if len(sys.argv) != 2: + print >> sys.stderr, "usage: %s " % sys.argv[0] + sys.exit(-1) + + period = sys.argv[1] + print getMemData(period) + sys.exit(0) + +if __name__ == "__main__": + main() -- cgit