目錄
概述:
一、環境說明:
二、安裝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
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLygjNyMjMwYTMwEzNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
配置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()
?>
通路出現如下界面則表示配置成功
三、部署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
四、部署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
如出現如下錯誤,則需要修改PHP的配置檔案 ,将配置檔案中的目前值修改為要求值
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的賬号密碼
zabbix預設的賬号密碼為:
賬号:Admin
密碼:zabbix