zabbix3.2.3的安装

第1章 zabbix的安装前置

安装zabbix,本文档采用如下环境安装。

1.1 zabbix的环境说明

本次zabbix采用的LNMP环境由如下版本的软件完成。

系统为CentOS6.8

软件

版本号

nginx

1.8.1

MySQL

5.6.32

php

5.6.17

扫描二维码关注公众号,回复: 2618138 查看本文章

zabbix

3.2.3

   

系统中所有工具均放在/tools目录下,安装软件都安装在/application目录下,所有脚本文件均统一存放在/server/scripts目录下。如果没有,请自行创建以上这些目录。

1.2 搭建LNMP环境

1.2.1 安装nginx-1.8.1

1.2.1.1  安装nginx所必须要的依赖包

[root@zabbix ~]# yum install pcre pcre-devel openssl openssl-devel libxml2-devel libxslt-devel gd gd-devel GeoIP GeoIP-devel GeoIP-data -y

由于我们最终安装的是zabbix,所以安装高一点版本的nginx。我们需要在编译Nginx的时候添加很多模块,所以安装的依赖包相对的多了点。

1.2.1.2 创建nginx的管理账户

[root@zabbix ~]# useradd -s /sbin/nologin -M www

1.2.1.3 进入到tools目录解压nginx软件

[root@zabbix ~]# cd /tools
[root@zabbix tools]# tar xf nginx-1.8.1.tar.gz 
[root@zabbix tools]# cd nginx-1.8.1
[root@zabbix nginx-1.8.1]#

1.2.1.4 创建以下文件夹

[root@zabbix nginx-1.8.1]# mkdir -p /application/nginx-1.8.1/nginx/tmp/client
[root@zabbix nginx-1.8.1]# mkdir -p /application/nginx-1.8.1/nginx/tmp/proxy
[root@zabbix nginx-1.8.1]# mkdir -p /application/nginx-1.8.1/nginx/tmp/fcgi
[root@zabbix nginx-1.8.1]# mkdir -p /application/nginx-1.8.1/nginx/tmp/uwsgi
[root@zabbix nginx-1.8.1]# mkdir -p /application/nginx-1.8.1/nginx/tmp/scgi

用于存放模组产生的临时文件。这一步中的文件目录只要自己设定即可,因为接下来的编译配置,就使用这个路径了。

1.2.1.5 编译安装nginx模组

[root@zabbix nginx-1.8.1]#  ./configure --user=www --group=www --prefix=/application/nginx-1.8.1 --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --http-client-body-temp-path=/application/nginx-1.8.1/nginx/tmp/client --http-proxy-temp-path=/application/nginx-1.8.1/nginx/tmp/proxy/ --http-fastcgi-temp-path=/application/nginx-1.8.1/nginx/tmp/fcgi --http-uwsgi-temp-path=/application/nginx-1.8.1/nginx/tmp/uwsgi --http-scgi-temp-path=/application/nginx-1.8.1/nginx/tmp/scgi --with-pcre

请注意:--with-http_spdy_module在Nginx-1.9.5版本之后改成了--with-http_v2_module模组。

1.2.1.6 make安装

[root@zabbix nginx-1.8.1]# make && make install

1.2.1.7 对nginx安装目录创建软链接

[root@zabbix nginx-1.8.1]# ln -s /application/nginx-1.8.1 /application/nginx

1.2.1.8 检查目录是否安装正确

[root@zabbix application]# ll /application/
total 4
lrwxrwxrwx 1 root root 27 May 5 15:27 nginx -> /application/nginx-1.8.1/
drwxr-xr-x 7 root root 4096 May 5 15:26 nginx-1.8.1

1.2.1.9 启动nginx服务并检查服务开启状态

[root@zabbix application]# /application/nginx/sbin/nginx
[root@zabbix application]# netstat -lntup|grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4191/nginx

1.2.2 安装MySQL-5.6.35

1.2.2.1 安装MySQL-5.6.35所必备的依赖包

[root@zabbix tools]# yum install ncurses-devel libaio-devel cmake -y

1.2.2.2 创建管理MySQL数据库的用户

[root@zabbix mysql-5.6.35]# useradd -s /sbin/nologin -M mysql

1.2.2.3 进入到tools目录解压MySQL软件

[root@zabbix ~]# cd /tools/
[root@zabbix tools]# tar xf mysql-5.6.35.tar.gz 
[root@zabbix tools]# cd mysql-5.6.35
[root@zabbix mysql-5.6.35]#

1.2.2.4 编译cmake配置参数

[root@zabbix mysql-5.6.35]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.35 -DMYSQL_DATADIR=/application/mysql-5.6.35/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.35/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0

