zabbix 基于lamp或lnmp环境基础上搭建。

# cd /tmp


# zabbix3.4需要去官网下载libevent-2.1.8-stable http://libevent.org/


 


# tar zxvf libevent-1.2.tar.gz

# cd libevent-1.2

# ./configure –prefix=/usr

# make

# make install

然后在运行命令ldconfig

以下是centos7安装的lamp教程

新版的zabbix网页要在php5.4版本以上才能打开

CentOS7默认只能安装php5.4

为了方便,直接使用Webtstic的yum源


# rpm -Uvh http://repo.webtatic.com/yum/el7/x86_64/RPMS/webtatic-release-7-3.noarch.rpm

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

出现问题可以尝试以下命令

# yum install http://repo.webtatic.com/yum/el7/x86_64/RPMS/webtatic-release-7-3.noarch.rpm

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install httpd mariadb-server mariadb php70w -y

以下php包都需要安装

php70w-bcmath-7.0.17-1.w7.x86_64

php70w-mysql-7.0.17-1.w7.x86_64

php70w-mbstring-7.0.17-1.w7.x86_64

php70w-common-7.0.17-1.w7.x86_64

php70w-7.0.17-1.w7.x86_64

php70w-gd-7.0.17-1.w7.x86_64

php70w-xml-7.0.17-1.w7.x86_64

php70w-cli-7.0.17-1.w7.x86_64

php70w-pdo-7.0.17-1.w7.x86_64

php70w-xmlrpc-7.0.17-1.w7.x86_64



# php -v查看php版本

# systemctl restart httpd

检查:

# cd /var/www/html

# vi phpinfo.php

i

输入

wKioL1jfZuLxdYdRAAAJGa2L8R8458.png-wh_50 

esc

:wq保存退出

在浏览器输入地址 (我这儿是192.168.3.101/phpinfo.php 如图即为php正常安装)

 





https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable  你可以来这里找一下你想要的版本



环境搭建好了之后网站确定可以访问,然后开始搭建zabbix。


首先上传zabbix的源码包至/usr/local/src  目录下


之后进入该目录  解压


命令: cd /usr/local/src   ;   tar zxvf 软件包名


然后进入数据库    命令:   mysql -u root -p


之后输入mysql密码,进入之后首先创建zabbix库


命令: create database zabbix character set utf8;  (创建zabbix库,并设置数据库编码为utf8)


创建zabbix用户,并设置密码为:123456   命令:


insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456'));


创建完用之后刷新系统授权表,命令: flush privileges;


之后授权zabbix用户能从本机链接到数据库zabbix   命令:


grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456';


授权完成之后再次刷新授权表。 命令: flush privileges;


刷新完之后进入数据库zabbix。 命令: use zabbix;


之后导入3个数据库文件至zabbix。三个文件路径为你的zabbix目录下的/database/myqsl目录下


执行命令导入。 命令:


source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql


source /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql


source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql


导入按照以上顺序进行,否则会报错。


导入完成之后退出数据库。




以上完成之后,新建zabbix用户和组,并且把zabbix用户加入到zabbix组中。


命令:   groupadd zabbix  

         

         useradd zabbix -g zabbix -s /bin/false  


之后安装依赖包,CetnOS 使用yum命令安装。


命令:     yum install net-snmp-devel curl curl-devel mysql-devel 


完成之后注意查看结果,确定安装完成之后进入下一步,安装zabbix。


首先创建软连接。 命令: ln -s /usr/local/lib/libiconv.so.2   /usr/lib/libiconv.so.2


具体文件位置试实际情况而定。创建完成之后执行命令:/sbin/ldconfig 使配置生效


进入解压出来的zabbix目录。 命令: 


 cd /usr/local/src/zabbix-2.2.6 


之后执行以下命令进行配置。 命令:


./configure --prefix=/usr/local/zabbix --enable-server --enable-java --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config 


配置完成之后进行编译安装。  命令:


make && make  install


安装完成之后再次添加系统软连接。 命令:


ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/


