CentOS 6.5 LNMP架构Zabbix 3.2.4监控端搭建

转载自:https://blog.csdn.net/traumerei/article/details/60962803


首先介绍一下本篇内容所用到系统版本及软件的版本:

系统版本:CentOS release 6.5 (Final) 2.6.32-573.22.1.el6.x86_64

注:在本篇搭建过程中,若出现软件编译失败请根据提示排查,由于命令是从word文档中整理好后复制到博客中,故可能在word中产生编译命令参数中的空格消失导致编译参数连在一起,或“-”号变为中文样式的“-”号,敬请谅解。

同时,建议在搭建过程中留意各服务的运行情况,在搭建过程中曾遇到过nginx安装完毕后能运行,但到测试phpinfo页面时不能启动,一时间找不到解决方法无奈之下重新编译又可运行的情况。


Nginx:1.9.9

下载地址:http://mirrors.sohu.com/nginx/nginx-1.9.9.tar.gz

 

Mysql:5.5.53

下载地址:http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.53.tar.gz

 

PHP:5.5.15

下载地址:http://mirrors.sohu.com/php/php-5.5.15.tar.gz

 

jpegsrc:V7

下载页面:http://download.chinaunix.net/download.php?id=10021&ResourceID=5095

下载地址:http://down1.chinaunix.net/distfiles/jpegsrc.v7.tar.gz

 

Freetype:2.3.5

下载页面:https://sourceforge.net/projects/freetype/files/freetype2/2.3.5/freetype-2.3.5.tar.gz/download

下载地址:https://nchc.dl.sourceforge.net/project/freetype/freetype2/2.3.5/freetype-2.3.5.tar.gz (建议导入浏览器中下载,Linux下载会失败)

 

libpng:1.2.18

下载地址:ftp://mirrors.kernel.org/slackware/slackware-12.0/source/l/libpng/libpng-1.2.18.tar.bz2

 

Zabbix:3.2.4

下载页面:https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.4/zabbix-3.2.4.tar.gz/download

下载地址:https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.2.4/zabbix-3.2.4.tar.gz (建议导入浏览器中下载,Linux下载会失败)

 

pcre:8.40

下载地址:http://ftp.exim.llorien.org/pcre/pcre-8.40.tar.gz


下面开始安装步骤

检查时间是否正确,时间若不正确则后面的Zabbix无法安装配置

[root@iZ28lzk7echZ ~]# date

若时间不正确则使用以下命令进行修改

[root@iZ28lzk7echZ ~]# date -s "2017-03-06 17:18:00"

把时间写入Bios

[root@iZ28lzk7echZ ~]#clock –w

其实也可以用ntp进行对时,再这里就不作描述了。


关闭防火墙

[root@iZ28lzk7echZ ~]# service iptables stop

[root@iZ28lzk7echZ ~]# setenforce 0


用yum安装基础包(此处使用阿里云yum源)

[root@iZ28lzk7echZ ~]# yum install -y gcc-c++ ncurses-devel gdbm-devel libxml2-devel openssl-devel lrzsz cmake make net-snmp-devel libcurl libcurl-devel


安装Nginx

在安装Nginx之前需要先解压pcre

[root@iZ28lzk7echZ ~]# tar xzvf pcre-8.40.tar.gz


解压pcre完成后即可安装Nginx,但在安装之前需要创建组和用户

[root@iZ28lzk7echZ ~]# groupadd www

[root@iZ28lzk7echZ ~]# useradd -g www www


安装Nginx

[root@iZ28lzk7echZ ~]# tar xzvf nginx-1.9.9.tar.gz

[root@iZ28lzk7echZ ~]# cd nginx-1.9.9

[root@iZ28lzk7echZ nginx-1.9.9]# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_realip_module --with-pcre=/root/pcre-8.40

编译通过随后进行安装

[root@iZ28lzk7echZ nginx-1.9.9]# make && make install

设置Nginx自启动