注意:在MySQL5.6.35中一定要去掉这个参数-DWITHOUT_PARTITION_STORAGE_ENGINE=1,不然在安装过程中到63%就会出错!

1.2.2.5 开始执行安装

[root@zabbix mysql-5.6.35]# make && make install && cd ..

这个步骤很漫长,请耐性等待…

初始化数据库步骤

1.2.2.6 创建MySQL安装目录的软链接

[root@zabbix mysql-5.6.35]# ln -s /application/mysql-5.6.35/ /application/mysql

1.2.2.7 初始化MySQL配置

[root@zabbix mysql-5.6.35]# cd /application/mysql
[root@zabbix mysql]# ./scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

1.2.2.8 授权MySQL整个目录的权限

[root@zabbix mysql-5.6.35]# chown -R mysql.mysql /application/mysql/

1.2.2.9 复制并备份一份服务脚本

[root@zabbix mysql]# mv /etc/my.cnf /etc/my.cnf.bak

1.2.2.10 编辑/etc/my.cnf文件

[root@zabbix mysql]# vim /etc/my.cnf
[mysqld]
socket = /application/mysql/mysql.sock
basedir = /application/mysql/
datadir = /application/mysql/data/
pid-file = /application/mysql/data/mysql/mysql.pid
user = mysql

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/application/mysql/data/mysql/mysql.pid

[client]
default-character-set=utf8
socket = /application/mysql/mysql.sock

注意:此步很坑,如果MySQL起不来,罪魁祸首首先先排查这个文件中的安装路径。修改我们自己安装数据库的路径。

1.2.2.11 修改mysql.server文件中的MySQL默认的安装路径

[root@zabbix mysql]# sed -i 's#/usr/local/#/application/#g' support-files/mysql.server

1.2.2.12 复制mysql.server到/etc/init.d目录下

[root@zabbix mysql]# \cp support-files/mysql.server /etc/init.d/mysqld

1.2.2.13 修改mysql_safe文件中默认的安装路径

[root@zabbix mysql]# sed -i 's#/usr/local/#/application/#g' bin/mysqld_safe

1.2.2.14 MySQL加入到开机自启动服务

[root@zabbix mysql]# chkconfig --add mysqld

1.2.2.15 开启MySQL服务

最后出现开启提示,检查端口是否正确

[root@zabbix mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@zabbix mysql]# netstat -lntup|grep mysql
tcp 0 0 :::3306 :::* LISTEN 59010/mysqld

1.2.2.16 设定mysql命令变量

[root@zabbix mysql]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@zabbix mysql]# . /etc/profile
[root@zabbix mysql]# echo $PATH
/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

注意:这个路径/application/mysql/bin:一定要在原来PATH变量的前面,如果加在后面可能会出现错误!

1.2.3 安装php-5.6.17

1.2.3.1 安装php软件相对应的各种依赖包(lib库)

[root@zabbix tools]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt -y

1.2.3.2 手工安装libiconv-devel包

[root@zabbix ~]# cd /tools/
[root@zabbix tools]# tar xf libiconv-1.14.tar.gz 
[root@zabbix tools]# cd libiconv-1.14
[root@zabbix libiconv-1.14]# ./configure --prefix=/usr/local/libiconv
[root@zabbix libiconv-1.14]# make && make install && cd ../

1.2.3.3 安装php5.6.17

[root@zabbix tools]# tar xf php-5.6.17.tar.gz
[root@zabbix tools]# cd php-5.6.17

1.2.3.4 配置php参数

[root@zabbix php-5.6.17]# ./configure --prefix=/application/php-5.6.17 --with-mysql=/application/mysql/ --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no

1.2.3.5 建立一个软链接防止PHP出现BUG错误

[root@zabbix php-5.6.17]# ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@zabbix php-5.6.17]# touch ext/phar/phar.phar

1.2.3.6 开始进行编译安装

[root@zabbix php-5.6.17]# make
[root@zabbix php-5.6.17]# make install

1.2.3.7 创建php安装目录的软链接

[root@zabbix application]# ln -s /application/php-5.6.17/ /application/php

php配置步骤

1.2.3.8 调整PHP解析器的配置文件

[root@zabbix php-5.6.17]# cp php.ini-production /application/php/lib/php.ini

1.2.3.9 配置PHP服务

配置文件为php-fpm.conf,关于php-fpm.conf文件,暂时可用默认的配置,先把服务搭好!它可以配置一些PHP进程的数量、操作时间、进程个数等设定。

[root@zabbix php-5.6.17]# cd /application/php/etc
[root@zabbix etc]# cp php-fpm.conf.default php-fpm.conf

1.2.3.10 启动php服务,并检查服务是否开启

