1. 配置lnmp环境
首先配置Nginx+mysql+php-fpm的系统环境,具体配置见另一篇文章
2. 编译安装zabbix
2.1 下载并解压zabbix
可以到zabbix官网下载zabbix3.2的最新版本,大版本安装方式基本相同,这里以zabbix3.2.5为例。
tar -xvf zabbix-3.2.5.tar.gz -C /usr/local
mv /usr/local/zabbix-3.2.5 /usr/local/zabbix
添加zabbix用户
useradd -s /sbin/nologin -M zabbix
chown -R zabbix.zabbix /usr/local/zabbix
创建zabbix的log目录,方便查找问题
mkdir -pv /var/log/zabbix
chown zabbix.zabbix /var/log/zabbix
创建pid文件目录
mkdir -pv /var/run/zabbix
chown zabbix.zabbix /var/run/zabbix
2.2 编译安装zabbix-server和zabbix-agent
先安装一些依赖包:
yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel
yum -y install fping unixODBC OpenIPMI
编译安装zabbix-server和zabbix-agent
cd /usr/local/zabbix
./configure --prefix=/usr/local/zabbix-server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
编译安装没有问题之后:
make
make insatll
2.3 初始化相关
编译安装好之后,要进行一些初始化操作。
2.3.1 初始化数据库
使用root用户登录数据库,进入mysql命令行模式
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
#这里是为了测试方便,密码设置的比较简单,生产环境中密码必须要复杂
把3个sql导入到数据库中,一定要注意顺序:
cd /usr/local/zabbix/database/mysql/
mysql -uzabbix -h192.168.102.130 -p zabbix < schema.sql
mysql -uzabbix -h192.168.102.130 -p zabbix < images.sql
mysql -uzabbix -h192.168.102.130 -p zabbix < data.sql
2.3.2 设置conf文件
编译安装之后,在/usr/local目录下生成了一个zabbix-server的目录,zabbix-server的配置文件和zabbix-get,zabbix-sender命令都在这个目录下。
cd /usr/local/zabbix-server/etc
vim zabbix_server.conf
下面配置zabbix_server.conf文件,主要是下面几项:
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
#注意,上面的两个文件夹zabbix一定要有权限,否则zabbix-server会启动不起来
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
配置zabbix_agnet.conf文件,如下:
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
2.3.3 配置zabbix-server和zabbix-agnet服务
在/usr/local/zabbix-server/sbin目录下有两个命令,我们可以使用它们直接启动zabbix-server和zabbix-agent
/usr/local/zabbix-server/sbin/zabbix_server
/usr/local/zabbix-server/sbin/zabbix_agentd
可以使用命令查看相应的端口是否已经监听。
上面的命令启动服务还可以,但是关闭的话比较麻烦,还是使用service相对方便一些。下面介绍如何配置这两个服务,使用service来管理。
配置zabbix-server服务:
ln -sv /usr/local/zabbix-server/sbin/zabbix_server /usr/local/sbin/zabbix_server
ln -sv /usr/local/zabbix/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix-server
配置zabbix-agent服务:
ln -sv /usr/local/zabbix-server/sbin/zabbix_agentd /usr/local/sbin/zabbix_agentd
ln -sv /usr/local/zabbix/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix-agent
看到上面的截图说明配置成功了。
2.4 配置web界面
2.4.1 配置zabbix-web文件
将zabbix-web相关的文件复制到/var/www/html目录下
cd /usr/local/zabbix/frontends
cp -R php /var/www/html/zabbix
#/var/www/html是nginx的主目录
2.4.2 配置zabbix-web界面
service nginx restart
service php-fpm start
使用浏览器输入地址直接访问,可以看到如下界面:
第二步:检测php相关的配置,如果有不符合的一定要修改,然后重启php-fpm,刷新页面即可。
第三步:配置数据库连接
第四步:配置连接zabbix-server
如果是分布式部署的,zabbix-web和zabbix-server不在一台主机上,这个地址一定要配置好。
第五步:确认配置
第六步:将配置写入到文件中
应该会出现如下界面:
这个不用着急,因为zabbix用户没有对/var/www/html/zabbix的操作权限。我们把配置文件下载下来,自己编辑就行了。
# vim /var/www/html/zabbix/conf/zabbix.conf.php
# 内容如下
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix server';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
编辑好之后保存即可。然后按F5刷新界面,可以看到安装成功了。
可以看到如下
然后进入到登录界面,如下:
默认的登录账户密码为:admin/zabbix。登陆进去后,看到如下界面:
2.4.3 配置中文界面
zabbix默认的是英文界面,我们也可以设置中文界面,如下:
可以看到已经变成中文了。
但是中文显示,在显示图形的时候还有一些乱码的问题,如下:
下面解决乱码的问题,我们需要下载一个中文支持补丁包,替换掉原来的字体包。
wget http://down1.chinaunix.net/distfiles/ttf-arphic-uming_0.0.20050501-1.tar.gz
tar xf /root/ttf-arphic-uming_0.0.20050501-1.tar.gz
#将原来的语言包进行备份
mv /var/www/html/zabbix/fonts/DejaVuSans.ttf /root
#替换为新的语言包
mv /root/ttf-arphic-uming-0.0.20050501/uming.ttf /var/www/html/zabbix/fonts/DejaVuSans.ttf
#重启nginx
service nginx restart
刷新一下界面,如下:
可以看到,乱码已经没有了。