部署 Zabbix 资源监控服务

作者 huhamhire,暂无评论,2015年11月1日 18:44 折腾历程

接上一篇文章的日志服务器部署,在管理集群服务器时,还有一项比较重要的工作便是连续监控服务器硬件资源以及网络带宽的占用情况,以便及时对业务集群进行水平扩展。服务器资源监控一般一种方式是使用在线监控工具,另一种就是使用自己搭建的监控系统进行监控。虽然很多情况下的服务器监控都可以由外网监控来满足,但是在实际生产环境中,并不是所有的业务服务器都可以在公网上监控,而且这样往往会存在安全问题。在生产环境上部署自己的监控工具是具有一定实际意义的。

zabbix02

在对比了几个常见的监控工具之后,我最终选择了 zabbix 来玩一把。相比于 nagios 这样把核心功能以外的部分都做了插件化处理的工具而言,更加偏向于企业级 zabbix 相对的就比较大而全了。用 zabbix 可以比较轻松的部署一整套的监控,不是 nagios 那样可能需要折腾比较长的时间进行配置。

安装 zabbix 软件包

因为我准备使用 PostgreSql,所以在安装 zabbix 时直接安装 PG 相关的软件包。


rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
yum install zabbix-server-pgsql zabbix-web-pgsql

配置数据库

在上一篇部署 sentry 的过程中,已经介绍过了 PG 的安装,在此就不再重复了。直接对数据库进行初始配置,建立 zabbix 需要使用的库以及用户。


 1 ZABBIX_USER="zabbix"
 2 ZABBIX_USER_PASS="password"
 3 ZABBIX_DB="zabbix"
 4 
 5 su - postgres -c "createuser ${ZABBIX_USER}"
 6 su - postgres -c "createdb ${ZABBIX_DB}"
 7 
 8 su - postgres -c "psql<<EOF
 9 alter user ${ZABBIX_USER} with encrypted password '${ZABBIX_USER_PASS}';
10 grant all privileges on database ${ZABBIX_DB} to ${ZABBIX_USER};
11 EOF"

初始化相关数据表


1 cd /usr/share/doc/zabbix-server-pgsql-2.4.6/create
2 
3 su postgres -c "psql zabbix < schema.sql"
4 su postgres -c "psql zabbix < images.sql"
5 su postgres -c "psql zabbix < data.sql"

配置 zabbix

修改服务器文件


vim /etc/zabbix/zabbix_server.conf

设置数据库相关配置


1 LogFileSize=128
2 DBHost=
3 DBName=zabbix
4 DBUser=zabbix
5 DBPassword=password

启动 zabbix 服务


systemctl start zabbix-server
systemctl enable zabbix-server

修改 httpd 的时区配置


vim /etc/httpd/conf.d/zabbix.conf

配置如下:


php_value date.timezone Asia/Shanghai

重启 httpd 服务


systemctl restart httpd
systemctl enable httpd

打开防火墙端口


firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

配置中文字体

如果希望使用 zabbix 的中文功能,建议对中文字体进行配置,不然图表中的中文字都会变成方块显示。这里以文泉驿微米黑为例进行修改


cp wqy-microhei.ttc /usr/share/zabbix/fonts/wqy-microhei.ttf
sed -i 's/graphfont/wqy-microhei/g' /usr/share/zabbix/include/defines.inc.php
systemctl restart zabbix-server

客户端安装

安装 zabbix-agent 软件包


yum install zabbix-agent

根据实际情况修改客户端配置文件 /etc/zabbix/zabbix_agentd.conf,并随后重启客户端,在防火墙上打开被动模式端口:


systemctl restart zabbix-agent
systemctl enable zabbix-agent

firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload

安装完 zabbix 客户端以后,进入 zabbix 服务器添加客户端所在机器就可以对相关机器进行性能数据的采集。

zabbix01

Windows 客户端以后,进入

除了 Linux 以外,zabbix 还提供了 Windows 客户端,用于集中监控 Windows 机器。家舍 zabbix 客户端路径为 C:\zabbix,首先需要对 zabbix 路径下的配置文件进行修改 zabbix_agentd.win.conf。随后创建 zabbix 服务并启动:


zabbix_agentd.exe -c zabbix_agentd.win.conf --install
zabbix_agentd.exe -c zabbix_agentd.win.conf --start

服务启动后在防火墙入站规则中添加允许通过 10050 端口的规则。

登录后进行评论