[root@iZ28lzk7echZ nginx-1.9.9]# vim /etc/init.d/nginx

把以下内容复制进去


#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf      ##标明红色的若安装nginx位置不一样请手动修改
nginxd=/usr/local/nginx/sbin/nginx 
nginx_config=/usr/local/nginx/conf/nginx.conf  
nginx_pid=/usr/local/nginx/logs/nginx.pid

RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /www/nginx/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL

保存并退出


设置运行权限

[root@iZ28lzk7echZ ~]# chmod 755 /etc/init.d/nginx

先测试文件能否启动nginx

[root@iZ28lzk7echZ init.d]# service nginx start
Starting nginx: [  OK  ]

打开浏览器,输入IP地址,确认nginx是否正常运行


OK,没问题,随后把nginx加入开机启动项即可

[root@iZ28lzk7echZ ~]# chkconfig nginx on


安装MySQL

创建组和用户

[root@iZ28lzk7echZ ~]# groupadd mysql

[root@iZ28lzk7echZ ~]# useradd -g mysql mysql

解压源码安装包进行安装

[root@iZ28lzk7echZ ~]# tar xzvf mysql-5.5.53.tar.gz

[root@iZ28lzk7echZ ~]# cd mysql-5.5.53

[root@iZ28lzk7echZ mysql-5.5.53]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_FEDERATED_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock -DWITH_DEBUG=0

编译通过后make && make install安装

[root@iZ28lzk7echZ mysql-5.5.53]# make && make install

安装mysql库

[root@iZ28lzk7echZ mysql-5.5.53]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --no-defaults

安装成功则显示以下信息

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system


PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:


/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h iZ28lzk7echZ password 'new-password'


Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation


which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.


See the manual for more instructions.


You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &


You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl


Please report any problems at http://bugs.mysql.com/


复制mysql启动文件到/etc/init.d目录下,并更名为mysqld

[root@iZ28lzk7echZ mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

复制mysql默认配置文件到/usr/local/mysql目录下,并更名为my.cnf

[root@iZ28lzk7echZ mysql]# cp /usr/local/mysql/support-files/my-innodb-heavy-4G.cnf /usr/local/mysql/my.cnf

修改my.cnf配置文件以下内容:

max_connections = 100 改为 max_connections = 5000
max_allowed_packet = 16M 改为 max_allowed_packet = 64M
default-storage-engine = MYISAM 改为 default-storage-engine = InnoDB
innodb_buffer_pool_size = 2G 改为 innodb_buffer_pool_size = 256M

在[mysqld]下添加以下内容:

character_set_server=utf8

slow_query_log=on

slow_query_log_file=/data/mysql/slow_query_log.log

lower_case_table_names=1

innodb_file_per_table=1

binlog-ignore-db=mysql

log-bin-trust-function-creators=1

skip-name-resolve

replicate-ignore-db=mysql,information_schema

replicate_wild_ignore_table=%.sync%

federated

log-slave-updates

sync_binlog=1

auto_increment_offset=1

auto_increment_increment=2

slave-skip-errors=all


保存并退出
设置mysql目录权限

[root@iZ28lzk7echZ mysql]# cd /usr/local/
[root@iZ28lzk7echZ local]# chown -R mysql.mysql mysql

更改/etc目录下默认的my.cnf文件文件名使文件失效

[root@iZ28lzk7echZ local]# cd /etc
[root@iZ28lzk7echZ etc]# mv my.cnf my.cnf.bk

启动mysql

[root@iZ28lzk7echZ etc]# /etc/init.d/mysqld start
Starting MySQL.........................[  OK  ]

登录mysql

安装后,mysql root用户默认是没有密码的,可直接登录

[root@iZ28lzk7echZ ~]# /usr/local/mysql/bin/mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.53-log Source distribution


Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> 

登录mysql后首先第一件事就是更改root用户密码
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A



Database changed
mysql> UPDATE user SET Password=PASSWORD('traumereis') where user='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4  Changed: 4  Warnings: 0

授权root用户通过其他数据库管理软件进行远程登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'traumereis' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

添加Zabbix用户

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec)
授权zabbix用户通过其他数据库管理软件进行远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