[root@zabbix etc]# /application/php/sbin/php-fpm
[root@zabbix etc]# lsof -i:9000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 50113 root    7u  IPv4 194499      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 50114  www    0u  IPv4 194499      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 50115  www    0u  IPv4 194499      0t0  TCP localhost:cslistener (LISTEN)

第2章 安装zabbix

2.1 安装zabbix需要用到的依赖包

[root@zabbix tools]# yum -y install fping net-snmp-devel unixODBC-devel openssl-devel  OpenIPMI-devel java-devel

2.2 添加zabbix账户

[root@zabbix tools]# useradd -s /sbin/nologin -M zabbix

2.3 解压配置zabbix软件

[root@zabbix tools]# tar xf zabbix-3.2.3.tar.gz 
[root@zabbix tools]# cd zabbix-3.2.3
[root@zabbix zabbix-3.2.3]# ./configure --prefix=/application/zabbix-3.2.3 --enable-server --enable-agent --enable-java --enable-ipv6 --with-mysql=/application/mysql-5.6.35/bin/mysql_config  --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-openssl

2.4 make install安装

这里不需要使用make命令,直接使用make install即可!

[root@zabbix zabbix-3.2.3]# make install

2.5 建立zabbix软件的软链接

[root@zabbix zabbix-3.2.3]# ln -s /application/zabbix-3.2.3/ /application/zabbix

2.6 配置zabbix

2.6.1 配置zabbix数据库

2.6.1.1 设定mysql数据库的登录密码

[root@zabbix mysql]# mysqladmin -uroot password '123456'
Warning: Using a password on the command line interface can be insecure.

出现的警告无视即可!

2.6.1.2 登录数据库并创建zabbix数据库

登陆之后首先删除默认的test数据库。

[root@zabbix ~]# mysql -uroot -p123456
mysql> drop database test;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> create database zabbix character set utf8 collate utf8_bin;      
Query OK, 1 row affected (0.00 sec)

2.6.1.3 对数据库进行授权作业并刷新权限

mysql> grant all on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2.6.1.4 导入数据库信息

注意:这里导入的信息是有先后顺序的,不能随意!请一条条的复制导入,不要偷懒。

mysql> use zabbix;
Database changed
mysql> source /tools/zabbix-3.2.3/database/mysql/schema.sql  # 表结构,首先导入。
mysql> source /tools/zabbix-3.2.3/database/mysql/images.sql  # 图形,其次导入。
mysql> source /tools/zabbix-3.2.3/database/mysql/data.sql  # 数据,最后导入。
当然这里如果我们不进入数据库,在bash命令环境下也可以导入信息。
[root@zabbix ~]# mysql -uroot zabbix </tools/zabbix-3.2.3/database/mysql/schema.sql
[root@zabbix ~]# mysql -uroot zabbix </tools/zabbix-3.2.3/database/mysql/images.sql
[root@zabbix ~]# mysql -uroot zabbix </tools/zabbix-3.2.3/database/mysql/data.sql

2.6.2 配置Nginx

2.6.2.1 建立一个zabbix的页面目录

[root@zabbix ~]# mkdir -p /application/nginx/html/zabbix

2.6.2.2 复制zabbix源码包内所有的内容

[root@zabbix ~]# cd /tools/zabbix-3.2.3
[root@zabbix zabbix-3.2.3]# cp -a /tools/zabbix-3.2.3/frontends/php/* /application/nginx/html/zabbix/

2.6.2.3 授权zabbix页面目录的权限

[root@zabbix zabbix-3.2.3]# chown -R www.www /application/nginx/html/zabbix/

2.6.2.4 对zabbix配置nginx.conf文件

请执行命令前注意备份你现在使用的Nginx配置文件!

[root@zabbix zabbix-3.2.3]# cat >/application/nginx/conf/nginx.conf<<EOF
worker_processes  1;
events {
     worker_connections  1024;
}
http {
     include       mime.types;
     default_type  application/octet-stream;
     sendfile        on;
     keepalive_timeout  65;
 
     server {
         listen       80;
         server_name  zabbix.ninja.com;
         root   html;
         location / {
             root   html;
             index  index.php index.html index.htm;
                 }
         location ~ .*\.(php|php5)?$
         {      
          fastcgi_pass  127.0.0.1:9000;
          fastcgi_index index.php;
          include fastcgi.conf;
          }
          access_log  logs/zabbix.log;
            }
     }
 EOF

2.6.2.5 重启nginx服务

[root@zabbix zabbix-3.2.3]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.8.1/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.8.1/conf/nginx.conf test is successful
[root@zabbix zabbix-3.2.3]# /application/nginx/sbin/nginx -s reload

2.6.3 配置php

2.6.3.1 过滤文件

过滤出如下文件,将文件中的内容进行替换。这里的文件一定要做替换,否则是无法安装上zabbix的。

