How to monitor DELL PowerVault MD3000i ?

Templates, scripts for templates, scripts and requests for templates.

Moderators: Developers, Moderators

jerry
Posts: 4
Joined: Wed Feb 18, 2009 4:11 am

How to monitor DELL PowerVault MD3000i ?

Post by jerry »

Hello, I just completed Cacti to monitor Server and network device.

Environment:
Server:
1. DELL PowerEdge 1950. IP address: 192.168.0.1
2. Windows Server 2003 Enterprise Edition with SP2,
3. DELL PowerVault MD3000i, Management port IP address: 192.168.0.200
4. DELL MDSM, DELL Server Administrator installed on server
5. Cacti: 0.8.7b + Appserv 2.5.9 + Spine 0.8.7a
6. Plugins: Monitor 0.8.2, discover 0.8.4, threshld 0.3.4, weathermap 0.95b

I got SNMP error when I created device for DELL PowerVault MD3000i.

I want to know How I can successfuly create device for it?
Use Server IP: 192.168.0.1 or MD3000i Management port IP: 192.168.0.200 ?
Which Host Template should be choosed?
jerry
Posts: 4
Joined: Wed Feb 18, 2009 4:11 am

DellMDStorageArray.MIB content

Post by jerry »

Another, I find DellMDStorageArray.MIB in MDSM folder.

I also want to know how to create templete via this file.

Thanks a lot!
_______________________________________________

DellMDStorageArray DEFINITIONS ::= BEGIN

-- Initial version. 07/01/2005
--
-- Dell revisions made on 08/24/2005
--
-- Validated MIB on 08/24/2005 using the tool at http://wwwsnmp.cs.utwente.nl/ietf/mibs/validate/
-- The tool recommends changing mdStorageManager to a leading lower case letter. The MIB passes on lowest setting.
-- The MIB passes validation on higher settings with the case changed on MDStorageManager to mdStorageManager.
--
-- Replaced MDStorageManager with mdStorageManager
--
-- Dell revisions made on 10/27/2005
--
-- Requested change per CR95357
--
-- Dell revisions made on 2/01/2005
--
-- Requested change per CR99695
--
-- Changed the Name of the file from DELL3.MIB
--


IMPORTS
OBJECT-TYPE FROM RFC-1212
TRAP-TYPE FROM RFC-1215
DisplayString FROM RFC1213-MIB
IpAddress, enterprises FROM RFC1155-SMI;


dell OBJECT IDENTIFIER ::= { enterprises 674 }
storage OBJECT IDENTIFIER ::= { dell 10893 }
hardware OBJECT IDENTIFIER ::= { storage 2 }
mdStorageManager OBJECT IDENTIFIER ::= { hardware 30 }

infoTable OBJECT-TYPE
SYNTAX SEQUENCE OF InfoEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information for array traps."
::= { mdStorageManager 1 }

infoEntry OBJECT-TYPE
SYNTAX InfoEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The data for array traps."
INDEX { deviceHostIP }
::= { infoTable 1 }



InfoEntry ::=
SEQUENCE {
deviceHostIP
IpAddress,
deviceHostName
DisplayString,
deviceUserLabel
DisplayString,
deviceErrorCode
DisplayString,
eventTime
DisplayString,
trapDescription
DisplayString,
componentType
DisplayString,
componentLocation
DisplayString
}
deviceHostIP OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Address of the network-attached device or device host."
::= { infoEntry 0 }

deviceHostName OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..17))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The network name assigned to the computer attached to the array, if available."
::= { infoEntry 1 }

deviceUserLabel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The name assigned by the user to the array."
::= { infoEntry 2 }

deviceErrorCode OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The error code as reported by the device or host."
::= { infoEntry 3 }

eventTime OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The time at which the event happen on the device."
::= { infoEntry 4 }

trapDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A string to indicate the nature of the trap"
::= { infoEntry 5 }

componentType OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A string to identify the failing component type"
::= { infoEntry 6 }

componentLocation OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A string to identify the location of the failing component"
::= { infoEntry 7 }



--End of items in the info table


--
-- TRAP Definitions
--

storageArrayCritical TRAP-TYPE
ENTERPRISE mdStorageManager
VARIABLES { deviceHostIP, deviceHostName, deviceUserLabel, deviceErrorCode, eventTime, trapDescription, componentType, componentLocation }
DESCRIPTION
"This trap indicates an event where user-interaction is required immediately.
Some example events are component failures or critical errors."

--#TYPE "Storage Array Critical"

--#SEVERITY "Critical"

