前提条件
zabbix支持通过Python 脚本从 HP 3Par Storage 获取指标,脚本使用SMI-S接口。
- 开启SMI-S
默认情况下,SMI-S在 HP 3PAR Storage System 中处于禁用状态。要启用 SMI-S 提供程序,管理员应登录 putty 并通过 SSH 连接到目标 HP 3PAR Storage System。请记住,管理员应拥有超级用户权限才能连接到目标存储系统
。
连接到目标 HP 3PAR Storage System 后,在目标存储系统的 CLI 中发出startcim
命令将启用并启动 SMI-S Provider。 - 查看当前开启状态,使用
showcim
命令
-Service- -State- --SLP-- SLPPort -HTTP-- HTTPPort -HTTPS- HTTPSPort PGVer CIMVer
Enabled Active Enabled 427 Enabled 5988 Enabled 5989 2.9.1 3.1.2
使用该命令可以查看SMI-S的整体状态;用于 HTTP、HTTPS 和 SLP 的状态和端口,以及 CIM 服务器/SMI-S 提供程序的版本。
3. 新建用户
createuser -c john@123 john NAS Browser
一、获取模板及脚本
模板地址:https://github.com/zabbix/community-templates/tree/main/Storage_Devices/HP/template_hp_3par/5.0
脚本地址:https://github.com/aklyuk/zabbix-hp-3par
二、遇到的问题
- urllib3版本问题
在拿到脚本后,可以先通过以下命令进行测试:
./hp_3par_get_state_wbem.py --hp_ip=xxx.xxx.xxx.xxx --hp_port=5989 --hp_user=username_on_storagedevice --hp_password='xxxxxxxxxxxx' --storage_name=storage_name_in_zabbix_web_interface --discovery
结果报错了,提示ImportError: urllib3 v2.0 only supports OpenSsl 1.1.1+,通过pip命令查看后发现,默认通过依赖安装urllib3的版本为2.0+,在centos7中不适用,此处可以选择降级urllib3。
解决办法:
降级urllib3==1.26.15即可。
2. python虚拟环境问题
python安装好虚拟环境,想通过pip安装依赖文件,拿到生产无网络环境使用,发现安装时很多错误需要排查,最后发现是由于虚拟环境默认的setuptools和pip版本较低导致的。
解决办法:
pip install -U pip
pip install -U setuptools