Loading
0

CentOS7.2现有LNMP环境源码编译安装zabbix3.4.10

系统环境(使用现有的LNMP环境)


# cat /etc/redhat-releaseCentOS 
Linux release 7.2.1511 (Core)
# uname -a
Linux c72 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

准备:

所有wget下载的包默认都放在/tmp目录下

站点:https://www.zabbix.com/

下载地址:https://www.zabbix.com/download_sources

包地址:https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.10/zabbix-3.4.10.tar.gz

一、修改计算机名称


# hostnamectl set-hostname zabbix

二、初始化数据库并创建数据库及授权数据库用户权限


# mysql_secure_installation
# mysql -uroot -paA111111
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@localhost identified by 'aA111111';
mysql> flush privileges;

三、安装net-snmp-devel libevent-devel


# yum install -y net-snmp-devel libevent-devel openldap-devel

四、编译安装zabbix


# cd /tmp
# tar -xzvf zabbix-3.4.10.tar.gz
# cd zabbix-3.4.10
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
# make && make install


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

agent端使用此编译


五、导入zabbix数据库结构


# cd database/mysql
# mysql -uzabbix -paA111111 zabbix < ./schema.sql
# mysql -uzabbix -paA111111 zabbix < ./images.sql 
# mysql -uzabbix -paA111111 zabbix < ./data.sql

六、导入zabbix的WEB页面并修改目录权限


# cd ../../frontends/php/
# cp -R ./* /usr/local/nginx/html/
# cd /usr/local/nginx
# chown -R www:www html/

七、配置zabbix


7.1访问WEB页面

可以使用http://172.20.10.146/zabbix.php来访问,然后点击“Next step”进入下一步

7.2、处理报错,错误信息如下图所示:

**************************************************************错误处理如下**************************************************

提示:如果修改了php.ini文件重启之后修改的值未改变可能是由于“Loaded Configuration File  (none)”,可以参考《CentOS7.2环境源码编译安装Nginx-1.14.0》中的<8.3、测试是否成功>

复制php.ini文件到lib下

# cp /usr/local/php56/etc/php.ini /usr/local/php56/lib/

编辑配置文件:

# vim /usr/local/php56/lib/php.ini

错误一:

PHP option "post_max_size"

post_max_size = 8M修改为post_max_size = 16M

错误二:

PHP option "max_execution_time"

nmax_execution_time = 30修改为nmax_execution_time = 300

错误三:

max_input_time

max_input_time = 60修改为max_input_time = 300

错误四:

PHP option "date.timezone"

;date.timezone =修改为date.timezone = Asia/Shanghai

错误五:

PHP option "always_populate_raw_post_data"

;always_populate_raw_post_data = -1修改为always_populate_raw_post_data = -1

错误六:

PHP LDAP

# cd /tmp/php-5.6.36/ext/ldap
# /usr/local/php56/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
# ./configure --with-php-config=/usr/local/php56/bin/php-config  --with-ldap

报错如下:

configure: error: Cannot find ldap.h

处理方法如下:

# yum install -y openldap-devel

报错如下:

configure: error: Cannot find ldap libraries in /usr/lib.

处理方法如下:

# cp -frp /usr/lib64/libldap* /usr/lib/

完成之后显示如下:

然后输入以下命令:

# make && make install

完成之后显示如下:

然后编辑php.ini配置文件

# vim /usr/local/php56/lib/php.ini

添加如下:

extension=ldap.so

修改完成之后重启一下php-fpm然后强制刷新一下WEB页面即可

# service php-fpm restart

以下页面可以参考《CentOS7.2环境源码编译安装Nginx-1.14.0》中的<8.3、测试是否成功>,以上配置完成之后php.php文件中就应该显示如下图:

提示:如果重启出现"/usr/local/nginx/logs/nginx.pid",可以使用如下方法解决


*****************************************************************处理完成**************************************************

正常显示页面如下:

7.3、配置完成以上,然后点击“Next step”进入下一步,配置成如下图(上面的默认即可,只需要填写一下zabbix用户的密码):

7.4、点击“Download the configuration file”下载“zabbix.conf.php”文件,然后将此文件上传到“/usr/local/nginx/html/conf/”目录下,强制刷新一下WEB页面即可(或修改目录权限)。