--#SUMMARY "User-interaction is required immediately for IP Address= %s, HostName= %s, UserLabel= %s, ErrorCode= %s, TimeStamp= %s, ErrorMessage= %s, ComponentType= %s, ComponentLocation= %s"

--#ARGUMENTS {0,1,2,3,4,5,6,7}

--#CATEGORY "Error Events"

--#STATE "Failed"

--#STATUS "Mandatory"

::= 1

storageArrayMajor TRAP-TYPE
ENTERPRISE mdStorageManager
VARIABLES { deviceHostIP, deviceHostName, deviceUserLabel, deviceErrorCode, eventTime, trapDescription, componentType, componentLocation }
DESCRIPTION
"This trap indicates an event where user-interaction is required.
Some example events are component failures or critical errors."

--#TYPE "Storage Array Major"

--#SEVERITY "Major"

--#SUMMARY "User-interaction is required for IP Address= %s, HostName= %s, UserLabel= %s, ErrorCode= %s, TimeStamp= %s, ErrorMessage= %s, ComponentType= %s, ComponentLocation= %s"

--#ARGUMENTS {0,1,2,3,4,5,6,7}

--#CATEGORY "Error Events"

--#STATE "Degraded"

--#STATUS "Optional"

::= 2

storageArrayMinor TRAP-TYPE
ENTERPRISE mdStorageManager
VARIABLES { deviceHostIP, deviceHostName, deviceUserLabel, deviceErrorCode, eventTime, trapDescription, componentType, componentLocation }
DESCRIPTION
"This trap indicates an event where user-interaction may be required."

--#TYPE "Storage Array Minor"

--#SEVERITY "Minor"

--#SUMMARY "User-interaction may be required for IP Address= %s, HostName= %s, UserLabel= %s, ErrorCode= %s, TimeStamp= %s, ErrorMessage= %s, ComponentType= %s, ComponentLocation= %s"

--#ARGUMENTS {0,1,2,3,4,5,6,7}

--#CATEGORY "Status Events"

--#STATE "Degraded"

--#STATUS "Optional"

::= 3

storageArrayInformational TRAP-TYPE
ENTERPRISE mdStorageManager
VARIABLES { deviceHostIP, deviceHostName, deviceUserLabel, deviceErrorCode, eventTime, trapDescription, componentType, componentLocation }
DESCRIPTION
"This trap indicates a non-failure event of interest."

--#TYPE "Storage Array Informational"

--#SEVERITY "Informational"

--#SUMMARY "Non-failure event of interest for IP Address= %s, HostName= %s, UserLabel= %s, ErrorCode= %s, TimeStamp= %s, ErrorMessage= %s, ComponentType= %s, ComponentLocation= %s"

--#ARGUMENTS {0,1,2,3,4,5,6,7}

--#CATEGORY "Status Events"

--#STATE "Operational"

--#STATUS "Optional"

::= 4
END
raupe
Posts: 11
Joined: Sun Feb 15, 2009 11:58 am

Re: How to monitor DELL PowerVault MD3000i ?

Post by raupe »

jerry wrote:[...]
I got SNMP error when I created device for DELL PowerVault MD3000i.

I want to know How I can successfuly create device for it?
Use Server IP: 192.168.0.1 or MD3000i Management port IP: 192.168.0.200 ?
Which Host Template should be choosed?
Please check with DELL support on how to enable and configure SNMP on your storage device.
jerry wrote:Another, I find DellMDStorageArray.MIB in MDSM folder.

I also want to know how to create templete via this file.

Thanks a lot!
[...]
All you need to know to create your own templates is covered in cactis documentaion. Please start reading here.
jerry
Posts: 4
Joined: Wed Feb 18, 2009 4:11 am

Post by jerry »

Thx, Raupe.

I've checked DELL Support.
The storage only configured to send alert to console running SNMP Service.

Another, DELL ITA got MD3000i information via this MIB file.

As your wrote, I want to create host template for this device.
raupe
Posts: 11
Joined: Sun Feb 15, 2009 11:58 am

Post by raupe »

If I'm not mistaken does the MIB above only offer a few configuration values but no performance data. What exactly is it you are looking for to monitor?

I'm not sure if you could get any performance values from Dells OpenManage IT Assistant via SNMP even if it polls them from the storage device using another protocol. This might also be something you would want to check with Dell support.
pof2
Posts: 4
Joined: Mon Apr 27, 2009 3:38 pm

Post by pof2 »

Hi,

The MD3000i does not expose any performance data via SNMP. You can use "SMCli" which comes on the resource CD to get some basic stats from the MD3000i.

/opt/dell/mdstoragemanager/client/SMcli <IP> -S -quick -c "show virtualDisk [diskname] performanceStats;"