创建Zabbix数据库

mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.01 sec)

更新许可权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

查看mysql用户
mysql> select user,host,password from mysql.user;
+--------+--------------+-------------------------------------------+
| user   | host         | password                                  |
+--------+--------------+-------------------------------------------+
| root   | localhost    | *83383E06DD0BD226F8EFB26BFE68EB812CAA12E4 |
| root   | iz28lzk7echz | *83383E06DD0BD226F8EFB26BFE68EB812CAA12E4 |
| root   | 127.0.0.1    | *83383E06DD0BD226F8EFB26BFE68EB812CAA12E4 |
| root   | ::1          | *83383E06DD0BD226F8EFB26BFE68EB812CAA12E4 |
|        | localhost    |                                           |
|        | iz28lzk7echz |                                           |
| root   | %            | *83383E06DD0BD226F8EFB26BFE68EB812CAA12E4 |
zabbix | localhost    | *DEEF4D7D88CD046ECA02A80393B7780A63E7E789 |
| zabbix | %            | *DEEF4D7D88CD046ECA02A80393B7780A63E7E789 |

+--------+--------------+-------------------------------------------+
9 rows in set (0.00 sec)

查看Zabbix数据库是否创建

mysql> show create database zabbix;
+----------+----------------------------------------------------------------------------------+
| Database | Create Database                                                                  |
+----------+----------------------------------------------------------------------------------+
zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */ |
+----------+----------------------------------------------------------------------------------+
1 row in set (0.02 sec)

到此mysql就设置完毕


安装PHP

先安装jpegsrc、libpng和freetype这三个软件

[root@iZ28lzk7echZ ~]# tar xzvf jpegsrc.v7.tar.gz

[root@iZ28lzk7echZ ~]# cd jpeg-7/

[root@iZ28lzk7echZ jpeg-7]# ./configure &&make && make install

[root@iZ28lzk7echZ jpeg-7]# cd

[root@iZ28lzk7echZ ~]# tar jxvf libpng-1.2.18.tar.bz2 

[root@iZ28lzk7echZ ~]# cd libpng-1.2.18

[root@iZ28lzk7echZ libpng-1.2.18]# ./configure && make && make install

[root@iZ28lzk7echZ libpng-1.2.18]# cd

[root@iZ28lzk7echZ ~]# tar xzvf freetype-2.3.5.tar.gz

