Мониторинг железа HP в proxmox
Постановка задачи
Имеется сервер HP, на котором установлен Proxmox. Необходимо получить доступ локально к мониторингу железа и конфигурированию RAID
Решение
Для Debian-based систем существует Management Component Pack: https://downloads.linux.hpe.com/SDR/project/mcp/
Подключаем репозиторий (создать файл /etc/apt/sources.list.d/mcp.list
):
# HPE Management Component Pack deb http://downloads.linux.hpe.com/SDR/repo/mcp jessie/current non-free
Экспортировать ключ:
wget http://downloads.linux.hpe.com/SDR/repo/mcp/GPG-KEY-mcp -O - | apt-key add -
Установить пакеты
apt-get update aptitude install hp-health hponcfg hp-ams hp-snmp-agents hpsmh hp-smh-templates hpssacli hpssaducli hpssa
Дополнительно поставить:
aptitude install cpqacuxe aptitude install hpacucli
cpqacuxe - это плагин для hpsmh для конфигурирования RAID через web-интерфейс, его нужно активировать:
cpqacuxe -R
В результате будут установлены следующие сервисы:
hp-asrd.service - LSB: HPE Advanced Server Recovery Daemon hpsmhd.service - LSB: HP System Management Homepage initscript hp-health.service - LSB: hp System Health Monitor and Command line Utility Package.
Адрес web-админки: https://localhost:2381/
логин root
пароль системный.
Посмотреть состояние RAID:
hpssacli ctrl all show config
или:
# hpacucli ctrl all show config Smart Array P410 in Slot 2 (sn: PACCR0M9VZA1Q2F) array A (SATA, Unused Space: 0 MB) logicaldrive 1 (1.8 TB, RAID 1, OK) physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SATA, 2 TB, OK) physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SATA, 2 TB, OK) array B (SATA, Unused Space: 0 MB) logicaldrive 2 (3.6 TB, RAID 0, Failed) physicaldrive 2I:1:3 (port 2I:box 1:bay 3, SATA, 0 MB, Failed) SEP (Vendor ID PMCSIERA, Model SRC 8x6G) 250 (WWID: 500143800932FBDF)
Доступ к сенсорам из консоли через ipmitool:
ipmitool sdr type Temperature ipmitool sdr type Fan ipmitool sdr type "Power Unit" ipmitool sdr type Voltage ipmitool sdr type Processor ipmitool sdr type list
Мониторинг RAID в zabbix
Скрипт /etc/zabbix/scripts/check_raid_status
1 2 3 | #! /bin/bash RAID_STATUS=`/usr/sbin/hpacucli ctrl all show config | grep -c -i Failed` /usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k 'hp-smartarray-status' -o $RAID_STATUS |
Добавляем в cron (vi /etc/cron.d/zabbix
):
PATH=/sbin:/usr/sbin:/bin:/usr/bin # check raid status every hour 1 */1 * * * root /etc/zabbix/scripts/check_raid_status >/dev/null 2>&1
Шаблон для zabbix Template_HDD-HP-SMART_ARRAY
<?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>3.2</version> <date>2016-11-26T07:47:44Z</date> <groups> <group> <name>Templates</name> </group> </groups> <templates> <template> <template>Template_HDD-HP-SMART_ARRAY</template> <name>Template_HDD-HP-SMART_ARRAY</name> <description/> <groups> <group> <name>Templates</name> </group> </groups> <applications> <application> <name>HDD-HP-SmatArray</name> </application> </applications> <items> <item> <name>hp-smartarray-status</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>hp-smartarray-status</key> <delay>0</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>HDD-HP-SmatArray</name> </application> </applications> <valuemap/> <logtimefmt/> </item> </items> <discovery_rules/> <httptests/> <macros/> <templates/> <screens/> </template> </templates> <triggers> <trigger> <expression>{Template_HDD-HP-SMART_ARRAY:hp-smartarray-status.last()}<>0</expression> <recovery_mode>0</recovery_mode> <recovery_expression/> <name>RAID array status on {HOST.NAME}</name> <correlation_mode>0</correlation_mode> <correlation_tag/> <url/> <status>0</status> <priority>5</priority> <description/> <type>0</type> <manual_close>0</manual_close> <dependencies/> <tags/> </trigger> <trigger> <expression>{Template_HDD-HP-SMART_ARRAY:hp-smartarray-status.nodata(24h)}=1</expression> <recovery_mode>0</recovery_mode> <recovery_expression/> <name>RAID Array status too old on {HOST.NAME}</name> <correlation_mode>0</correlation_mode> <correlation_tag/> <url/> <status>0</status> <priority>2</priority> <description/> <type>0</type> <manual_close>0</manual_close> <dependencies/> <tags/> </trigger> </triggers> </zabbix_export>