Module: check_mk
Branch: master
Commit: 1e229c1e6cd9c366d6006175064e6de3ce6919a8
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1e229c1e6cd9c3…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Wed Jul 31 15:07:16 2013 +0200
lun usage is no longer requested by customer
---
checkman/emc_storage.lun_usage | 30 ------------------------------
1 file changed, 30 deletions(-)
diff --git a/checkman/emc_storage.lun_usage b/checkman/emc_storage.lun_usage
deleted file mode 100644
index 215a55f..0000000
--- a/checkman/emc_storage.lun_usage
+++ /dev/null
@@ -1,30 +0,0 @@
-title: EMC Storage: Usage of LUNs
-agents: emc
-catalog: hw/storage
-license: GPL
-distribution: check_mk
-description:
- Reports the usage of LUNs on EMC storage systems.
-
- You can set levels for minimum free space to result in {WARN} and {CRIT}
- state. The levels can be given in absolute megabytes or percent of the
- total space available in the LUN.
-
- Hint for implementation: Look for "LUN Capacity(Megabytes):" line in
- section "LOGICAL UNIT NUMBER <my ID>" under "All logical Units Information"
- But: Where can we get actual used space in the LUN from? To be defined!
-
-item:
- The ID of the LUN as returned by the special agent.
- E. g. "18"
-
- Hint for implementation: Look for "LOGICAL UNIT NUMBER"
- lines in section "All logical Units Information"
-
-perfdata:
- One value: The used capacity in bytes, together with it's warn and crit
- levels as well as the maximum (also in bytes)
-
-inventory:
- Automatically configures one check for every LUN listed
- in the agent output.
Module: check_mk
Branch: master
Commit: 5abf1bede894e1c06fec85270e23c59ebe682acb
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=5abf1bede894e1…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Wed Jul 31 15:06:16 2013 +0200
initial release of check manpages for emc_storage
---
checkman/emc_storage.disks | 35 +++++++++++++++++++++++
checkman/emc_storage.hba | 28 +++++++++++++++++++
checkman/emc_storage.hw_status | 49 +++++++++++++++++++++++++++++++++
checkman/emc_storage.lun_usage | 30 ++++++++++++++++++++
checkman/emc_storage.raidgroup_status | 28 +++++++++++++++++++
checkman/emc_storage.sp_status | 26 +++++++++++++++++
6 files changed, 196 insertions(+)
diff --git a/checkman/emc_storage.disks b/checkman/emc_storage.disks
new file mode 100644
index 0000000..8e3041d
--- /dev/null
+++ b/checkman/emc_storage.disks
@@ -0,0 +1,35 @@
+title: EMC Storage: Status and I/O of Disks
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the status and the I/O rate of a disk in an EMC storage system.
+
+ Returns {OK} if the number of Hard Read Errors is 0 and the number
+ of Hard Write Errors is 0. {CRIT} is returned otherwise.
+
+ Hint for implementation: Look for "Hard Read Errors:" and "Hard Write Errors:"
+ lines in section "Bus x Enclosure y Disk z" lines found under
+ "All Disks Information"
+
+ I/O rates (in Bytes/sec) are just informational and do not trigger any state
+ other than {OK}
+
+ Hint for implementation: Look for "Kbytes Read:" and "Kbytes Written:"
+ lines in section "Bus x Enclosure y Disk z" lines found under
+ "All Disks Information". Remember values of last check and devide by the
+ time since last check.
+
+item:
+ Consists of bus ID, enclosure ID and disk ID as returned by the agent.
+ E. g. "Bus 0 Enclosure 0 Disk 0"
+
+ Hint for implementation: Look for "Bus x Enclosure y Disk z" lines in section
+ "All Disks Information"
+
+perfdata:
+ Two values: Read-I/O and Write-I/O in Bytes/sec
+
+inventory:
+ Automatically configures one check for every disk listed in the agent output.
diff --git a/checkman/emc_storage.hba b/checkman/emc_storage.hba
new file mode 100644
index 0000000..58bd975
--- /dev/null
+++ b/checkman/emc_storage.hba
@@ -0,0 +1,28 @@
+title: EMC Storage: iSCSI traffic on HBAs
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the traffic on iSCSI HBAs in an EMC storage system.
+
+ The values for Blocks Read/sec and Blocks Written/sec are just informational.
+ The check always returns {OK}
+
+ Hint for implementation: Look for "Blocks Read:" and "Blocks Written:"
+ lines in section "SP Name: <my Name>" and "SP Port ID: <my ID>" lines found under
+ "Information about each SPPORT:". Remember values of last check and devide by the
+ time since last check.
+
+item:
+ Consists of the SP Name and the SP Port ID as returned by the agent.
+ E. g. "SP A Port 0"
+
+ Hint for implementation: Look for "SP Name:" and "SP Port ID:" lines in section
+ "Information about each SPPORT:"
+
+perfdata:
+ Two values: Blocks Read/sec and Blocks Written/sec
+
+inventory:
+ Automatically configures one check for every HBA listed in the agent output.
diff --git a/checkman/emc_storage.hw_status b/checkman/emc_storage.hw_status
new file mode 100644
index 0000000..2305b02
--- /dev/null
+++ b/checkman/emc_storage.hw_status
@@ -0,0 +1,49 @@
+title: EMC Storage: Hardware Status
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the status of Power Supplies, SPS, SPS Cabeling, LCC, CPU Modules,
+ SP I/O Modules and DIMM Modules on EMC storage systems.
+
+ Returns {OK} if the agent reports "Present" or "Valid" status and {CRIT}
+ on every other status.
+
+ Hint for implementation: Look for lines matching
+ Bus x Enclosure y Power z State:
+ Bus x Enclosure y SPS z State:
+ Bus x Enclosure y SPS z Cabling State:
+ Bus x Enclosure y CPU Module z State:
+ Bus x Enclosure y SP z I/O Module w State:
+ Bus x Enclosure y DIMM Module z State:
+ Bus x Enclosure y LCC z State:
+ in section "Array Information"
+
+item:
+ The name of the storage processor as returned by the special agent.
+ E. g.
+ Bus 0 Enclosure 0 Power A
+ Bus 0 Enclosure 0 Power B
+ Bus 0 Enclosure 0 SPS A
+ Bus 0 Enclosure 0 SPS B
+ Bus 0 Enclosure 0 SPS A Cabling
+ Bus 0 Enclosure 0 SPS B Cabling
+ Bus 0 Enclosure 0 CPU Module A
+ Bus 0 Enclosure 0 CPU Module B
+ Bus 0 Enclosure 0 SP A I/O Module 0
+ Bus 0 Enclosure 0 SP A I/O Module 1
+ Bus 0 Enclosure 0 SP B I/O Module 0
+ Bus 0 Enclosure 0 SP B I/O Module 1
+ Bus 0 Enclosure 0 DIMM Module A
+ Bus 0 Enclosure 0 DIMM Module B
+ Bus 0 Enclosure 1 LCC A
+
+ Hint for implementation: see description
+
+perfdata:
+ None
+
+inventory:
+ Automatically configures one check for every hardware status entry listed
+ in the agent output.
diff --git a/checkman/emc_storage.lun_usage b/checkman/emc_storage.lun_usage
new file mode 100644
index 0000000..215a55f
--- /dev/null
+++ b/checkman/emc_storage.lun_usage
@@ -0,0 +1,30 @@
+title: EMC Storage: Usage of LUNs
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the usage of LUNs on EMC storage systems.
+
+ You can set levels for minimum free space to result in {WARN} and {CRIT}
+ state. The levels can be given in absolute megabytes or percent of the
+ total space available in the LUN.
+
+ Hint for implementation: Look for "LUN Capacity(Megabytes):" line in
+ section "LOGICAL UNIT NUMBER <my ID>" under "All logical Units Information"
+ But: Where can we get actual used space in the LUN from? To be defined!
+
+item:
+ The ID of the LUN as returned by the special agent.
+ E. g. "18"
+
+ Hint for implementation: Look for "LOGICAL UNIT NUMBER"
+ lines in section "All logical Units Information"
+
+perfdata:
+ One value: The used capacity in bytes, together with it's warn and crit
+ levels as well as the maximum (also in bytes)
+
+inventory:
+ Automatically configures one check for every LUN listed
+ in the agent output.
diff --git a/checkman/emc_storage.raidgroup_status b/checkman/emc_storage.raidgroup_status
new file mode 100644
index 0000000..a4595a1
--- /dev/null
+++ b/checkman/emc_storage.raidgroup_status
@@ -0,0 +1,28 @@
+title: EMC Storage: Status of RAID groups
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the status of RAID groups in EMC storage systems.
+
+ Returns {OK} if ... and {CRIT} on ...
+ (to be defined)
+
+ Hint for implementation: Look for "RaidGroup State:" line and following
+ in section "RaidGroup ID: <my ID>" under "All RAID Groups Information"
+ Which states are good states and which are bad states is to be defined
+
+item:
+ The RAID group ID as returned by the special agent.
+ E. g. "4"
+
+ Hint for implementation: Look for "RaidGroup ID:" line in section
+ "All RAID Groups Information"
+
+perfdata:
+ None
+
+inventory:
+ Automatically configures one check for every RAID group listed
+ in the agent output.
diff --git a/checkman/emc_storage.sp_status b/checkman/emc_storage.sp_status
new file mode 100644
index 0000000..eeee52b
--- /dev/null
+++ b/checkman/emc_storage.sp_status
@@ -0,0 +1,26 @@
+title: EMC Storage: Status of StorageProcessors (sp)
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the status of StorageProcessors (sp) on EMC storage systems.
+
+ Returns {OK} if the agent reports "Present" status and {CRIT} on every other
+ status.
+
+ Hint for implementation: Look for "SP * State:" line in section
+ "Array Information", Present -> OK, everything else -> CRIT
+
+item:
+ The name of the storage processor as returned by the special agent.
+ E. g. "A"
+
+ Hint for implementation: see at description
+
+perfdata:
+ None
+
+inventory:
+ Automatically configures one check for every storage processor listed
+ in the agent output.
Module: check_mk
Branch: master
Commit: 50c0c532a767001bfaced6e11554a8233105beb9
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=50c0c532a76700…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Jul 31 12:03:24 2013 +0200
Added Skeleton for first EMC check
---
checks/emcvnx_hwstatus | 65 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/checks/emcvnx_hwstatus b/checks/emcvnx_hwstatus
new file mode 100644
index 0000000..7fcd13a
--- /dev/null
+++ b/checks/emcvnx_hwstatus
@@ -0,0 +1,65 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | Copyright Mathias Kettner 2013 mk(a)mathias-kettner.de |
+# +------------------------------------------------------------------+
+#
+# This file is part of Check_MK.
+# The official homepage is at http://mathias-kettner.de/check_mk.
+#
+# check_mk 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 in version 2. check_mk is distributed
+# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
+# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE. See the GNU General Public License for more de-
+# ails. You should have received a copy of the GNU General Public
+# License along with GNU Make; see the file COPYING. If not, write
+# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301 USA.
+
+# Example output from agent:
+# <<<emcvnx_hwstatus>>>
+# DAE6S Bus 0 Enclosure 1
+# Enclosure Drive Type: SAS, NL SAS
+# Current Speed: 6Gbps
+# Maximum Speed: 6Gbps
+# Bus 0 Enclosure 1 Power A State: Present
+# Bus 0 Enclosure 1 Power B State: Present
+# Bus 0 Enclosure 1 LCC A State: Present
+# Bus 0 Enclosure 1 LCC B State: Present
+# Bus 0 Enclosure 1 LCC A Revision: 1.33
+# Bus 0 Enclosure 1 LCC B Revision: 1.33
+# Bus 0 Enclosure 1 LCC A Serial #: US1V2120601546
+# Bus 0 Enclosure 1 LCC B Serial #: US1V2120602428
+# Bus 0 Enclosure 1 LCC A Current Speed: 6Gbps
+# Bus 0 Enclosure 1 LCC B Current Speed: 6Gbps
+# Bus 0 Enclosure 1 LCC A Maximum Speed: 6Gbps
+# Bus 0 Enclosure 1 LCC B Maximum Speed: 6Gbps
+#
+# DAE6S Bus 1 Enclosure 0
+# Enclosure Drive Type: SAS, NL SAS
+# Current Speed: 6Gbps
+# Maximum Speed: 6Gbps
+# Bus 1 Enclosure 0 Power A State: Present
+
+
+
+
+def inventory_emcvnx_hwstatus(info):
+ return []
+
+def check_emcvnx_hwstatus(item, _no_params, info):
+ return 3, "Pech"
+
+check_info['emcvnx_hwstatus'] = {
+ "inventory_function" : inventory_emcvnx_hwstatus,
+ "check_function" : check_emcvnx_hwstatus,
+ "service_description" : "Enclosure %s", # Example for Item: "0/1 Power A"
+}
Module: check_mk
Branch: master
Commit: 03420a9cc34c82df9025da0a001b302f0ed125db
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=03420a9cc34c82…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Wed Jul 31 18:45:28 2013 +0200
fully functional version of emcvnx_hwstatus including manpage
---
checkman/emc_storage.hw_status | 49 ----------------------------------------
checkman/emcvnx_hwstatus | 31 +++++++++++++++++++++++++
checks/emcvnx_hwstatus | 33 +++++++++++++++++----------
3 files changed, 52 insertions(+), 61 deletions(-)
diff --git a/checkman/emc_storage.hw_status b/checkman/emc_storage.hw_status
deleted file mode 100644
index 2305b02..0000000
--- a/checkman/emc_storage.hw_status
+++ /dev/null
@@ -1,49 +0,0 @@
-title: EMC Storage: Hardware Status
-agents: emc
-catalog: hw/storage
-license: GPL
-distribution: check_mk
-description:
- Reports the status of Power Supplies, SPS, SPS Cabeling, LCC, CPU Modules,
- SP I/O Modules and DIMM Modules on EMC storage systems.
-
- Returns {OK} if the agent reports "Present" or "Valid" status and {CRIT}
- on every other status.
-
- Hint for implementation: Look for lines matching
- Bus x Enclosure y Power z State:
- Bus x Enclosure y SPS z State:
- Bus x Enclosure y SPS z Cabling State:
- Bus x Enclosure y CPU Module z State:
- Bus x Enclosure y SP z I/O Module w State:
- Bus x Enclosure y DIMM Module z State:
- Bus x Enclosure y LCC z State:
- in section "Array Information"
-
-item:
- The name of the storage processor as returned by the special agent.
- E. g.
- Bus 0 Enclosure 0 Power A
- Bus 0 Enclosure 0 Power B
- Bus 0 Enclosure 0 SPS A
- Bus 0 Enclosure 0 SPS B
- Bus 0 Enclosure 0 SPS A Cabling
- Bus 0 Enclosure 0 SPS B Cabling
- Bus 0 Enclosure 0 CPU Module A
- Bus 0 Enclosure 0 CPU Module B
- Bus 0 Enclosure 0 SP A I/O Module 0
- Bus 0 Enclosure 0 SP A I/O Module 1
- Bus 0 Enclosure 0 SP B I/O Module 0
- Bus 0 Enclosure 0 SP B I/O Module 1
- Bus 0 Enclosure 0 DIMM Module A
- Bus 0 Enclosure 0 DIMM Module B
- Bus 0 Enclosure 1 LCC A
-
- Hint for implementation: see description
-
-perfdata:
- None
-
-inventory:
- Automatically configures one check for every hardware status entry listed
- in the agent output.
diff --git a/checkman/emcvnx_hwstatus b/checkman/emcvnx_hwstatus
new file mode 100644
index 0000000..8cd77e7
--- /dev/null
+++ b/checkman/emcvnx_hwstatus
@@ -0,0 +1,31 @@
+title: EMC Storage: Hardware Status
+agents: emc
+catalog: hw/storage
+license: GPL
+distribution: check_mk
+description:
+ Reports the status of Power Supplies, SPS, SPS Cabeling, LCC, CPU Modules,
+ SP I/O Modules and DIMM Modules on EMC storage systems.
+
+ Returns {OK} if the agent reports "Present" or "Valid" status and {CRIT}
+ on every other status.
+
+item:
+ The name of the name of the sensor as returned by the special agent prefixed
+ with Bus ID and Enclosure ID
+
+ E. g.
+
+ 0/0 CPU Module A
+
+ or
+
+ 0/0 SP B I/O Module 0
+
+perfdata:
+ None
+
+inventory:
+ Automatically configures one check for every hardware status entry listed
+ in the agent output and not having status "Empty" (Entries having "Empty"
+ status when running inventory are considered to be intentionally empty.)
diff --git a/checks/emcvnx_hwstatus b/checks/emcvnx_hwstatus
index 6f1197d..5c14471 100644
--- a/checks/emcvnx_hwstatus
+++ b/checks/emcvnx_hwstatus
@@ -52,11 +52,11 @@
# Parse agent output into a dict of the form:
# parsed = {
-# "0/1" : [
+# "0/1" : {
# "Power A" : "Present",
# "Power B" : "Present",
# # ...
-# ]
+# }
# }
ok_states = ("Present", "Valid")
@@ -73,8 +73,6 @@ def parse_emcvnx_hwstatus(info):
# print "found2: %s" % line
device = line[4] + " " + line[5]
state = line[-1]
- #parsed[encid]{device} = state
- #parsed[encid].append((device, state))
enc[device] = state
elif len(line) > 7 and (line[5] == "Module" or line[6] == "Cabling") and line[7] == "State:":
# print "found3: %s" % line
@@ -86,29 +84,40 @@ def parse_emcvnx_hwstatus(info):
device = line[4] + " " + line[5] + " " + line[6] + " " + line[7] + " " + line[8]
state = line[-1]
enc[device] = state
- else:
+ # else:
# print "ignore: %s" % line
- pass
-
return parsed
-
def inventory_emcvnx_hwstatus(info):
parsed = parse_emcvnx_hwstatus(info)
inventory = []
- #import pprint ; pprint.pprint(parsed)
+ # import pprint ; pprint.pprint(parsed)
for enclosure in parsed:
#print enclosure
#print parsed[enclosure]
for sensor in parsed[enclosure].iterkeys():
- #print "sensor %s vaule %s" % (sensor, parsed[enclosure][sensor])
- if parsed[enclosure][sensor] in ok_states:
+ #print "sensor %s value %s" % (sensor, parsed[enclosure][sensor])
+ if parsed[enclosure][sensor] != "Empty":
inventory.append( (enclosure + " " + sensor, "", None) )
return inventory
def check_emcvnx_hwstatus(item, _no_params, info):
- return 3, "Pech"
+ #print "item: %s" % item
+ parsed = parse_emcvnx_hwstatus(info)
+ for enclosure in parsed:
+ #print enclosure
+ #print parsed[enclosure]
+ for sensor in parsed[enclosure].iterkeys():
+ #print "sensor: %s" % sensor
+ current_item = enclosure + " " + sensor
+ if current_item == item:
+ #print "item %s value %s" % (current_item, parsed[enclosure][sensor])
+ if parsed[enclosure][sensor] in ok_states:
+ return 0, "Enclosure %s is %s" % (current_item, parsed[enclosure][sensor])
+ else:
+ return 2, "Enclosure %s is %s" % (current_item, parsed[enclosure][sensor])
+ return 3, "Enclosure %s not found in agent output" % item
check_info['emcvnx_hwstatus'] = {
"inventory_function" : inventory_emcvnx_hwstatus,
added pnp template, finalized manpage
Message-ID: <52ce9866.Wu+8E+o4NwBTtj76%bs(a)mathias-kettner.de>
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Module: check_mk
Branch: master
Commit: 031f5b608f45cb8e5886ea81271956629762a3f7
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=031f5b608f45cb…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Fri Aug 2 10:22:23 2013 +0200
emcvnx_disks: removed debug output, added pnp template, finalized manpage
---
checkman/emcvnx_disks | 14 +-------------
checks/emcvnx_disks | 11 ++---------
2 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/checkman/emcvnx_disks b/checkman/emcvnx_disks
index 61832c5..7f7255c 100644
--- a/checkman/emcvnx_disks
+++ b/checkman/emcvnx_disks
@@ -15,24 +15,12 @@ description:
{CRIT} is returned otherwise.
- Hint for implementation: Look for "Hard Read Errors:" and "Hard Write Errors:"
- and "State:" lines in section "Bus x Enclosure y Disk z" lines found under
- "All Disks Information"
-
I/O rates (in Bytes/sec) are just informational and do not trigger any state
other than {OK}
- Hint for implementation: Look for "Kbytes Read:" and "Kbytes Written:"
- lines in section "Bus x Enclosure y Disk z" lines found under
- "All Disks Information". Remember values of last check and devide by the
- time since last check.
-
item:
Consists of bus ID, enclosure ID and disk ID as returned by the agent.
- E. g. "Bus 0 Enclosure 0 Disk 0"
-
- Hint for implementation: Look for "Bus x Enclosure y Disk z" lines in section
- "All Disks Information"
+ E. g. "1/1 Disk 9"
perfdata:
Two values: Read-I/O and Write-I/O in Bytes/sec
diff --git a/checks/emcvnx_disks b/checks/emcvnx_disks
index 7abda4f..c6a52f5 100644
--- a/checks/emcvnx_disks
+++ b/checks/emcvnx_disks
@@ -114,30 +114,23 @@ def parse_emcvnx_disks(info):
parsed = {}
for line in info:
if len(line) > 4 and line[0] == "Bus" and line[4] == "Disk":
- #print "match: %s" % line
encid = line[1] + "/" + line[3] + " " + line[4] + " " + line[5]
enc = {}
parsed[encid] = enc
elif len(line) > 1 and line[0] == "State:":
- #print "match: %s" % line
state = line[-1]
enc["state"] = state
elif len(line) > 2 and line[0] == "Hard" and line[2] == "Errors:":
- #print "match: %s" % line
error_count = saveint(line[-1])
enc[line[0] + " " + line[1] + " Errors"] = error_count
elif len(line) > 1 and line[0] == "Kbytes" and line[1] in ("Read:", "Written:"):
- #print "match: %s" % line
io_kbytes = saveint(line[-1])
enc[line[0] + " " + line[1].replace(':', '')] = io_kbytes
- #else:
- #print "ignor: %s" % line
return parsed
def inventory_emcvnx_disks(info):
parsed = parse_emcvnx_disks(info)
- #import pprint; pprint.pprint(parsed)
inventory = []
for disk in parsed:
inventory.append( (disk, None) )
@@ -179,8 +172,8 @@ def check_emcvnx_disks(item, _no_params, info):
countername_w = "emcvnx_disks.write_bytes.%s" % item.replace(" ", "_")
timedif, read_bytes_per_sec = get_counter(countername_r, now, read_bytes)
timedif, write_bytes_per_sec = get_counter(countername_w, now, write_bytes)
- perfdata.append(("read_bytes_per_sec", read_bytes_per_sec))
- perfdata.append(("write_bytes_per_sec", write_bytes_per_sec))
+ perfdata.append(("read", read_bytes_per_sec))
+ perfdata.append(("write", write_bytes_per_sec))
return nagstate, "Enclosure %s is %s%s, Hard Read Errors: %s%s, Hard Write Errors: %s%s, Read: %s/s, Write: %s/s" % (item, diskstate, diskstate_errorstring, read_errors, read_errors_errorstring, write_errors, write_errors_errorstring, get_bytes_human_readable(read_bytes_per_sec), get_bytes_human_readable(write_bytes_per_sec)), perfdata
else: