天天看點

Centos7部署zabbix4.0

目錄

概述:

一、環境說明:

二、安裝LNMP環境

 三、部署zabbix_server

四、部署zabbix Web界面

概述:

        zabbix是一個基于WEB界面的分布式系統及網絡監控系統,zabbix由zabbix_server和zabbix_agent兩部分組成,zabbix監控資料有兩種模式分别為:

       主動模式:主動模式是由zabbix agent主動采集資料并傳回給zabbix server, 不再需要zabbix serve進行幹預, 是以主動模式在一定程度上可減輕zabbix server的壓力

        被動模式(預設就是主動模式):被動模式就是由zabbix server向zabbix agent發出指令擷取資料, 即zabbix agent被動的去擷取資料并傳回給zabbix server, zabbix server周期性的向agent 索取資料, 這種模式的最大問題就是會加大zabbix server的工作量

一、環境說明:

zabbix的web是由LAMP或者LNMP進行支撐的

        LAMP:Linux,Apache,MySQL,PHP

        LNMP:Linux,NGINX,MySQL,PHP

以下采用LNMP進行安裝部署

二、安裝LNMP環境

1、安裝NGINX,可檢視如下檔案腳本進行安裝

https://blog.csdn.net/qq_30038621/article/details/118291752

2、安裝MySQL,采用yum方式安裝

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

systemctl start  mysqld.service

#查詢mysql的初始密碼
grep "password" /var/log/mysqld.log

#登入資料庫修改密碼
set password=password('<password>');
           

修改mysql的密碼複雜度要求方式如下:

vim /etc/my.cnf

#在檔案的最底下加上如下兩行


plugin-load=validate_password.so 
validate-password=OFF


#重新開機MySQL

systemctl restart mysqld
           

3、安裝部署PHP,采用源碼包安裝

下載下傳PHP7

wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.1.tar.gz/from/this/mirror
           

安裝PHP依賴包

yum  -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
           

解壓PHP安裝包,進入目錄

tar -xvf php7.tar.gz

cd php-7.0.4
           

編譯PHP

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
           

安裝

make && make install
           

配置PHP環境變量

vim /etc/profile

PATH=$PATH:/usr/local/php/bin
export PATH


# 使改動立即生效
.  /etc/profile
           

配置PHP配置檔案

cp php.ini-production /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
           

啟動php-fpm

/etc/init.d/php-fpm start
           
Centos7部署zabbix4.0

配置NGINX支援PHP代碼

vim /data/app/nginx/conf/nginx.conf

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

        }
           

測試是否成功,在NGINX的工程目錄添加index.php檔案

vim index.php

<?php
phpinfo()
?>
           

通路出現如下界面則表示配置成功

Centos7部署zabbix4.0

 三、部署zabbix_server

zabbix官網:https://www.zabbix.com/

1、下載下傳zabbix安裝包

wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.32.tar.gz
           

2、建立zabbix使用者

groupadd zabbix
useradd -g zabbix zabbix
           

3、建立mysql并導入zabbix資料庫檔案

# 登陸MySQL
mysql -uroot -p<your-password>

#設定zabbix資料庫字元集
create database zabbix character set utf8 collate utf8_bin;

#建立zabbix資料庫
create user 'zabbix'@'localhost' identified by '<your-password>';

#授權zabbix使用者通路
grant all privileges on zabbix.* to 'zabbix'@'localhost';



#導入資料庫表結構
[[email protected] ~]# cd zabbix-4.0.32/database/mysql/
[[email protected] mysql]# pwd
/root/zabbix-4.0.32/database/mysql
[[email protected] mysql]# mysql -uzabbix -p<your-password>  zabbix < schema.sql
[[email protected] mysql]# mysql -uzabbix -p<your-password>  zabbix < images.sql
[[email protected] mysql]# mysql -uzabbix -p<your-password>  zabbix < data.sql
           

4、編譯zabbix源碼

#安裝依賴包
yum  -y install mysql-devel  net-snmp-devel  libevent-devel


./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
           

5、安裝zabbix

make install
           
  • zabbix的配置檔案目錄:/usr/local/etc
  • zabbix的啟動腳本目錄:/usr/local/sbin

6、修改zabbix_server配置檔案

#添加資料庫資訊
DBname=zabbix
DBuser=zabbix
DBPassword=<your-password>
           

7、啟動zabbix_server和zabbix_agent

[[email protected] sbin]# ./zabbix_server
[[email protected] sbin]# ./zabbix_agent



#檢視端口是否監聽
[[email protected] ~]# netstat -anput  |  grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10329/./zabbix_agen 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      10271/./zabbix_serv 
tcp6       0      0 :::10050                :::*                    LISTEN      10329/./zabbix_agen 
tcp6       0      0 :::10051                :::*                    LISTEN      10271/./zabbix_serv 
           
Centos7部署zabbix4.0

四、部署zabbix Web界面

1、複制zabbix的web界面代碼到NGINX的工程目錄

[[email protected] ~]# cd /root/zabbix-4.0.32/frontends/php/
[[email protected] php]# ls
actionconf.php                 auditlogs.php        host_discovery.php           latest.php         setup.php
adm.gui.php                    browserwarning.php   hostgroups.php               local              slideconf.php
adm.housekeeper.php            chart2.php           hostinventoriesoverview.php  locale             slides.php
adm.iconmapping.php            chart3.php           hostinventories.php          maintenance.php    srv_status.php
adm.images.php                 chart4.php           host_prototypes.php          map.import.php     sysmap.php
adm.macros.php                 chart5.php           host_screen.php              map.php            sysmaps.php
adm.other.php                  chart6.php           hosts.php                    overview.php       templates.php
adm.regexps.php                chart7.php           httpconf.php                 profile.php        toptriggers.php
adm.triggerdisplayoptions.php  chart.php            httpdetails.php              queue.php          tr_events.php
adm.triggerseverities.php      charts.php           image.php                    report2.php        trigger_prototypes.php
adm.valuemapping.php           conf                 imgstore.php                 report4.php        triggers.php
adm.workingtime.php            conf.import.php      include                      robots.txt         usergrps.php
api_jsonrpc.php                correlation.php      index_http.php               screenconf.php     users.php
app                            discoveryconf.php    index.php                    screenedit.php     zabbix.php
applications.php               disc_prototypes.php  items.php                    screen.import.php
assets                         favicon.ico          js                           screens.php
audio                          graphs.php           jsLoader.php                 search.php
auditacts.php                  history.php          jsrpc.php                    services.php





#複制代碼到NGINX工程目錄
cp -a  . /data/app/nginx/html


#重載NGINX
/data/app/nginx/sbin/nginx -s reload
           

2、web頁面通路http://<your-ip>/port/zabbix.php

Centos7部署zabbix4.0

如出現如下錯誤,則需要修改PHP的配置檔案 ,将配置檔案中的目前值修改為要求值

Centos7部署zabbix4.0
vim /etc/php.ini

max_input_time = 300

post_max_size = 16M

date.timezone = "Asia/Shanghai"


#重新開機PHP
[[email protected] php]# /etc/init.d/php-fpm  restart 
Gracefully shutting down php-fpm . done
Starting php-fpm  done
           

 配置MySQL的賬号密碼

Centos7部署zabbix4.0
Centos7部署zabbix4.0

 zabbix預設的賬号密碼為:

賬号:Admin

密碼:zabbix

繼續閱讀