之前介绍过dell服务器在centos5、6与ubuntu、windows系统里部署硬件监控,最近我在测试docker集群,很多集群软件都依赖centos7的systemd,所以我研究了一下如何在centos7里部署硬件监控,基于dell服务器的。

下面是之前硬件监控文章信息:

centos5、6与ubuntu系统

http://dl528888.blog.51cto.com/2382721/1403893

windows系统

http://dl528888.blog.51cto.com/2382721/1421335

下面是centos7部署硬件监控后的效果图

zabbix企业应用之centos7安装硬件监控_第1张图片

下面是安装步骤:

1、同步rsync源到本地

默认是国外的dell源,在国内安装omsa的话十分的慢,如果有多台服务器部署硬件监控,建议还是弄成本地yum源

[root@puppet other]# cat rsync_dell_repo.sh
#!/bin/bash
#author:Deng Lei
#email: [email protected]
bwlimit='5000'
centos_version=7
remote_dir="rsync://linux.dell.com/repo/hardware/latest/platform_independent/rh${centos_version}0_64/"
local_dir="/mnt/DELL/Centos-${centos_version}/x86_64/"
if [ ! -d $rsync_dir ];then
mkdir -p $rsync_dir
fi
function check(){
if [ $? -eq 0 ];then
echo "`date '+%Y-%m-%d %T'` rsync  $1 to $2 is success!"
else
echo "`date '+%Y-%m-%d %T'` rsync  $1 to $2 is fail!"
fi
}
for i in srvadmin-x86_64 srvadmin-x86_64-meta firmware-tools repodata
do
rsync -avrt --delete --no-iconv --bwlimit=$bwlimit ${remote_dir}${i}/ ${local_dir}$i
check  ${remote_dir}$i ${local_dir}$i
done

为方便大家使用,我直接写成了shell脚本,大家根据需求修改一下就行,运行的方法就是sh rsync_dell_repo.sh

运行后结果为

[root@puppet other]# ll /mnt/DELL/Centos-7/x86_64/
total 16
drwxr-xr-x 2 3000044 3000044 4096 Apr 15 19:47 firmware-tools
drwxr-xr-x 2 3000044 3000044 4096 Apr 17 20:47 repodata
drwxr-xr-x 2 3000044 3000044 4096 Apr 17 19:47 srvadmin-x86_64
drwxr-xr-x 2 3000044 3000044 4096 Apr  6 21:58 srvadmin-x86_64-meta

官方里有很多目录,但就这4个有用。

2、yum的repo

[root@puppet repo_list]# cat CentOS7-Base-ChuKong.repo
[DELL]
name=CentOS-Dell-omsa $basearch
baseurl=http://yum-server-external.ops.xxx.net/DELL/Centos-7/$basearch
enable=1
gpgcheck=0

为了防止暴漏我这里信息,域名我改为xxx了。

3、安装omsa

 yum -y install srvadmin-all

然后等待结果就行了

我这里是把zabbix封装好了,一键化自动安装,如下

wKiom1VIHjmgK_mXAACuLu8mjGo288.jpg4、开启与关闭服务

zabbix企业应用之centos7安装硬件监控_第2张图片

systemd的配置文件我也写好,我自己的脚本里自动配置好,如下

[root@ip-10-10-125-8 ~]# cat /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/conf/zabbix_agentd.conf"
Type=forking
Restart=always
PIDFile=/var/log/zabbix/zabbix_agentd.pid
KillMode=process
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/sh -c "kill -9 `cat $PIDFile`;rm -rf $PIDFile"
[Install]
WantedBy=multi-user.target

根据自己的需求自己修改对于信息

另外说个问题,建议大家把信号集改大一下,对于数据库与web应用,信号集使用比较多,默认的256根本不够,我一般改为2048

kernel.sem = 250 32000 32 2048

如果大家有问题请留言,我会及时解答。