八、修改zabbix的WEB界面为中文,点击右上角的人物图像


到此zabbix的WEB前端已经配置完成。

九、配置zabbix_server,zabbix_agentd


# cd /usr/local/zabbix/etc/
# vim zabbix_server.conf

********************************************zabbix_server修改如下配置文件**********************************

# DBHost=localhost

//取消前面的注释和空格

DBName=zabbix

//填写数据库名称(默认就是zabbix)

DBUser=zabbix

//填写数据库访问的帐号(默认就是zabbix用户)

# DBPassword=

//填写数据库zabbix所对应的密码(DBPassword=aA111111)

;DBSocket=/tmp/mysql.sock

//去掉前面的注释;

***************************************************完成********************************************************

# vim zabbix_agentd.conf

********************************************zabbix_agentd修改如下配置文件**********************************

Server=127.0.0.1(此为默认配置)

ServerActive=127.0.0.1(此为默认配置)

Hostname=Zabbix server(此为默认配置)

注意:监控zabbix server自己不需要修改以上配置项

***************************************************完成********************************************************

十、添加zabbix用户、指定zabbix_server和zabbix_agentd的启动配置文件、将zabbix_server和zabbix_agentd添加到chkconfig管理,将设置为开机自启动、启动zabbix_server和zabbix_agentd


10.1、添加zabbix用户

# useradd -u 8005 -M -s /sbin/nologin zabbix

10.2、将zabbix_server和zabbix_agentd添加到chkconfig管理,将设置为开机自启动

# cd /tmp/zabbix-3.4.10/misc/init.d/fedora/core
# cp zabbix_server /etc/init.d/
# cp zabbix_agentd /etc/init.d/
# vim /etc/init.d/zabbix_server

BASEDIR=/usr/local修改为BASEDIR=/usr/local/zabbix

# vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local修改为BASEDIR=/usr/local/zabbix

# chkconfig --add zabbix_server
# chkconfig --add zabbix_agentd
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on

配置完成检查一下,结果显示如下:

# chkconfig
注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
      如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
      欲查看对特定 target 启用的服务请执行
      'systemctl list-dependencies [target]'。
mysql           0:关    1:关    2:开    3:开    4:开    5:开    6:关
netconsole      0:关    1:关    2:关    3:关    4:关    5:关    6:关
network         0:关    1:关    2:开    3:开    4:开    5:开    6:关
nginx           0:关    1:关    2:开    3:开    4:开    5:开    6:关
php-fpm         0:关    1:关    2:开    3:开    4:开    5:开    6:关
zabbix_agentd   0:关    1:关    2:开    3:开    4:开    5:开    6:关
zabbix_server   0:关    1:关    2:开    3:开    4:开    5:开    6:关

10.3、指定zabbix_server和zabbix_agentd的启动配置文件

# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf

检查一下10051和10050端口是否启动

# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2392/php-fpm: maste
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7365/nginx: master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      823/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1920/master
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      9180/zabbix_agentd
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      8884/zabbix_server
tcp6       0      0 :::3306                 :::*                    LISTEN      1296/mysqld
tcp6       0      0 :::22                   :::*                    LISTEN      823/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1920/master

提示:如果发现没有10051端口,可以使用如下方法处理:

# tail -F /tmp/zabbix_server.log

查看此log文件是不是报"connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)",如果报此错误,去修改一下

# vim /usr/local/zabbix/etc/zabbix_server.conf
### Option: DBSocket
#       Path to MySQL socket.
#
# Mandatory: no
# Default:
# DBSocket=/tmp/mysql.sock

将配置文件中的# DBSocket=/tmp/mysql.sock修改为DBSocket=/tmp/mysql.sock

然后重新启动一下zabbix_server即可

# service zabbix_server restart

在看端口就起来了,zabbix_server.log也没有这个报错了。

到此zabbix的安装已全部结束,最终WEB页面如下图。

扫码打赏博主扫码打赏博主

如果你认为本站解决了您的问题或得到了帮助,请自愿打赏博主,谢谢支持!

最后编辑于:2018/8/5作者: 盛行

盛行

企业应用技术爱好者,喜欢分享知识。如果文章中有错误,欢迎指正,谢谢。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

加博主Q,请注明来意。

加博主Q,请注明来意。