HP P2000
Pre-Requirements
- Python 2.7 or higher
- lxml
Setup
Python
- Debian: apt-get install python
- Windows: http://downloads.activestate.com/ActivePython/releases/2.7.2.5/ActivePython-2.7.2.5-win32-x86.msi
LXML
- Debian: apt-get install python-lxml
- Windows: use binaries from http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
- Other systems: use OS package manager or do "pip install lxml"
Array setup
Login as administrator and create separate read-only user for monitoring
Agent
- Download latest version of the script and copy it to any directory on the server where agent is running
- Run script by hand to check that it can communicate with the Array's management interface:
./p2000.py -a ARRAY_IP -u USER -p PASSWORD
- If you see no output, add "-d" switch to enable debug output:
./p2000.py -a ARRAY_IP -u USER -p PASSWORD -d
- Configure script as ExternalParametersProvider in nxagentd.conf:
ExternalParametersProvider=/path/to/p2000.py -a ARRAY_IP -u USER -p PASSWORD:60
Check ExternalParametersProvider for more details.
Server
- Do configuration poll on the agent's node, so server will update list of available DCIs.
- Create DCIs. They can be either created on the node where ExternalParametersProvider is running, or you can create them on Array's node and select ExternalParametersProvider's node as Proxy in DCI settings. TODO:add link to manual
Monitoring multiple Arrays from single server
By default, script assume that single array is monitored and generate DCIs in form "P2000.Controller[NAME].iops", which could lead to confusion if you gathering data from multiple arrays using single agent. To overcome this, script have "-T" switch, which add tag to DCI name. Sample configuration:
ExternalParametersProvider=/path/to/p2000.py -a ARRAY1_IP -u USER -p PASSWORD -T A1:60
ExternalParametersProvider=/path/to/p2000.py -a ARRAY2_IP -u USER -p PASSWORD -T A2:60
This will produce following DCIs:
P2000[A1].Enclosure[ID].status
P2000[A1].Controller[NAME].iops
…
P2000[A2].Enclosure[ID].status
P2000[A2].Controller[NAME].iops
p2000.py usage
Alexs-MacBook-Air:~/Development/netxms/contrib/integration/HP_P2000 alk$ ./p2000.py -h
usage: p2000.py [-h] -a ADDRESS -u USER -p PASSWORD [-n] [-t TAG] [-d]
[-T TIMEOUT]
Get status and performance data from HP P2000 disk arrays.
optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
Array IP address
-u USER, --user USER Username
-p PASSWORD, --password PASSWORD
Password
-n, --nossl Disable https
-t TAG, --tag TAG Array tag, will be added to DCI name after prefix
(e.g. "P2000[tag]."). Usefull for monitoring multiple
arrays
-d, --debug Enable debug output
-T TIMEOUT, --timeout TIMEOUT
Network timeout in seconds, default value: 15.