1. PHP配置参数

zabbix对PHP参数、PHP模块有特殊要求。

1.1 PHP安装参数
php具体安装方法参考上面的链接,不过如下模块要特别留意加上

bcmath        --enable-bcmath
mbstring    --enable-mbstring
sockets        --enable-sockets
gd            --with-gd
libxml        --with-libxml-dir=/usr/local
xmlwriter    同上
xmlreader    同上
ctype        默认支持
session        默认支持
gettext        默认支持

以下是我PHP的配置参数



 



./configure --prefix=/usr/local/php-5.5.7\


--with-config-file-path=/usr/local/php-5.5.7/etc--with-bz2--with-curl\


--enable-ftp--enable-sockets--disable-ipv6--with-gd\


--with-jpeg-dir=/usr/local--with-png-dir=/usr/local\


--with-freetype-dir=/usr/local--enable-gd-native-ttf\


--with-iconv-dir=/usr/local--enable-mbstring--enable-calendar\


--with-gettext--with-libxml-dir=/usr/local--with-zlib\


--with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd--with-mysql=mysqlnd\


--enable-dom--enable-xml--enable-fpm--with-libdir=lib64--enable-bcmath




1.2 PHP配置参数
打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了。



 



max_execution_time=300


memory_limit=128M


post_max_size=16M


upload_max_filesize=2M


max_input_time=300


date.timezone PRC




 

2 zabbix服务端安装

2.1 下载安装zabbix
所有版本下载地址:http://www.zabbix.com/download.php



 



# yum install net-snmp-devel libxml2-devel libcurl-devel // 一定先安装依赖


# cd /usr/local/src


# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"


# tar -xzvf zabbix-2.2.2.tar.gz


# cd zabbix-2.2.2


# ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-server \


--enable-agent--with-mysql--with-net-snmp--with-libcurl--with-libxml2


# make


# make install




在zabbix server一般充当两个角色:server、angent,所以上面的配置参数也同时加上了--enable-agent。
备注:请安装好MySQL,snmp,curl开发库。

2.2 创建用户
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:

# groupadd zabbix
# useradd -g zabbix zabbix

2.3 初始化数据库
zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。我当时在搭建proxy的时候导入了3个sql,导致出现报错。后来才发现proxy只需要导入一个表结构即可。

我假想你安装好了MySQL,用户名为root,密码为ttlsapwd



 




# mysql -uroot -pttlsapwd


mysql>create database zabbix defaultcharset utf8;


mysql>quit;


# mysql -uroot -pttlsapwd zabbix < database/mysql/schema.sql




备注:创建数据库请别忘记加default charset utf8,有可能会导致你出现中文乱码问题,具体问题请查看《zabbix中文乱码解决方法》

如果你仅仅是初始化proxy的数据库,那么够了。如果初始化server,那么接着导入下面两个sql



 



# mysql -uroot -pttlsapwd zabbix < database/mysql/images.sql


# mysql -uroot -ppttlsapwd zabbix < database/mysql/data.sql




其他数据库(db2\sqlite\oracle)数据库初始化方法参考:https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts

2.4 配置zabbix
配置zabbix_server配置文件,zabbix源码目录下


 



# mkdir /etc/zabbix


# cp config/zabbix_server.conf /etc/zabbix/


# vim /etc/zabbix/zabbix_server.conf


DBName=zabbix


DBUser=root


DBPassword=ttlsapwd


DBPort=3306




2.5 启动zabbix server



 




# /usr/local/zabbix-2.2.2/sbin/zabbix_server




默认端口10051

3. 客户端安装配置

3.1 下载安装客户端
所有版本下载地址:http://www.zabbix.com/download.php,可以直接下载已经编译好的二进制文件,或者也可以源码安装。



 



# cd /usr/local/src


# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"


# tar -xzvf zabbix-2.2.2.tar.gz


# cd zabbix-2.2.2


# ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-agent


# make


# make install




3.2 zabbix客户端配置
配置zabbix_server配置文件,zabbix源码目录下



 



# vim /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf


Server=127.0.0.1


ServerActive=127.0.0.1


Hostname=Zabbix server




其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。明白了吗?为什么要分主动和被动?后续再来讨论这个问题!

其他主机安装客户端记得添加zabbix用户。

3.3 zabbix客户端启动



 




# /usr/local/zabbix-2.2.2/sbin/zabbix_agentd




默认端口10050

4. zabbix管理网站配置

4.1 拷贝前端文件



 




# mkdir /data/logs/nginx


# mkdir /data/site/monitor.ttlsa.com/zabbix


# cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix



4.2 配置虚拟主机
请相应修改你的配置文件路径



 



# vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf


server{


listen      80;


server_name monitor.ttlsa.com;


access_log /data/logs/nginx/monitor.ttlsa.com.access.log main;


                    


index index.html index.php index.html;


root/data/site/monitor.ttlsa.com;


                    


location/


{


try_files$uri$uri//index.php?$args;


}


                    


location~^(.+.php)(.*)${


fastcgi_split_path_info^(.+.php)(.*)$;


include fastcgi.conf;


fastcgi_pass 127.0.0.1:9000;


fastcgi_index index.php;


fastcgi_param PATH_INFO         $fastcgi_path_info;


}


}



4.3 在线配置zabbix
浏览器打开http://monitor.ttlsa.com/zabbix。
如下是zabbix 2.2的安装界面,包括欢迎界面一共6步.

4.3.1 欢迎界面