1. 前言
zabbix是一个基于WEB页面提供分布式系统监视以及网络监视功能的企业级开源解决方案。基于C/S架构,支持多种采集方式和采集客户端,有专用的Agent,也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。
对于运维工作来说,zabbix是一个不可或缺的企业监控工具,在日常业务环境中可以选择直接通过yum方式安装或者编译源码安装,因为本人喜欢将zabbix安装到自定义位置,故选择编译安装。
2. 部署前准备工作
2.1 部署规划
zabbix目前提供了三个版本的源码包供下载安装,分别是:Zabbix 2.2 LTS、Zabbix 3.0 LTS、Zabbix 3.2。
Zabbix2.2与3.0均为LTS即Long Term Support(长期支持)版本,Zabbix LTS版本可以为客户提供5年的技术支持,包括3年的全服务支持(一般,严重和安全的问题的解决)和后2年的限制性支持(只包括严重和安全问题的解决)。LTS版本发布会改变版本号第一个数字,比如X版本,X+1版本。
而3.2属于标准版本,标准版本会为客户提供6个月的全支持(一般,严重和安全的问题的解决)直到下一个稳定版本发布,还会提供附加一个月的限制性支持(只包括严重和安全问题的解决)。标准版本会改变版本号的第二个数字,比如:X.4、X.6版本。
基于业务稳定性考虑,采用LTS版本更为稳妥,同时3.0 LTS相对于2.2 LTS在WEB界面与中文支持以及其他一些重要功能上做了很大的提升,因此我们选择3.0 LTS版本。
zabbix的web管理界面需要php+MySQL环境支持,在此我们选择LNMP环境。
zabbix的web页面安装路径:/home/zabbix
zabbix服务安装路径:/usr/local/zabbix
MySQL安装路径:/home/mysql
2.2 下载软件包
1 | # wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.8/zabbix-3.0.8.tar.gz |
2.3 创建相关安装目录
1 | # mkdir -pv /home/{zabbix,mysql} |
3. 安装配置LNMP环境
因为zabbix的web管理需要php环境支持,所以先配置LNMP环境,配置过程参考前文,此处不再赘述。
1 | php编译参数 |
1 | MySQL编译参数 |
程序包如下:
1 | # tree |
4. 编译安装zabbix
4.1 创建zabbix服务用户
1 | # groupadd zabbix |
4.2 安装依赖包
1 | # yum install -y net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel libssh2-devel openldap-devel |
4.3 编译前配置
1 | # pwd |
4.4 编译安装zabbix
1 | # make && make install |
4.5 为zabbix提供启动脚本
1 | # cp misc/init.d/fedora/core/zabbix_* /etc/init.d/ |
4.6 创建zabbix数据库并导入数据
1 | mysql> create database zabbix character set utf8; |
4.7 修改zabbix配置文件
1 | # |
4.8 启动zabbix-server、zabbix-agentd服务
启动服务
1 | # service zabbix_server start |
如启动报错
1 | Starting zabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory |
检查是否库文件不存在
1 | # ldd $(which /usr/local/zabbix/sbin/zabbix_server) |
确有一条
1 | libmysqlclient.so.20 => not found |
解决办法
1 | # vim /etc/ld.so.conf.d/mysql.conf |
再次启动服务
1 | # service zabbix_server start |
5. 安装配置zabbix WEB前端
5.1 安装前相关配置
1 | # vim /etc/php.ini (此处的php.ini以服务器上实际位置为准) |
5.2 准备WEB前端文件
1 | # pwd |
5.3 配置nginx相关zabbix网站配置
1 | # vim /usr/local/openresty/nginx/conf/nginx.conf |
5.4 访问WEB页面配置zabbix web
1 | http://IP |
5.5 解决zabbix web界面部分中文乱码的问题
zabbix web安装完成后,默认的中文支持并不完善,在部分页面仍会出现中文支持不完全的问题,原因在于zabbix程序保重默认的字体文件DejaVuSans.ttf对中文支持不完善,所以需要我们自行上传中文字体并修改配置文件。
具体操作如下:
1 | 在这里我采用的是微软雅黑字体,首先将微软字体库中的雅黑字体文件上传至zabbix服务器/home/zabbix-web/fonts/目录 |
修改完成后,重新刷新页面,中文显示就正常了。