This template and supporting script have been developed to integrate the DellEMC PowerMax into the Open-Source Monitoring Tool Zabbix (http://www.zabbix.com)
The DellEMC PowerMax and Zabbix integration leverages the Unisphere REST API to collect performance and capacity diagnostic level statistics from a Unisphere for PowerMax server (either the onboard eMGMT or external) and presents the PowerMax as a Host in Zabbix, with individual Applications for each object type. Data is provided to Zabbix with a granularity of 5 minutes, this allows us to leverage the default statistics gathered by the PowerMax and not introduce any additional workload to the Unisphere server.
The integration consists of two components, a Template that is imported into Zabbix and a python script that is run from the Zabbix server. The script performs Discovery operations of array components via Zabbix LLD and also collects the performance statistics. We leverage the ‘Zabbix Trapper’ type for our items, using a python implementation of the Zabbix Sender protocol, which allows statistics collection to either be run as a scheduled ‘external check’ from within Zabbix or as a scheduled cron job on the system. The cron option is provided for especially large environments where the external check could run longer than the Zabbix timeout in some configurations. One instance of the script is run per PowerMax system.
Prerequisites
Please be sure that the correct Py-zabbix module is installed, there are two with very similar names.
Discovery Configuration
zabbix_powermax.py --discovery --configpath <path to PyU4V.conf file> --array <array serial>
Statistics Collection Configuration Option 1 (CRON) -- Preferred
As the Zabbix user test statistics collection with the following command:
zabbix_powermax.py --configpath <path to PyU4V.conf file> --array <array serial>
You should see the collections run in the log and data should appear in Zabbix.
Configure a cron job to run this command every 5 minutes. Simple as that.
Statistics Collection Configuration Option 2 (Zabbix Managed)
Preloading Statistic Data
As Unisphere will keep 24 hours worth of diagnostic data online, you can preload that data into Zabbix. This is useful if either an issue causes the statistics job to not run correctly, or in a new installation where you want to validate everything is properly collected following discovery.
From the command line as the Zabbix user, run:
zabbix_powermax.py --discovery --configpath <path to PyU4V.conf file> --array <array serial> --hours <1-24>
Note- this WILL take longer than a typical statistics run, and if you have logging set to DEBUG, it will roll the logs depending on the array configuration.
Troubleshooting
Common Troubleshooting
Discovery Issues
Stats Collection Issues
Currently Supported Objects
KPIs yet to be implemented
This software is provided under the MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Status API Training Shop Blog About Pricing
Please file bugs and issues at the Github issues page.