目錄
- 實驗環(huán)境
- 安裝部署
- 安裝配置數(shù)據(jù)庫(這里使用的是mariadb,感興趣的同學(xué)可以使用編譯或者別的方法安裝mysql試試)
- zabbix服務(wù)端的配置
- web端php的配置
- web端的nginx的配置修改
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運營;并提供靈活的通知機制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺上。
實驗環(huán)境
之前大家可能經(jīng)常會基于apache去部署zabbix,但是這樣會偶爾遇到一些問題,比如說:公司系統(tǒng)的框架是nginx的,然后搭建的zabbix卻是基于apache的,這樣就會出現(xiàn)不兼容的情況,那么今天小編就帶大家操作一下基于nginx的zabbix5.0的部署。
下面跟大家交代一下小編的實驗環(huán)境框架:
操作系統(tǒng):Centos7
web應(yīng)用:nginx
php:7.2
數(shù)據(jù)庫:mariadb
安裝部署
服務(wù)端配置源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
![](/d/20211016/16647e4981c880331114235f9f2dbfc3.gif)
yum repolist #查看zabbix 源文件
yum list zabbix* #查看當(dāng)前源存在哪些zabbix應(yīng)用包
#直接安裝zabbix服務(wù)端跟客戶端
yum -y install zabbix-server-mysql zabbix-agent
![](/d/20211016/a7b4a471d00dbdd210f9d789b650d15a.gif)
#安裝web前端服務(wù)的一個依賴包
yum -y install centos-release-scl #安裝scl的依賴包,主要用于調(diào)取源
![](/d/20211016/403426229a8383fe8904444f0fc583d1.gif)
這里安裝完成之后,我們需要對之前下載的yum源文件進(jìn)行修改,因為在5.0版本的zabbix的源中,web前端的源是被默認(rèn)禁用的,我們需要啟用
cd /etc/yum.repo.d/
vim zabbix.repo
#找到[zabbix-frontend](前端)
enabled=0 #將這里的關(guān)閉修改為1,即為開啟
![](/d/20211016/faf4b0341e827894160d60535498eb6b.gif)
#修改完成之后在次使用 yum list zabbix 就會發(fā)現(xiàn)源文件中多了web相關(guān)的源
#安裝web前端服務(wù)
yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
![](/d/20211016/2d0afc16c305e4c4a5691a8d0b831c9b.gif)
到這里zabbix服務(wù)端的應(yīng)用就全部部署完成了,下面就開始部署數(shù)據(jù)庫了。
安裝配置數(shù)據(jù)庫(這里使用的是mariadb,感興趣的同學(xué)可以使用編譯或者別的方法安裝mysql試試)
yum -y install mariadb-server
![](/d/20211016/26087414b6048db144a5410661831029.gif)
數(shù)據(jù)庫安裝完成之后,可以先啟動數(shù)據(jù)庫看看
systemctl start mariadb.service
#執(zhí)行完畢之后可以使用以下命令進(jìn)行查看數(shù)據(jù)庫是否正常啟動
netstat -ltunp | grep 3306
![](/d/20211016/5d9a3d00be6a3d80c6d4ea9af7a31dbc.gif)
mariadb安裝完成之后,默認(rèn)是沒有登錄密碼的,我們可以直接使用mysql進(jìn)行數(shù)據(jù)庫的登錄
登錄之后,可以先進(jìn)行一個業(yè)務(wù)庫的創(chuàng)建(這里需要注意,數(shù)據(jù)庫在創(chuàng)建的時候要注意字符集的設(shè)定,否則在后續(xù)的web端進(jìn)行部署的時候會出現(xiàn)問題)
[root@localhost ~] mysql
Mariadb [(none)] >
Mariadb [(none)] >create database zabbix character set utf8 collate utf8_bin; #創(chuàng)建數(shù)據(jù)庫時指定字符集為utf8
Mariadb [(none)] >
Mariadb [(none)] >show databases; #查看數(shù)據(jù)庫是否創(chuàng)建成功
#這里看到zabbix數(shù)據(jù)庫已經(jīng)成功創(chuàng)建之后就可以退出數(shù)據(jù)庫了
![](/d/20211016/5229352c6432e362697e921e37b9f092.gif)
然后我們查看下zabbix在安裝時都安裝了些什么
rpm -ql zabbix-server-mysql
![](/d/20211016/32776ba894b5fa49845e4307c7732b7c.gif)
這里能看到我們在安裝的時候,zabbix 有提供一個用于初始化的gz的壓縮包
我們把這個壓縮包里的sql語句都導(dǎo)出來,方便后續(xù)的使用
[root@localhost ~] zcat /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz > zabbix.sql
[root@localhost ~] ls #就能查看到我們導(dǎo)出的sql 文件
[root@localhost ~] mysql < zabbix.sql
ERROR 1046 (3D000) at line 1: No database selected #這里可以看到出現(xiàn)了一個報錯,沒有數(shù)據(jù)庫可以用來查看
![](/d/20211016/9c2398a309b511e050750e4b9a2993aa.gif)
#那我們這里稍微修改下zabbix.sql 的文件
[root@localhost ~] vim zabbix.sql
#在文件的最上端添加
use zabbix;
[root@localhost ~] mysql < zabbix.sql #然后再次進(jìn)行數(shù)據(jù)的導(dǎo)入
![](/d/20211016/2dd55772d637a6f7a9b0e21bf7eba5f8.gif)
導(dǎo)入完成之后,我們再次進(jìn)入數(shù)據(jù)庫進(jìn)行查看下之前導(dǎo)入的數(shù)據(jù)表
[root@localhost ~] mysql
Mariadb [(none)] > use zabbix
Mariadb [(none)] > show tables;
#因為zabbix需要進(jìn)行數(shù)據(jù)庫的鏈接,所以這里我們需要進(jìn)行一步用戶的授權(quán)操作
Mariadb [(none)] > grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
#到這里數(shù)據(jù)庫也算是部署完成并且配置完成了
![](/d/20211016/d857020a27d071483165681dc1ed420a.gif)
![](/d/20211016/746a5c284f5ef2f436cd28806cb8b889.gif)
zabbix服務(wù)端的配置
[root@localhost ~] vim /etc/zabbix/zabbix_server.conf #zabbix服務(wù)端的配置文件
#進(jìn)來之后我們查找一下DBName,會有一個DBName=zabbix的參數(shù)配置,這里默認(rèn)就是zabbix
#DBName=zabbix #這里因為我們創(chuàng)建的數(shù)據(jù)庫的名字就是zabbix 所以不需要修改,但是如果有同學(xué)在創(chuàng)建數(shù)據(jù)庫時,數(shù)據(jù)庫名不是zabbix的,這里就需要進(jìn)行修改了
DBUser=zabbix #連接數(shù)據(jù)庫的用戶
#DBPassword=
#原來的配置文件默認(rèn)是沒有密碼的,這里需要修改一下
DBPassword=zabbix
#DBSocket= #socket 跟默認(rèn)是一致的,這里不需要修改
![](/d/20211016/d8581638ad2ae1c3624b7219c08eb61c.gif)
web端php的配置
[root@localhost ~] cd /etc/opt/rh/
[root@localhost rh] ls
rh-nginx116 rh-php72
[root@localhost rh] cd rh-php72 #這里先修改php的配置文件
[root@localhost rh-php72] ls
opt pear pear.conf php.d php-fpm.conf php-fpm.d php.ini pki pm skel sysconfig X11 xdg xinetd.d
[root@localhost rh-php72] vim php-fpm.d/zabbix.conf
6 listen.acl_users=apache,nginx #監(jiān)聽的認(rèn)證用戶,這里默認(rèn)是apache的,需要我們添加一個nginx
24 ;php_value[date.timezone] = Europe/Riga #這里默認(rèn)的時區(qū)是歐洲的時區(qū),需要修改
24 php_value[date.timezone] = Asia/Shanghai
#這里php就這兩處需要進(jìn)行修改的
![](/d/20211016/0ce7057e6f50cd14216eb40784b2fa7f.gif)
![](/d/20211016/66d16a59aa493ddfd063a272f9264cf8.gif)
web端的nginx的配置修改
[root@localhost rh-php72] cd ..
[root@localhost rh] cd rh-nginx116
[root@localhost rh-nginx116] ls
nginx opt pki pm skel sysconfig X11 xdg xinetd.d
[root@localhost rh-nginx116] cd nginx
[root@localhost nginx] cd conf.d
[root@localhost conf.d] ls
zabbix.conf
[root@localhost conf.d] vim zabbix.conf
server {
# listen 80;
# server_name example.com;
這里只需要針對性的修改上面這兩條就可以了,修改為
listen 80;
server_name localhost; #這里可以修改為業(yè)務(wù)對應(yīng)的域名
...
...
}
![](/d/20211016/76e8d15b8bc094cb29bb4e2773431a30.gif)
![](/d/20211016/47685f304dbd7db9794cae66b62f7f00.gif)
這里因為在配置文件中,我們配置的監(jiān)聽端口是80并且監(jiān)聽的域名是本地的,所以在主配置文件中,我們需要將這兩條進(jìn)行注釋。
[root@localhost conf.d] cd ..
[root@localhost nginx] vim nginx.conf
server {
# listen 80 default_server
# listen [::]:80 default_server
}
#這里將server 中所有的配置全部都注釋掉,以保證兩個配置文件不會發(fā)生沖突
![](/d/20211016/bfb3dba41345bec28011272f0a90bcae.gif)
![](/d/20211016/bd5f2e47622f66a5c330a151c6cb5f93.gif)
到這里 我們的zabbix-server,php,nginx,mysql 這些就都已經(jīng)部署配置完成了
然后接下來我們檢查一下我們本地的一些基本的安全策略
[root@localhost nginx] systemctl status firewalld
[root@localhost nginx] systemctl disable firewalld
[root@localhost nginx] getenforce
Enforcing #表示開啟狀態(tài),需要關(guān)閉
[root@localhost nginx] setenforce 0
[root@localhost nginx] vim /etc/selinux/config
SELINUX = disable #將這里修改為關(guān)閉
![](/d/20211016/323bbaf5299863ec3e154479a568aaff.gif)
現(xiàn)在就部署的差不多了,我們來把相應(yīng)的服務(wù)啟動一下,看一下效果
[root@localhost nginx] systemctl start zabbix-server.service
[root@localhost nginx] systemctl start rh-php72-php-fpm.service
[root@localhost nginx] systemctl start rh-nginx116-nginx.service
[root@localhost nginx] netstat -lutnp
這其中 9000 是php的端口
3306是mysql的端口
80是nginx端口
10051是zabbix-server的端口
#檢查以上的端口是否都存在,如端口存在則說明對應(yīng)的應(yīng)用已經(jīng)啟動完成了
![](/d/20211016/73c3d6ca6e0aec494f69ecbe5a14ac9b.gif)
都啟動完成之后,我們可以通過瀏覽器訪問來進(jìn)行查看
只要在瀏覽器中輸入我們服務(wù)器對應(yīng)的IP地址進(jìn)行訪問就可以了
![](/d/20211016/55966099defdb84730182d8a18c0df20.gif)
![](/d/20211016/42517cffc9daf8e5fe0e36a5414ed578.gif)
這里主要檢查小編標(biāo)注的的那部分是不是都是ok的,如果存在不是ok狀態(tài)的,就需要針對單項進(jìn)行修復(fù)。
![](/d/20211016/73672c6426ed6923dd50d56d17e55edc.gif)
這里就是數(shù)據(jù)庫的實例名,用戶,密碼,安裝我們安裝數(shù)據(jù)庫時的情況填寫就可以了
![](/d/20211016/f758e832e7c050f48d3602346877f4ed.gif)
這邊是zabbix的用戶名
![](/d/20211016/9e3da23026afdf1e519e34fbae98f94b.gif)
這里就是zabbix在web頁面上需要配置的全部的參數(shù)內(nèi)容了
![](/d/20211016/8d991595675e7d400609896c4586727f.gif)
這里就可以看到,恭喜你,您已經(jīng)成功的安裝好了zabbix服務(wù)
![](/d/20211016/b98ce9c26ce08c46bf80d764b5474c88.gif)
zabbix默認(rèn)的用戶名是Admin密碼是zabbix
![](/d/20211016/f38ce8f5502068c5224c77d4dc5c7675.gif)
在zabbix5.0中是有配置可以修改為中文字符顯示的。
![](/d/20211016/50763200be8fcd5c7cbe44676e9ca841.gif)
![](/d/20211016/d54d44590c5e6755fe5382cdda91a892.gif)
這里我們就可以看到頁面已經(jīng)轉(zhuǎn)換成中文。
至此zabbix5.0基于nginx的部署就完成了,更多相關(guān)nginx zabbix 5.0安裝部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!