0x01 前言
我想通过SNMP 协议对我的服务器硬件进行状态监控。可是DL380 G6 只支持iLO2 ,在iLO 设置界面里并没有关于SNMP 的设置项,同时在iLO 里面可以获取的信息很少。
在通过了解后,我发现惠普有为Linux 系统开发软件,能在系统里直接与硬件通讯并获取硬件状态与信息。最重要的是可以通过这个HP System Management Homepage 查看、管理磁盘整列!
0x02 安装
我的系统是Centos 7 ,可以通过HP 的yum 源直接使用yum 进行安装。需要安装的软件如下:
hp-health hpssacli hp-snmp-agents hpssa hp-smh-templates hpsmh hponcfg
你可以从以下链接获取惠普软件源的安装脚本。一个add_repo.sh 脚本:
http://downloads.linux.hpe.com/SDR/getting_started.html
如果你的系统也是Centos 7 ,也可以手动添加惠普软件源:
#新建与修改 vim /etc/yum.repos.d/hp.repo #添加以下内容并保存退出 [HP-spp] name=HP Service Pack for ProLiant baseurl=http://downloads.linux.hpe.com/SDR/repo/spp/RHEL/7.2/x86_64/current/ enabled=1 gpgcheck=0 [HP-mcp] name=HP Management Component Pack for ProLiant baseurl=http://downloads.linux.hpe.com/SDR/repo/mcp/CentOS/7.2/x86_64/current/ enabled=1 gpgcheck=0
完成源的添加后,通过以下命令安装软件:
yum install hp-health hpssacli hp-snmp-agents hpssa hp-smh-templates hpsmh hponcfg
0x03 配置SNMP
如果你还没有安装配置SNMP,那么可以通过以下命令进行安装配置。
/usr/sbin/hpsnmpconfig
以上命令会通过交互的模式引导你添加SNMP 用户以及配置此用户的权限。
但我安装hpsnmpconfig 前已经配置好SNMP 了,因此我倾向于手动修改snmpd.conf :
#修改snmpd.conf vim /etc/snmp/snmpd.conf #在文件顶部添加一下内容 dlmod cmaX /usr/lib64/libcmaX64.so
0x04 启动与自启
通过以下命令对其中4个服务进行启动与设置开机启动:
#立即启动相关服务 systemctl start hp-health systemctl start snmpd systemctl start hpsmhd #将相关服务设为开机启动 systemctl enable hp-health systemctl enable snmpd systemctl enable hpsmhd #手动启动hpssa 服务 hpssa -start #将hpssa 服务添加到rc.local ,修改/etc/rc.local vim /etc/rc.local #将以下内容添加到rc.local hpssa -start
0x05 防火墙与iLO 设置
首先要在iLO 里启用Insight Manager Integration :
在Configure Insight Manager Integration 里:
- Insight Manager Web Agent URL 并不是必要设置为有效的域名。
- Level of Data Returned 需要设置为Enable
完成iLO 设置后,请手动在系统内放行TCP 2381 端口。
0x06 登陆使用
因为我内部网络配置有bind 服务器,我将server.t.com 这个域名通过A 记录指向这台物理服务器。所以我可以通过以下地址访问HP System Management Homepage 。你也可以通过ip 地址或者你的域名进行访问。
#请注意!访问协议是https ,端口是TCP 2381 https://server.t.com:2381 #或者通过以下格式登陆 https://[your.server.ip.addr]:2381
用户名和密码是系统的root 用户与root 密码,或者其他有权限的用户名与密码。
0x07 结语
到这里就配置完成了。功能比iLO 要多,但重新安装系统和设置BIOS 还是得用iLO 。
下周我再写关于SNMP 相关的文章。今晚我花了3个小时将系统所有的温度传感器都添加到cacti 里,还挺繁琐的。