[root@iZ28lzk7echZ freetype-2.3.5]# mkdir -pv /usr/local/include/freetype2/freetype/internal##创建freetype安装所需目录
mkdir: created directory `/usr/local/include/freetype2'
mkdir: created directory `/usr/local/include/freetype2/freetype'
mkdir: created directory `/usr/local/include/freetype2/freetype/internal'

[root@iZ28lzk7echZ freetype-2.3.5]# ./configure && make && make install

安装好以上三个软件后就可以开始安装php

[root@iZ28lzk7echZ freetype-2.3.5]# cd

[root@iZ28lzk7echZ ~]# tar xzvf php-5.5.15.tar.gz

[root@iZ28lzk7echZ ~]# cd php-5.5.15

[root@iZ28lzk7echZ php-5.5.15]# ./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-mysql=/usr/local/mysql --enable-debug --enable-exif --enable-ftp --enable-mbstring --enable-sockets --enable-maintainer-zts --with-zlib-dir --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-kerberos --with-freetype-dir=/usr --with-gd --enable-gd-native-ttf --with-gdbm --with-gettext --with-iconv --enable-calendar --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-bcmath --enable-fpm

[root@iZ28lzk7echZ php-5.5.15]# make && make install

复制源安装包下的默认php.ini文件到/etc目录下

[root@iZ28lzk7echZ php-5.5.15]# cp php.ini-development /etc/php.ini

修改/etc/php.ini配置文件以下内容

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

post_max_size = 8M 改为 post_max_size = 32M

max_execution_time = 30 改为 max_execution_time = 300

max_input_time = 60 改为 max_input_time = 300

;always_populate_raw_post_data = On 改为 always_populate_raw_post_data = -1

以上修改的内容都是根据Zabbix运行的配置要求而设置的

随后,再检查以下php是否安装正确

[root@iZ28lzk7echZ php-5.5.15]# /usr/local/php/bin/php -v
PHP 5.5.15 (cli) (built: Mar 11 2017 09:36:13) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

能识别出版本之后接下来就需要设置Nginx对PHP的支持

需要说明的是,LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求。而php需要php-fpm这个组件提供该功能。经查询资料和测试,php5.3.3及以前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3以后只需在编译安装时末尾在上--enable-fpm即可使用该模块。

首先需要把php默认的php-fpm.conf文件更改文件名以启用配置

[root@iZ28lzk7echZ ~]# cd /usr/local/php/etc/

[root@iZ28lzk7echZ etc]# cp -a php-fpm.conf.default php-fpm.conf

修改php-fpm.ini文件以下内容

;pid = run/php-fpm.pid 改为 pid = /usr/local/php/var/run/php-fpm.pid##此处保险起见我将它改为绝对路径,因为这个地方测试就试过关不了php-fpm

启动php-fpm

[root@iZ28lzk7echZ etc]# /usr/local/php/sbin/php-fpm

随后使用ps命令检查php是否启动成功

[root@iZ28lzk7echZ php-5.5.15]# ps -ef | grep php
root     31771     1  0 09:53 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody   31772 31771  0 09:53 ?        00:00:00 php-fpm: pool www          
nobody   31773 31771  0 09:53 ?        00:00:00 php-fpm: pool www          
root     31776 18926  0 09:55 pts/0    00:00:00 grep php

直接使用killall命令把php给强关了,否则后面配置了开机启动项也会老down不掉php

[root@iZ28lzk7echZ etc]# killall php-fpm

确定启动成功后,把php-fpm设置为开机启动项

[root@iZ28lzk7echZ etc]# cd /root/php-5.5.15

[root@iZ28lzk7echZ php-5.5.15]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

给予php-fpm执行权限

[root@iZ28lzk7echZ init.d]# chmod a+x php-fpm 

检查权限是否设置正确

[root@iZ28lzk7echZ init.d]# ll php-fpm 
-rwxr-xr-x 1 root root 2354 Mar 11 09:55 php-fpm

权限设置正确后,需要在/usr/local/php/var/run目录下创建php-fpm.pid文件,否则在启动和关闭时会出现如下报错:

[root@iZ28lzk7echZ init.d]# /etc/init.d/php-fpm start
Starting php-fpm [11-Mar-2017 10:00:11] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[11-Mar-2017 10:00:11] ERROR: FPM initialization failed
 failed

[root@iZ28lzk7echZ init.d]# /etc/init.d/php-fpm stop
Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?

创建php-fpm.pid文件

[root@iZ28lzk7echZ init.d]# cd /usr/local/php/var/run/

[root@iZ28lzk7echZ run]# touch php-fpm.pid

设置完以上步骤后测试用service命令能否启动php-fpm

[root@iZ28lzk7echZ etc]# /etc/init.d/php-fpm start
Starting php-fpm  done

检查php程序和端口是否真的启动成功

[root@iZ28lzk7echZ etc]# ps -ef | grep php
root     17400     1  0 10:39 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)                                                                    
nobody   17401 17400  0 10:39 ?        00:00:00 php-fpm: pool www                                                                                                            
nobody   17402 17400  0 10:39 ?        00:00:00 php-fpm: pool www                                                                                                            
root     17408   995  0 10:40 pts/1    00:00:00 grep php

[root@iZ28lzk7echZ etc]# netstat -tunlp | grep 9000
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      17400/php-fpm

测试service命令能否关闭php-fpm

[root@iZ28lzk7echZ etc]# /etc/init.d/php-fpm stop
Gracefully shutting down php-fpm . done

OK,无问题后可设置开机自启动并重新启动

[root@iZ28lzk7echZ etc]# chkconfig --add php-fpm && chkconfig php-fpm on && service php-fpm start


接下来配置Nginx对PHP的支持

修改/usr/local/nginx/conf/nginx.conf以下内容

#
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

改为

location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

保存并退出

在/usr/local/nginx/html目录下添加php测试网页代码

[root@iZ28lzk7echZ conf]# echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/index.php

[root@iZ28lzk7echZ conf]# cat /usr/local/nginx/html/index.php 
<?php phpinfo(); ?>

重启nginx

[root@iZ28lzk7echZ conf]# service nginx restart
Stopping nginx: [  OK  ]
Starting nginx: [  OK  ]

打开浏览器输入http://IP地址/index.php查看是否能显示出php的版本信息,出现以下页面即算成功



安装Zabbix

[root@iZ28lzk7echZ ~]# tar xzvf zabbix-3.2.4.tar.gz

[root@iZ28lzk7echZ ~]# cd zabbix-3.2.4

首先把Zabbix所需数据库数据导入mysql中

[root@iZ28lzk7echZ zabbix-3.2.4]# /usr/local/mysql/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

[root@iZ28lzk7echZ zabbix-3.2.4]# /usr/local/mysql/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql

[root@iZ28lzk7echZ zabbix-3.2.4]# /usr/local/mysql/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

继而开始编译安装

[root@iZ28lzk7echZ zabbix-3.2.4]# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix/ --enable-server --with-net-snmp --with-libcurl --with-mysql=/usr/local/mysql/bin/mysql_config --with-libxml2

[root@iZ28lzk7echZ zabbix-3.2.4]# make && make install

修改/etc/zabbix/zabbix_server.conf以下内容

DBPassword= 改为 DBPassword=zabbix

# ListenIP=0.0.0.0 改为 ListenIP=0.0.0.0

生成软链接

[root@iZ28lzk7echZ zabbix-3.2.4]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

把Zabbix的启动文件复制到/etc/init.d目录下

[root@iZ28lzk7echZ zabbix-3.2.4]# cp misc/init.d/fedora/core/zabbix_* /etc/init.d/

增加运行权限

[root@iZ28lzk7echZ zabbix-3.2.4]# cd /etc/init.d

[root@iZ28lzk7echZ init.d]# chmod a+x zabbix_*

对Zabbix启动文件写入Zabbix的软件目录

[root@iZ28lzk7echZ init.d]# sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_server##此处若Zabbix安装位置不同请自行更改

复制Zabbix网页内容

先在Nginx中新建目录

[root@iZ28lzk7echZ zabbix-3.2.4]# mkdir /usr/local/nginx/html/zabbix

复制Zabbix网页文件

[root@iZ28lzk7echZ zabbix-3.2.4]# cp -r frontends/php/* /usr/local/nginx/html/zabbix/

查看文件是否复制成功

[root@iZ28lzk7echZ zabbix-3.2.4]# ll -shrt /usr/local/nginx/html/zabbix/

total 1.2M
8.0K -rw-r--r--  1 root root 4.3K Mar 11 11:40 adm.iconmapping.php
8.0K -rw-r--r--  1 root root 7.0K Mar 11 11:40 adm.housekeeper.php
8.0K -rw-r--r--  1 root root 4.4K Mar 11 11:40 adm.gui.php
 32K -rw-r--r--  1 root root  29K Mar 11 11:40 actionconf.php
4.0K -rw-r--r--  1 root root 2.3K Mar 11 11:40 api_jsonrpc.php
4.0K -rw-r--r--  1 root root 1.9K Mar 11 11:40 adm.workingtime.php
8.0K -rw-r--r--  1 root root 6.3K Mar 11 11:40 adm.valuemapping.php
8.0K -rw-r--r--  1 root root 5.0K Mar 11 11:40 adm.triggerseverities.php
8.0K -rw-r--r--  1 root root 4.4K Mar 11 11:40 adm.triggerdisplayoptions.php
8.0K -rw-r--r--  1 root root 7.7K Mar 11 11:40 adm.regexps.php
4.0K -rw-r--r--  1 root root 3.6K Mar 11 11:40 adm.other.php
4.0K -rw-r--r--  1 root root 3.3K Mar 11 11:40 adm.macros.php
8.0K -rw-r--r--  1 root root 4.4K Mar 11 11:40 adm.images.php
4.0K drwxr-xr-x  4 root root 4.0K Mar 11 11:40 app

8.0K -rw-r--r--  1 root root 6.1K Mar 11 11:40 dashconf.php
 20K -rw-r--r--  1 root root  17K Mar 11 11:40 correlation.php
8.0K -rw-r--r--  1 root root 7.1K Mar 11 11:40 conf.import.php
4.0K drwxr-xr-x  2 root root 4.0K Mar 11 11:40 conf
4.0K -rw-r--r--  1 root root 3.6K Mar 11 11:40 charts.php
4.0K -rw-r--r--  1 root root 3.6K Mar 11 11:40 chart.php
4.0K -rw-r--r--  1 root root 3.3K Mar 11 11:40 chart7.php
4.0K -rw-r--r--  1 root root 3.4K Mar 11 11:40 chart6.php
8.0K -rw-r--r--  1 root root 6.1K Mar 11 11:40 chart5.php
8.0K -rw-r--r--  1 root root 5.5K Mar 11 11:40 chart4.php
8.0K -rw-r--r--  1 root root 5.9K Mar 11 11:40 chart3.php
4.0K -rw-r--r--  1 root root 3.9K Mar 11 11:40 chart2.php
4.0K -rw-r--r--  1 root root 1.2K Mar 11 11:40 browserwarning.php
8.0K -rw-r--r--  1 root root 7.8K Mar 11 11:40 authentication.php
8.0K -rw-r--r--  1 root root 5.8K Mar 11 11:40 auditlogs.php
8.0K -rw-r--r--  1 root root 5.2K Mar 11 11:40 auditacts.php
4.0K drwxr-xr-x  2 root root 4.0K Mar 11 11:40 audio
 16K -rw-r--r--  1 root root  13K Mar 11 11:40 applications.php
 20K -rw-r--r--  1 root root  18K Mar 11 11:40 host_discovery.php
8.0K -rw-r--r--  1 root root 4.4K Mar 11 11:40 history.php
 24K -rw-r--r--  1 root root  23K Mar 11 11:40 graphs.php
4.0K drwxr-xr-x  2 root root 4.0K Mar 11 11:40 fonts
 36K -rw-r--r--  1 root root  33K Mar 11 11:40 favicon.ico
 24K -rw-r--r--  1 root root  22K Mar 11 11:40 disc_prototypes.php
 12K -rw-r--r--  1 root root  12K Mar 11 11:40 discoveryconf.php
4.0K -rw-r--r--  1 root root 3.2K Mar 11 11:40 imgstore.php
4.0K drwxr-xr-x  2 root root 4.0K Mar 11 11:40 img
4.0K drwxr-xr-x  3 root root 4.0K Mar 11 11:40 images
4.0K -rw-r--r--  1 root root 1.9K Mar 11 11:40 image.php
8.0K -rw-r--r--  1 root root 6.7K Mar 11 11:40 httpdetails.php
 28K -rw-r--r--  1 root root  25K Mar 11 11:40 httpconf.php
 36K -rw-r--r--  1 root root  36K Mar 11 11:40 hosts.php
4.0K -rw-r--r--  1 root root 3.7K Mar 11 11:40 host_screen.php
 16K -rw-r--r--  1 root root  15K Mar 11 11:40 host_prototypes.php
 12K -rw-r--r--  1 root root 8.3K Mar 11 11:40 hostinventories.php
8.0K -rw-r--r--  1 root root 5.1K Mar 11 11:40 hostinventoriesoverview.php
 16K -rw-r--r--  1 root root  13K Mar 11 11:40 hostgroups.php
 60K -rw-r--r--  1 root root  60K Mar 11 11:40 items.php
4.0K -rw-r--r--  1 root root 3.6K Mar 11 11:40 index.php
4.0K drwxr-xr-x  4 root root 4.0K Mar 11 11:40 include
4.0K drwxr-xr-x  3 root root 4.0K Mar 11 11:40 local
 28K -rw-r--r--  1 root root  25K Mar 11 11:40 latest.php
 12K -rw-r--r--  1 root root  12K Mar 11 11:40 jsrpc.php
 12K -rw-r--r--  1 root root 9.4K Mar 11 11:40 jsLoader.php
4.0K drwxr-xr-x  4 root root 4.0K Mar 11 11:40 js
4.0K drwxr-xr-x 33 root root 4.0K Mar 11 11:40 locale
8.0K -rw-r--r--  1 root root 7.9K Mar 11 11:40 report4.php
 20K -rw-r--r--  1 root root  17K Mar 11 11:40 report2.php
 12K -rw-r--r--  1 root root 8.1K Mar 11 11:40 queue.php
8.0K -rw-r--r--  1 root root 7.1K Mar 11 11:40 profile.php
4.0K -rw-r--r--  1 root root 3.0K Mar 11 11:40 popup_usrgrp.php
 28K -rw-r--r--  1 root root  26K Mar 11 11:40 popup_trexpr.php
 52K -rw-r--r--  1 root root  51K Mar 11 11:40 popup.php
8.0K -rw-r--r--  1 root root 5.2K Mar 11 11:40 popup_media.php
4.0K -rw-r--r--  1 root root 2.7K Mar 11 11:40 popup_httpstep.php
 12K -rw-r--r--  1 root root 9.6K Mar 11 11:40 overview.php
8.0K -rw-r--r--  1 root root 5.8K Mar 11 11:40 map.php
8.0K -rw-r--r--  1 root root 7.1K Mar 11 11:40 map.import.php
 24K -rw-r--r--  1 root root  21K Mar 11 11:40 maintenance.php
8.0K -rw-r--r--  1 root root 5.5K Mar 11 11:40 tr_testexpr.php
 28K -rw-r--r--  1 root root  25K Mar 11 11:40 tr_status.php
 16K -rw-r--r--  1 root root  13K Mar 11 11:40 tr_logform.php
 28K -rw-r--r--  1 root root  27K Mar 11 11:40 triggers.php
 24K -rw-r--r--  1 root root  23K Mar 11 11:40 trigger_prototypes.php
8.0K -rw-r--r--  1 root root 5.9K Mar 11 11:40 tr_events.php
4.0K -rw-r--r--  1 root root 2.7K Mar 11 11:40 tr_comments.php
8.0K -rw-r--r--  1 root root 7.3K Mar 11 11:40 toptriggers.php
 20K -rw-r--r--  1 root root  19K Mar 11 11:40 templates.php
 16K -rw-r--r--  1 root root  15K Mar 11 11:40 sysmaps.php
8.0K -rw-r--r--  1 root root 5.7K Mar 11 11:40 sysmap.php
4.0K drwxr-xr-x  2 root root 4.0K Mar 11 11:40 styles
8.0K -rw-r--r--  1 root root 5.2K Mar 11 11:40 srv_status.php
8.0K -rw-r--r--  1 root root 6.6K Mar 11 11:40 slides.php
 16K -rw-r--r--  1 root root  13K Mar 11 11:40 slideconf.php
8.0K -rw-r--r--  1 root root 4.2K Mar 11 11:40 setup.php
 20K -rw-r--r--  1 root root  17K Mar 11 11:40 services.php
 16K -rw-r--r--  1 root root  14K Mar 11 11:40 search.php
4.0K -rw-r--r--  1 root root 2.4K Mar 11 11:40 scripts_exec.php
8.0K -rw-r--r--  1 root root 4.4K Mar 11 11:40 screens.php
8.0K -rw-r--r--  1 root root 7.1K Mar 11 11:40 screen.import.php
 12K -rw-r--r--  1 root root  11K Mar 11 11:40 screenedit.php
 16K -rw-r--r--  1 root root  13K Mar 11 11:40 screenconf.php
4.0K -rw-r--r--  1 root root  974 Mar 11 11:40 robots.txt
4.0K -rw-r--r--  1 root root  841 Mar 11 11:40 zabbix.php
 16K -rw-r--r--  1 root root  16K Mar 11 11:40 users.php
 16K -rw-r--r--  1 root root  15K Mar 11 11:40 usergrps.php

OK,复制成功后设置Zabbix网页目录权限

[root@iZ28lzk7echZ zabbix-3.2.4]# chown -R root.root /usr/local/nginx/html/zabbix

设置Zabbix开机自启动

[root@iZ28lzk7echZ zabbix-3.2.4]# chkconfig --add zabbix_server

[root@iZ28lzk7echZ zabbix-3.2.4]# chkconfig zabbix_server on

启动Zabbix

首先要把/usr/local/mysql/lib/libmysqlclient.so.18配置文件软链接到 /usr/lib64目录下,否则会出现以下启动报错:

[root@iZ28lzk7echZ zabbix-3.2.4]# service zabbix_server start
Starting zabbix_server:  /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[FAILED]

[root@iZ28lzk7echZ zabbix-3.2.4]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

重新启动Zabbix

[root@iZ28lzk7echZ zabbix-3.2.4]# service zabbix_server start
Starting zabbix_server:  [  OK  ]

在浏览器中输入IP地址/zabbix/setup.php,若一切配置正确的话在Check of pre-requisites页面则显示全部配置正确通过,如以下页面:


在Configure DB connection页面中,Database host可直接默认localhost亦可填写IP地址,Database port若不确认可直接默认为0,亦可根据自身需求进行更改端口号,Password则填写刚在数据库中创建Zabbix账号的密码,在本例中密码为zabbix


在Zabbix server details页面中,Host同样可默认为localhost亦可填写IP地址,Port默认为10051就好,若修改了端口号亦可修改,Name随意即可


在Pre-installation summary页面中,确认刚填写的信息,无误即可点击Next step


在页面中,出现如下图的错误信息,提示无法创建配置文件,我们可从下方所提供的网址中下载配置文件后导入/usr/local/nginx/html/zabbix/conf并更名为zabbix.conf.php即可

注意:此文件最好在电脑上下载后再上传到linux服务器中,在linux使用wget命令似乎不能下载


下载完毕后,先定位到/usr/local/nginx/html/zabbix/conf目录,随后使用rz命令上传配置文件

[root@iZ28lzk7echZ ~]# cd /usr/local/nginx/html/zabbix/conf
[root@iZ28lzk7echZ conf]# rz

rz waiting to receive.
 zmodem trl+C ȡ


  100%     431 bytes  431 bytes/s 00:00:01       0 Errors

此时再点击Finsh按钮即可完成安装,显示如下页面,同样点击Finish即可进入登录界面


输入账号和密码登录,默认账号为Admin,密码为zabbix


登录后点击右上角小人图标,如下图所示


点击Language选择Chinese(Zn_CN)更改为中文语言,同时亦可在Change Password处更改密码,更改如下图所示


设置完成后点击Update页面会自动跳到Zabbix仪表板并显示中文,如下图所示:


至此,LNMP架构的Zabbix监控端搭建完毕。

被监控主机的增加及其他监控项的增加日后抽空更新。

猜你喜欢

转载自blog.csdn.net/qq_40460909/article/details/80625648