The output looks like this:

"Performance Monitor Statistics for Storage Array: md3000i - Date/Time: 8/31/09 1:38:39 PM - Polling interval in seconds: 5"

"Storage Arrays ","Total IOs ","Read Percentage ","Cache Hit Percentage ","Current KB/second ","Maximum KB/second ","Current IO/second ","Maximum IO/second"

"Capture Iteration: 1","","","","","","",""
"Date/Time: 8/31/09 1:38:39 PM","","","","","","",""
"CONTROLLER IN SLOT 0","106.0","3.8","25.0","161.6","161.6","21.2","21.2"
"Virtual Disk diskname","106.0","3.8","25.0","161.6","161.6","21.2","21.2"
"CONTROLLER IN SLOT 1","0.0","0.0","0.0","0.0","0.0","0.0","0.0"
"STORAGE ARRAY TOTALS","106.0","3.8","25.0","161.6","161.6","21.2","21.2"


The status returned is for the last 5 seconds only. No counters are available. This makes it a little tricky to use with cacti, but it's doable with some ugly scripting. If you are interested I can maybe create such a script....
wilmur
Posts: 3
Joined: Tue Mar 16, 2010 5:47 am

Post by wilmur »

Hello, i was create the template for md3000i for I/O, Kb per second and percentage for read/cache of virtual disk.
For the prctive, you need to install SMCLI from Dell util, it's using Java for execute the request to md3000i. The perl script was need to install in ../cacti/scripts/ you need to verify the right to run correctly.
Attachments
I/O
I/O
md3000i_io.png (20.82 KiB) Viewed 21482 times
md3000i_kb_per_sec.png
md3000i_kb_per_sec.png (21.6 KiB) Viewed 21482 times
md3000i_percentage.png
md3000i_percentage.png (45.33 KiB) Viewed 21482 times
md3000i.pl
(1.94 KiB) Downloaded 1060 times
cacti_graph_template_md3000i.xml
(30.58 KiB) Downloaded 1100 times
noob001
Posts: 9
Joined: Mon Mar 22, 2010 2:40 pm

NAN

Post by noob001 »

Hello,

Thanks for sharing! I am trying to use, but need some clarification as I am getting the dreaded NAN for the md300i graph.

Do I need SMCli installed on the cacti server? The device is actually isolated behind a single server. So I have SMcli installed on that server and have cacti pointing to it. Have the feeling I need to setup Out-of-Band management on the MD3000i and point cacti directly it...???


Thanks!
wilmur
Posts: 3
Joined: Tue Mar 16, 2010 5:47 am

Post by wilmur »

ok you need to install SMCli in your cacti computer. I don't like SMCli because they're using JAVA but Dell give that and not other client for connect to MD3000i
noob001
Posts: 9
Joined: Mon Mar 22, 2010 2:40 pm

no luck

Post by noob001 »

Wilmur,

Installed SMcli and setup Out-of-band management IPs on the Md3000i. i can ping the device and the MDconfig util can connect. However my graphs still show NAN, no data. How can I manually test your script or what is the SMcli cmd syntax I can run manually to further test?

Thanks,

Noob001
noob001
Posts: 9
Joined: Mon Mar 22, 2010 2:40 pm

manual output

Post by noob001 »

Here is what I get doing it manually. Any thoughts why no data in graphs?

Further below is the debug info on the graphs from Cacti.


SMcli 192.168.1.100 -S -c "show virtualDisk [Dellstorage] performanceStats;"
"Performance Monitor Statistics for Storage Array: MD3000 - Date/Time: 4/3/10 12:55:59 AM - Polling interval in seconds: 5"


"Storage Arrays ","Total IOs ","Read Percentage ","Cache Hit Percentage ","Current KB/second ","Maximum KB/second ","Current IO/second ","Maximum IO/second"

"Capture Iteration: 1","","","","","","",""
"Date/Time: 4/3/10 12:55:59 AM","","","","","","",""
"CONTROLLER IN SLOT 0","3.0","0.0","0.0","6.2","6.2","0.5","0.5"
"Virtual Disk Dellstorage","3.0","0.0","0.0","6.2","6.2","0.5","0.5"
"CONTROLLER IN SLOT 1","0.0","0.0","0.0","0.0","0.0","0.0","0.0"
"STORAGE ARRAY TOTALS","3.0","0.0","0.0","6.2","6.2","0.5","0.5"



