zabbix服务端与客户端安装

zabbix的使用,是基于LAMP或者LNMP架构运行的,所以在安装zabbix之前必须先安装好Apache/Nginx、MySQL以及PHP。其中Apache/Nginx和MySQL的安装没有什么特别的,这里只梳理一下PHP的安装。

下载php源码并解压缩,然后yum安装所需组件

1
yum install gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

编译安装php

1
2
3
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/iconv --with-freetype-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib --with-libxml-dir=/usr/local --enable-xml --disable-rpath --enable-bcmath --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --with-xmlrpc --enable-zip --enable-mysqlnd --enable-wddx --enable-ftp --enable-calendar --with-libdir=lib64 --with-gettext --enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs 
make && make install
cp php.ini-production /usr/local/php/etc/php.ini

注:因为我的系统是64位,所以我在后面的参数中添加了–with-libdir=lib64,并且我使用Apache与php搭配,所以还添加了Apache的参数–with-apxs2=/usr/local/apache2/bin/apxs

按照zabbix要求配置php.ini,修改如下参数。

1
2
3
4
5
6
7
memory_limit=128MB
post_max_size=16MB
upload_max_filesize=2M
max_execution_time=300
max_input_time=300
always_populate_raw_post_data = -1(如果php版本是5.6.0及以上,这一项也需要修改)
date.timezone=Asia/Shanghai

安装zabbix_server

下载zabbix源码压缩包并解压。

创建zabbix用户

1
2
groupadd zabbix
useradd -g zabbix zabbix

创建zabbix相关MySQL库(只有zabbix_server以及zabbix_proxy需要创建数据库)

1
2
3
4
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";
mysql> exit

进入zabbix源码的database/mysql/目录,按如下顺序导入三个sql文件

1
2
3
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql

注:如果配置安装的是zabbix_server,则按照上述顺序导入sql文件,若安装的是zabbix_proxy,则只需要导入第一个文件schema.sql

返回zabbix源码根目录,输入以下编译条件

1
2
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
make install

注:若只开启zabbix的server功能,可以在编译条件中删除–enable-agent –enable-proxy,上面我只是做演示用,具体还是以实际应用环境为主。

安装好zabbix_server,便可以进sbin目录下运行zabbix_server。我在运行的时候还报了个错error while loading shared libraries: libmysqlclient.so.18。于是我妥妥的在MySQL的lib目录下找到了libmysqlclient.so.18,并软连到/usr/lib64,暂时解决。

安装zabbix_agent(Linux)

下载zabbix源码压缩包并解压。

创建zabbix用户

1
useradd zabbix

进入zabbix源码根目录,输入以下编译条件

1
2
./configure --prefix=/usr/local/zabbix --enable-agent
make install

编辑zabbix_agentd.conf,根据实际情况修改Server、ServerActive的IP以及Hostname

运行客户端

1
sbin/zabbix_agentd

安装zabbix_agente(Windows)

下载Zabbix pre-compiled agents中的windows平台客户端

解压至监控主机C盘根目录

复制解压目录中conf/下的zabbix_agentd.win.conf到C盘根目录并改名zabbix_agentd.conf(路径可自定义)

打开命令行,进入刚刚解压的zabbix_agent的目录,根据自己的操作系统,选择进入bin/win32或者bin/win64

如果确定使用默认的配置文件路径,则直接输入命令

1
zabbix_agentd.exe --install

若需要自定义zabbix_agentd.conf的路径,则安装命令为

1
zabbix_agentd.exe --config<你的配置文件路径> --install

安装成功后可以运行命令

1
zabbix_agentd.exe --start

运行agent服务,或者在windows服务面板中开启该服务。

若需要卸载该服务,则运行命令

1
zabbix_agentd.exe --uninstall

至于zabbix_agentd.conf配置文件的编辑,则与上面Linux下的编辑内容一致。

安装zabbix web interface

因为zabbix的前端文件是用php写的,所以需要用支持php的web服务器,我选用的是Apache。所谓安装就是将zabbix源码根目录中frontends/php下的所有文件复制到Apache的网站根目录,我偷了个懒,直接复制到Apache下htdocs了

1
cp -r frontends/php /usr/local/apache/htdocs

复制完成后,在浏览器输入服务器的ip地址,开始在网页上跑一遍安装向导

第二步

确定所有的软件先决条件是达标的。

第三步

输入数据库的详细连接信息并连接成功(zabbix数据库必须是新建完成的)

第四步

输入zabbix服务器的详细信息

第五步

再次确认刚刚输入的信息

第六步

Download the configuration file,然后上传至zabbix网页下conf/文件夹中,比如我的zabbix网页存放在/usr/local/apache/htdocs/,那么就需要将下载下来的文件存放至/usr/local/ apache/htdocs/conf/

第七步

完成安装。

第八步

zabbix前端安装完毕,现在可以使用默认用户和密码登录了

Username:Admin

Password:zabbix

更新启动脚本

安装完毕后,按需在客户端和服务端复制启动脚本至/etc/init.d

1
2
3
4
5
6
7
8
9
10
11
12
13
cp zabbix源码目录/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp zabbix源码目录/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

\#给这两个文件加可执行权限
chmod +x /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_agentd

\#修改脚本文件的BASEDIR为zabbix实际安装目录并启动
service zabbix_server start
service zabbix_agentd start
\#加入开机启动项
chkconfig zabbix_server on
chkconfig zabbix_agentd on