[root@zabbix zabbix-3.2.3]# egrep -n "^post_max_size|^max_execution_time|^max_input_time|^date.timezone" /application/php/lib/php.ini
372:max_execution_time = 30
382:max_input_time = 60
660:post_max_size = 8M

进行替换作业。

[root@zabbix zabbix-3.2.3]# sed -i 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /application/php/lib/php.ini

2.6.3.2 重启php服务

[root@zabbix zabbix-3.2.3]# killall php-fpm;/application/php/sbin/php-fpm

2.6.4 zabbix服务配置

2.6.4.1 替换/application/zabbix/etc/zabbix_server.conf文件内的内容

[root@zabbix zabbix-3.2.3]# sed -i -e '77a DBHost=127.0.0.1' -e '111a DBPassword=zabbix' /application/zabbix/etc/zabbix_server.conf

2.6.4.2 复制启动脚本

[root@zabbix zabbix-3.2.3]# cp /tools/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_{server,agentd} /etc/init.d/
[root@zabbix zabbix-3.2.3]# ll -h /etc/init.d/zabbix_*
-rwxr-xr-x 1 root root 2.2K 5月   6 12:51 /etc/init.d/zabbix_agentd
-rwxr-xr-x 1 root root 2.2K 5月   6 12:51 /etc/init.d/zabbix_server

2.6.4.3 修改启动脚本

将脚本内默认的路径替换成编译安装zabbix的路径。

[root@zabbix zabbix-3.2.3]# sed -i 's#BASEDIR=/usr/local#BASEDIR=/application/zabbix#' /etc/init.d/zabbix_{server,agentd}

2.6.4.4 启动并运行zabbix服务脚本

这里需要运行两个服务,一个是服务器自身的,一个是连接被监控端的。

[root@zabbix zabbix-3.2.3]# /etc/init.d/zabbix_server start
Starting zabbix_server: [确定]
[root@zabbix zabbix-3.2.3]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd: [确定]

2.6.4.5 为zabbix安装中文字符支持

注意:PHP databases support只有SQLite3没有MySQL,它缺少mysqli模块。所有操作均需要进入到php源码包目录下进行操作,不是在安装目录下操作!

[root@zabbix php-5.6.17]# cd /tools/php-5.6.17/ext/mysqli
[root@zabbix php-5.6.17]# cd /tools/php-5.6.17/ext/mysqli
[root@zabbix mysqli]# /application/php/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@zabbix mysqli]# ./configure --with-php-config=/application/php/bin/php-config
[root@zabbix mysqli]# make && make install
[root@zabbix mysqli]# echo "extension = mysqli.so">> /application/php/lib/php.ini
[root@zabbix mysqli]# killall php-fpm;/application/php/sbin/php-fpm

2.6.4.6 安装PHP gettext warning

这个不装是不能使用中文的。 

[root@zabbix mysqli]# cd /tools/php-5.6.17/ext/gettext/
[root@zabbix gettext]# /application/php/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@zabbix gettext]# ./configure --with-php-config=/application/php/bin/php-config
[root@zabbix gettext]# make && make install
[root@zabbix gettext]# echo "extension = gettext.so">> /application/php/lib/php.ini
[root@zabbix gettext]# killall php-fpm;/application/php/sbin/php-fpm

至此!以上整个zabbix前期的配置就全部完成了,使用客户端浏览器输入http://zabbix.ninja.org/zabbix/setup.php就可以访问到zabbix的配置页面了。

注意:请自行设置好windows系统中hosts文件的DNS解析,这里就不加说明了。

第3章 zabbix监控端的页面配置

浏览器出现上面的页面时,我们就可以对zabbix进行图形化的初期设置了。

 3.1.1 点击next step按钮,进入设置

如果出现的第二个页面有红框的错误提示,请自行根据错误提示,修改/application/php/lib/php.ini文件,上面的错误提示就是因为这个配置选项的前面有一个;导致的,去掉;重启php服务即可!

就是这个选项导致红框的提示!修改后正常。

3.1.2 设置数据库信息

数据库地址请填写127.0.0.1。密码设定成zabbix。点击进入到下一页配置。

设置完之后,点击进入到下一页配置。给zabbix监控平台取一个自己喜欢的名字命名。

出现确认信息后,如果没有显示错误,直接点击一直到完成为止。

3.1.3 登录zabbix监控页面

首次登陆时,用户名请用Admin,注意第一个a要大写。下面的密码输入我们刚才在页面中设置的密码zabbix。

3.1.4 修改显示中文页面

点击右上角的再修改语言选项为Chinese(zh_CN)

最后别忘了点击按钮确认。

至此整个zabbix监控端全部设定完成!

猜你喜欢

转载自www.cnblogs.com/ninjawei/p/9441815.html