ln -s /usr/local/zabbix/bin/* /usr/local/bin/


之后添加zabbix服务对应的端口号。 命令:


vim /etc/services


之后在最下方添加如下代码。如果该配置文件里边已经存在的话可以不添加(这里边有好多端口及对应的服务,可以在下拉的时候看一下有没有配置这个端口号)


zabbix-agent 10050/tcp # Zabbix Agent


zabbix-agent 10050/udp # Zabbix Agent


zabbix-trapper 10051/tcp # Zabbix Trapper


zabbix-trapper 10051/udp # Zabbix Trapper


添加之后:wq保存退出。


之后修改zabbix_server.conf 文件,设置数据库信息。  命令:


vim vi /usr/local/zabbix/etc/zabbix_server.conf


主要修改信息如下:


DBName=zabbix (数据库名称)


DBUser=zabbix (数据库用户名)


DBPassword=123456 (数据库密码)


ListenIP=192.168.1.200 (本地ip) 要和网页上一样


AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts (zabbix运行脚本存放目录)


以上配置值试实际情况而定。修改完成之后,:wq保存退出。


继续修改zabbix_agentd.conf文件。 命令:


vim /usr/local/zabbix/etc/zabbix_agentd.conf


如果找不到这个文件的话可以使用命令: find / -name zabbix_agentd.conf 进行查找。


之后修改一下项:





UnsafeUserParameters=1 (启用自定义key)


修改完成之后:wq保存退出。


之后添加开机启动脚本。命令:


cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server (服务端)


cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd (客户端)


chmod +x /etc/rc.d/init.d/zabbix_server (添加脚本执行权限)


chmod +x /etc/rc.d/init.d/zabbix_agentd (添加脚本执行权限)


chkconfig zabbix_server on (添加开机启动) 


chkconfig zabbix_agentd on (添加开机启动)


添加完成之后修改启动脚本中的zabbix安装目录。命令:


vim /etc/rc.d/init.d/zabbix_server            (服务端)


修改如下值:BASEDIR=/usr/local/zabbix/    修改完成之后:wq保存退出


再次修改客户端脚本。    命令:


vim /etc/rc.d/init.d/zabbix_agentd       (客户端)


同上修改:   BASEDIR=/usr/local/zabbix/  该项的目录为zabbix的安装目录。


之后:wq保存退出。


开始配置web站点。


进入到zabbix源码包的解压目录下。 命令:


cd /usr/local/src/zabbix-3


之后复制web源码至nginx或者apache网站根目录下。(我这里网站根目录为/home/wwwroot/default)   命令如下 :


cp -r /usr/local/src/zabbix-3/frontends/php /home/wwwroot/default/zabbix


之后给予该目录权限。  命令:


chown -R www:www /home/wwwroot/default/zabbix


然后启动zabbix服务端和客户端。 命令:


service zabbix_server start(服务端)


service zabbix_agentd start(客户端)


启动之后修改php.ini中以下参数。


post_max_size =16M


max_execution_time =300


max_input_time =300


修改完成之后:wq保存退出。然后修改php-fpm文件。(找不到的话可以使用:  find / -name php-fpm.conf 来查找该文件。)以下值:


request_terminate_timeout = 300 

date.timezone =Asia/Shanghai

完成之后:wq保存退出。  然后重启php-fpm。  命令:


service httpd reload 


之后就可以在浏览器中访问你的zabbix了,地址为:


http://IP(域名)/zabbix/


之后的配置就要看自己的设置了。





遇见问题1


10051端口未监听


存在两处可能性:


1. 虽然给zabbix用户授权了,但是授权之后没有执行命令:flush privileges;  刷新授权表。倒是zabbix用户无法访问zabbix库,所以失败。


2. 无法连接mysql 查看日志提示显示:


Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


解决办法 去掉zabbix_server.conf文件内的DBSocket项的注释。之后重启zabbix_server 成功监听10051端口。

3. 注意netstart -nlp 这里监听的zabbixserver ip 要和 网页上显示的一样默认网页是localhost  server.conf改成 ListenIP=192.168.1.200

4.注意关闭selinux

问题2  中文乱码

在网站目录下

把下载好的中文字体拷贝到网站下的fonts目录下(后缀名需要小写)

修改/zaabix/include/defines.ini.php  文件中的

define('ZBX_FONT_NAME',                       'DejaVuSans');

define('ZBX_GRAPH_FONT_NAME',                   'DejaVuSans');

两行的值为上传的字体名称。

或者直接替换这个文件

/usr/share/nginx/html/fonts/DejaVuSans.ttf


问题3 提示zabbix 无法启动


 /etc/mysql/my.cnf  把max_connection 修改为1000