基于 CentOS6.x + Zabbix3.2.3(最新开发版,稳定版是 3.0 LTS)。本文的 zabbix 采用编译安装,对 web环境及 zabbix 配置更可控,也便于统一管理,目录结构如
.
基于 CentOS6.x + Zabbix3.2.3(最新开发版,稳定版是 3.0 LTS)。
本文的 zabbix 采用编译安装,对 web环境及 zabbix 配置更可控,也便于统一管理,目录结构如下:
- /alidata/server web 程序安装目录,包括 PHP、Apache、MySQL
- /alidata/www web 根目录
- /usr/local/zabbix zabbix 程序安装目录
本文用到的 LAMP 环境是采用阿里云上的一键安装包编译安装,可点击此处下载
注意:本文仅用于学习、演示,将【server/agent/前端】都装在了同一台机器上,实际使用时请根据服务器环境进行修改完善。
.1.下载源码包
- 官网首页:http://www.zabbix.com
- 程序地址:http://www.zabbix.com/download (如下图所示)
下载、解压并进入源码目录(下面的地址如果速度较慢,可直接浏览器或软件下载好后,上传到服务器)# wget -c 'https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz'# tar -zxvf zabbix-3.2.3.tar.gz# cd zabbix-3.2.3
2.安装 zabbix 服务
2.1.数据库配置(主要用于 server 端存储监控指标数据,供前端展现、分析)
# mysql -uroot -pfea7615808Warning: Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 1Server version: 5.6.21-log MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.mysql> create database zabbix character set utf8 collate utf8_bin;mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';mysql> GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"%" IDENTIFIED BY "zabbix" WITH GRANT OPTION;mysql> GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"localhost" IDENTIFIED BY "zabbix" WITH GRANT OPTION;mysql> flush privileges;mysql> quit;Bye# mysql -uroot -pfea7615808 zabbix < database/mysql/schema.sql# mysql -uroot -pfea7615808 zabbix < database/mysql/images.sql# mysql -uroot -pfea7615808 zabbix < database/mysql/data.sql
2.2.安装 zabbix-server(监控服务端)、zabbix-agentd(被监控客户端)
安装依赖库:
# yum install -y unixODBC-devel net-snmp-devel OpenIPMI-devel
新建 zabbix 独立用户,编译、安装
# groupadd zabbix# useradd -g zabbix zabbix# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix# make# make install编译测试echo $?;
2.3.修改对应的配置文件
服务端# vim /usr/local/zabbix/etc/zabbix_server.confLogFile=/tmp/zabbix_server.logDBName=zabbixDBUser=zabbixDBPassword=zabbix
客户端# vim /usr/local/zabbix/etc/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.logServer=127.0.0.1ServerActive=127.0.0.1Hostname=Zabbix server ----- 这里对应在 zabbix 前端创建 host 时要填写的 Host name
2.4.创建日志文件
# touch /tmp/zabbix_server.log# touch /tmp/zabbix_agentd.log# chmod 777 /tmp/zabbix_*.log
2.5.启动
启动服务端# /usr/local/zabbix/sbin/zabbix_server
.启动服务端时报错:
/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
解决:
# ll /alidata/server/mysql/lib/|grep libmysqlclient.so.18# echo "/alidata/server/mysql/lib" >>/etc/ld.so.conf# ldconfig
重新启动
.启动客户端# /usr/local/zabbix/sbin/zabbix_agentd
2.6.验证服务是否启动成功
$ netstat -tlunp|grep 1005*tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 24806/zabbix_agentdtcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 21992/zabbix_server
3.安装 zabbix 前端
3.1. 将 zabbix 源码包中 frontends/php/ 下的所有文件拷贝到 web 目录下
# mkdir -p /alidata/www/zabbix# cd zabbix-3.2.3# cp -rp frontends/php/* /alidata/www/zabbix/# chmod -R 755 /alidata/www/zabbix/
3.2.浏览器打开对应的 web 访问地址,开始安装
例如:http://192.168.137.11/zabbix/setup.php
步骤:
- 一:欢迎界面
- 二:依赖检查,建议所有检查项目都 OK 再进入下一步,包括 fail 和 warning 的项
- 三:数据库配置
- 四:Zabbix server 配置(IP地址、端口号)
- 五:开始安装前的配置预览
- 六:完成安装
整个配置过程,主要是 zabbix 依赖检查(PHP 相关参数配置和扩展)和生成一个 zabbix.conf.php 配置文件。
.第六步之后如果提示无法创建配置文件 Cannot create the configuration file.
一般是用户或目录权限的问题,
- 方法一:修改 zabbix 目录的权限,如:
chmod -R 777 /alidata/www/zabbix/
- 方法二:根据给出的操作步骤,直接下载配置好的文件,并上传到 zabbix 前端对应的配置目录下。
3.3.登录前端
地址:http://192.168.137.11/zabbix
.默认用户名 Admin 密码 zabbix
.登录之后,在 Configuration > Hosts 下可查看默认已经添加的主机
4.zabbix 服务管理脚本及自启动设置
服务管理脚本(start/stop/restart)已经内置在 zabbix 的源文件目录下,如:..../zabbix-3.2.3/misc/init.d,这里包含了 Linux 不同发行版的脚本,根据实际环境选择合适的,然后如下操作:
4.1. 拷贝到系统 init.d 目录并修改相关安装参数
# cd ..../zabbix-3.2.3/misc/init.d# cp fedora/core/zabbix_* /etc/init.d/修改 server 端启动脚本# vim /etc/init.d/zabbix_server......BASEDIR=/usr/local/zabbix ----- zabbix 安装目录BINARY_NAME=zabbix_server ----- zabbix 二进制文件名称(对应 zabbix 安装目录 sbin/ 下的名称).....修改 agent 端启动脚本# vim /etc/init.d/zabbix_agentd......BASEDIR=/usr/local/zabbixBINARY_NAME=zabbix_agentd.....
4.2.启动测试
# service zabbix_agentd restart 或 /etc/init.d/zabbix_agentd rstartShutting down zabbix_agentd: [ OK ]Starting zabbix_agentd: [ OK ]
4.3.加入自启动
# chkconfig --add zabbix_server# chkconfig --add zabbix_agentd# chkconfig --level 345 zabbix_server on# chkconfig --level 345 zabbix_agentd on# chkconfig --list|grep zabbix*zabbix_agentd 0:off 1:off 2:off 3:on 4:on 5:on 6:offzabbix_server 0:off 1:off 2:off 3:on 4:on 5:on 6:off
5.常见问题
5.1.添加新的 zabbix 客户端(被监控端)
每添加一台要监控的机器,只安装 zabbix-agent 即可,操作如下:
# groupadd zabbix# useradd -g zabbix zabbix# ./configure --enable-agent --prefix=/usr/local/zabbix# make && make install
之后的修改配置文件、创建日志文件、启动的方法同上(2.2 至 2.6),需根据实际环境对部分参数进行修改。
5.2.安装 PHP 的 gettext 扩展
# cd /root/sh-1.5.5/php-5.5.7/ext/gettext ----- 进入 PHP 源码包下# /alidata/server/php-5.5.7/bin/phpize# ./configure --with-php-config=/alidata/server/php-5.5.7/bin/php-config# make# make install# echo "extension=gettext.so" >> /alidata/server/php-5.5.7/etc/php.ini# tail /alidata/server/php-5.5.7/etc/php.ini ----- 检查扩展是否追加进 PHP 扩展文件# service httpd restart
5.3.前端切换中文显示
- 登录之后,点击右上角用户图标
- 选择 Chinese (zh_CN)
- 单击底部 update 按钮保存,页面将自动刷新
5.4.图表中文乱码
图表中的乱码类似下图:
解决步骤:
- 进入 C:/Windows/Fonts 中找到楷体(如下图),拷贝到桌面变为 simkai.ttf
- 上传到服务器 zabbix 前端的字体目录下,我的是 /alidata/www/zabbix/fonts
- 修改 zabbix 前端的配置文件,如下
# cd /alidata/www/zabbix/# sed -i 's/DejaVuSans/simkai/g' ./include/defines.inc.php
- 刷新页面
如果经过上面的步骤还是存在乱码,有可能是创建数据的时候没指定 utf-8 编码,请参照上面 **2.1.数据库配置 **进行修改
.