/usr/bin/rrdtool graph - \
--imgformat=PNG \
--start=1270187770 \
--end=1270274170 \
--title="super - md3000i - controller1 - MD3000i - VM Disk I/O " \
--base=1000 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit=0 \
COMMENT:"From 2010/04/02 00\:56\:10 To 2010/04/03 00\:56\:10\c" \
COMMENT:" \n" \
--vertical-label="Operations Per Sec" \
--slope-mode \
--font TITLE:12: \
--font AXIS:8: \
--font LEGEND:10: \
--font UNIT:8: \
DEF:a="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":totalio:AVERAGE \
DEF:b="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":readpercentage:AVERAGE \
DEF:c="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":cachehitpercentage:AVERAGE \
DEF:d="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":currentkbpersecond:AVERAGE \
DEF:e="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":maximumkbpersecond:AVERAGE \
DEF:f="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":currentiopersecond:AVERAGE \
DEF:g="/var/www/html/cacti/rra/lake11_-_md3000i_-_controller1_totalio_151.rrd":maximumiopersecond:AVERAGE \
CDEF:cdefa=TIME,1270274000,GT,a,a,UN,0,a,IF,IF,TIME,1270274000,GT,b,b,UN,0,b,IF,IF,TIME,1270274000,GT,c,c,UN,0,c,IF,IF,TIME,1270274000,GT,d,d,UN,0,d,IF,IF,TIME,1270274000,GT,e,e,UN,0,e,IF,IF,TIME,1270274000,GT,f,f,UN,0,f,IF,IF,TIME,1270274000,GT,g,g,UN,0,g,IF,IF,+,+,+,+,+,+ \
CDEF:cdefb=a,1024,* \
AREA:cdefa#BCBEB3FF:"Total IOs \:" \
GPRINT:cdefb:LAST:" Current\:%8.2lf %s" \
GPRINT:cdefa:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:cdefa:MAX:"Maximum\:%8.2lf %s\n" \
LINE1:b#FF0000FF:"Read Percentage\:" \
GPRINT:b:LAST:" Current\:%8.2lf %s" \
GPRINT:b:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:b:MAX:"Maximum\:%8.2lf %s\n" \
LINE1:c#002A97FF:"Cache Hit Percentage\:" \
GPRINT:c:LAST:"Current\:%8.2lf %s" \
GPRINT:c:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:c:MAX:"Maximum\:%8.2lf %s\n" \
LINE1:d#000000FF:"Current KB/second\:" \
GPRINT:d:LAST:" Current\:%8.2lf %s" \
GPRINT:d:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:d:MAX:"Maximum\:%8.2lf %s\n" \
LINE1:e#FF00FFFF:"Maximum KB/second\:" \
GPRINT:e:LAST:" Current\:%8.2lf %s" \
GPRINT:e:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:e:MAX:"Maximum\:%8.2lf %s\n" \
LINE1:f#FFF200FF:"Current IO/second\:" \
GPRINT:f:LAST:" Current\:%8.2lf %s" \
GPRINT:f:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:f:MAX:"Maximum\:%8.2lf %s\n" \
LINE1:g#7EE600FF:"Maximum IO/second\:" \
GPRINT:g:LAST:" Current\:%8.2lf %s" \
GPRINT:g:AVERAGE:"Average\:%8.2lf %s" \
GPRINT:g:MAX:"Maximum\:%8.2lf %s\n"
noob001
Posts: 9
Joined: Mon Mar 22, 2010 2:40 pm

more info -

Post by noob001 »

This works, but nothing in graphs... where do I define the $VM (virtualdisk) at for the device? I tried setting it globally on the data-source template, but that does not seem to work either.

/var/www/html/cacti/scripts/md3000i.pl -H 192.168.1.100 -v Dellstorage

totalio:113.0
readpercentage:0.0
cachehitpercentage:0.0
currentkbpersecond:4070.6
maximumkbpersecond:4070.6
currentiopersecond:22.6
maximumiopersecond:22.6
noob001
Posts: 9
Joined: Mon Mar 22, 2010 2:40 pm

Found it!

Post by noob001 »

Had to specify vmdisk name when creating the graph for the device. What can I say other than see user name... awaiting graph to update with fingers crossed.


Thanks,

noob001
noob001
Posts: 9
Joined: Mon Mar 22, 2010 2:40 pm

still NAN

Post by noob001 »

No luck, still NAN in graphs. Any suggestions?
wilmur
Posts: 3
Joined: Tue Mar 16, 2010 5:47 am

Post by wilmur »

Hello,

Ok that nice if you've get value from md3000i with perl script. So you need to verify in cacti -> Device -> Associated Graph Templates -> md3000i $vm

Have you that graph ?

If you have please going to cacti -> Graph Management -> your md3000i -> and check if you have a graph template... if you don't have this graph, please going to New Graph -> Select md3000i and create this template with your vm name.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest