溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么部署zabbix監(jiān)控服務(wù)器

發(fā)布時(shí)間:2021-09-17 16:57:57 來源:億速云 閱讀:135 作者:chen 欄目:建站服務(wù)器

本篇內(nèi)容主要講解“怎么部署zabbix監(jiān)控服務(wù)器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么部署zabbix監(jiān)控服務(wù)器”吧!

一、zabbix運(yùn)行架構(gòu)

Zabbix是一個(gè)企業(yè)級(jí)的分布式開源監(jiān)控解決方案。它能夠監(jiān)控各種服務(wù)器的健康性、網(wǎng)絡(luò)的穩(wěn)定性以及各種應(yīng)用系統(tǒng)的可靠性。當(dāng)監(jiān)控出現(xiàn)異常時(shí),Zabbix通過靈活的告警策略,可以為任何事件配置基于郵件、短信、微信等告警機(jī)制。而這所有的一切,都可以通過Zabbix提供的web界面進(jìn)行配置和操作,基于web的前端頁面還提供了出色的報(bào)告和數(shù)據(jù)可視化功能。這些功能和特性使我們運(yùn)維人員可以非常輕松的搭建一套功能強(qiáng)大的運(yùn)維監(jiān)控管理平臺(tái)。

Zabbix的運(yùn)行架構(gòu)如下:

怎么部署zabbix監(jiān)控服務(wù)器

從上面的運(yùn)行架構(gòu)圖可以看到,Zabbix主要有幾個(gè)組件構(gòu)成,分別如下:

1、Zabbix Server

Zabbix  Server是Zabbix的核心組件,是所有配置信息、統(tǒng)計(jì)信息和操作數(shù)據(jù)的核心存儲(chǔ)器。它主要負(fù)責(zé)接收客戶端發(fā)送的報(bào)告和信息,同時(shí),所有配置、統(tǒng)計(jì)數(shù)據(jù)及配置操作數(shù)據(jù)均由其組織進(jìn)行。

2、Zabbix  Database  Storage

主要用于存儲(chǔ)數(shù)據(jù),所有配置信息和Zabbix收集到的數(shù)據(jù)都被存儲(chǔ)在數(shù)據(jù)庫中??梢允褂?a title="MySQL" target="_blank" href="http://kemok4.com/mysql/">MySQL、oracle、SQLite等。

3、Zabbix  Web界面

這是Zabbix提供的GUI接口,通常(但不一定)與Zabbix  Server運(yùn)行在同一臺(tái)物理機(jī)器上。

4、Zabbix  Proxy 代理服務(wù)器

這是一個(gè)可選組件,常用于分布式監(jiān)控環(huán)境中,代理Server可以替Zabbix收集新能和可用性數(shù)據(jù),匯總后統(tǒng)一發(fā)往Zabbix Server端。

5、Zabbix  Agent 監(jiān)控代理

Zabbix  Agent部署在被監(jiān)控的主機(jī)上,能夠主動(dòng)監(jiān)控本地資源和應(yīng)用程序,并負(fù)責(zé)收集數(shù)據(jù)發(fā)往Zabbix  Server端或Zabbix  Proxy端。

二、Zabbix監(jiān)控術(shù)語

在Zabbix監(jiān)控系統(tǒng)中,有一些常用的術(shù)語,下面是簡單的介紹。

1、主機(jī)(host)

表示要監(jiān)控的一臺(tái)服務(wù)器或者網(wǎng)絡(luò)設(shè)備,可以通過IP或主機(jī)名指定。

2、主機(jī)組(host group)

主機(jī)的邏輯組:它包含主機(jī)和模板,但同一個(gè)主機(jī)組內(nèi)的主機(jī)和模板沒有任何直接的關(guān)聯(lián);主機(jī)組通常在給用戶或用戶組指派監(jiān)控權(quán)限時(shí)使用。

3、監(jiān)控項(xiàng)(item)

表示一個(gè)監(jiān)控的具體對(duì)象,例如監(jiān)控服務(wù)器的CPU負(fù)載、磁盤空間等,item是Zabbix進(jìn)行數(shù)據(jù)收集的核心,相對(duì)某個(gè)監(jiān)控對(duì)象,每個(gè)item都由“key”來標(biāo)識(shí)。

4、觸發(fā)器(trigger)

其實(shí)就是一個(gè)監(jiān)控閾值表達(dá)式,用于評(píng)估某監(jiān)控對(duì)象接收到的數(shù)據(jù)是否在合理范圍內(nèi);如果接收的數(shù)據(jù)大于閾值時(shí),觸發(fā)器的狀態(tài)將從“OK”轉(zhuǎn)變?yōu)椤癙roblem”,當(dāng)接收到的數(shù)據(jù)低于閾值時(shí),又轉(zhuǎn)變?yōu)椤癘K”狀態(tài)。

5、應(yīng)用集(Applications)

一組監(jiān)控項(xiàng)組成的邏輯集合。

6、動(dòng)作(action)

指對(duì)于監(jiān)控中出現(xiàn)的問題事先定義的處理方法,例如發(fā)送通知、何時(shí)執(zhí)行操作、執(zhí)行的頻率等等。

7、報(bào)警媒介類型(media)

表示發(fā)送通知的手段,告警通知的途徑,如Email、Jabber或SMS等。

8、模板(template)

一組可以被應(yīng)用到一個(gè)或多個(gè)主機(jī)上的實(shí)現(xiàn)集合,一個(gè)模板通常包含了應(yīng)用集、監(jiān)控項(xiàng)、觸發(fā)器、圖形、聚合圖形、自動(dòng)發(fā)現(xiàn)規(guī)則、web場景等幾個(gè)項(xiàng)目;模板可以直接鏈接到某個(gè)主機(jī)。

模板是學(xué)習(xí)zabbix的一個(gè)難點(diǎn)和重點(diǎn),為了實(shí)現(xiàn)批量、自動(dòng)化監(jiān)控,通常會(huì)將具有相同特征的監(jiān)控項(xiàng)匯總到模板中,然后在主機(jī)中直接引用即可,實(shí)現(xiàn)快速監(jiān)控部署。

三、部署Zabbix監(jiān)控平臺(tái)

Zabbix的監(jiān)控平臺(tái)部署比較簡單,前提是準(zhǔn)備好LNMP或LAMP環(huán)境。

我這里將從部署LNMP環(huán)境開始配置。

注:我這里將所有服務(wù)部署在同一臺(tái)服務(wù)器上,僅僅是一個(gè)簡單的監(jiān)控架構(gòu),并沒有部署 zabbix  proxy等。

Zabbix官方的相關(guān)鏈接:

Zabbix 4.2 配置文檔、Zabbix 官網(wǎng)首頁。

在進(jìn)行下面的部署操作之前,請(qǐng)先下載我提供的各種源碼包,并上傳至Zabbix服務(wù)器。

1、部署安裝nginx

#解包
[root@zabbix ~]# tar zxf pcre-8.39.tar.gz -C /usr/src
[root@zabbix ~]# tar zxf nginx-1.14.0.tar.gz -C /usr/src
[root@zabbix ~]# tar zxf zlib-1.2.8.tar.gz -C /usr/src
#安裝依賴及nginx
[root@zabbix ~]# yum -y install openssl-devel pcre-devel
[root@zabbix ~]# cd /usr/src/nginx-1.14.0/
[root@zabbix nginx-1.14.0]# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module  --with-http_sub_module --with-http_flv_module  --with-http_mp4_module  --with-pcre=/usr/src/pcre-8.39 --with-zlib=/usr/src/zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www && make && make install
#創(chuàng)建運(yùn)行用戶及命令優(yōu)化
[root@zabbix nginx-1.14.0]# useradd -M -s /sbin/nologin www
[root@zabbix nginx-1.14.0]# cd
[root@zabbix ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@zabbix ~]# vim /usr/local/nginx/conf/nginx.conf          #編輯nginx配置文件
   server {
        listen       80;
        location / {
            root   html;
            index index.php index.html index.htm;    #添加index.php
        }
                #注意刪除下面段落的注釋符號(hào)
        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.conf;   #修改此行
        }
[root@zabbix ~]# nginx      #啟動(dòng)nginx
#編寫php首頁文件
[root@zabbix ~]# cat > /usr/local/nginx/html/index.php << EOF
> <?php
> phpinfo();
> ?>
> EOF

2、部署安裝PHP

#安裝依賴
[root@zabbix ~]# yum -y install libxml2-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel
#解包
[root@zabbix ~]# tar zxf php-5.6.27.tar.gz -C /usr/src/
[root@zabbix ~]# tar zxf libmcrypt-2.5.7.tar.gz -C /usr/src
#編譯安裝libmcrypt
[root@zabbix ~]# cd /usr/src/libmcrypt-2.5.7
[root@zabbix libmcrypt-2.5.7]#  ./configure --prefix=/usr/local/libmcrypt && make && make install
#編譯安裝PHP
[root@zabbix libmcrypt-2.5.7]# cd ../php-5.6.27/
[root@zabbix php-5.6.27]# ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc --with-mysql=mysqlnd  --with-mysqli=mysqlnd --with-gd  --with-iconv --with-libxml-dir=/usr --with-mhash  --with-mcrypt=/usr/local/libmcrypt  --with-config-file-scan-dir=/etc/php.d  --with-bz2  --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip  --enable-soap  --without-pear  --with-gettext  --enable-session --with-curl && make && make install
#優(yōu)化PHP配置文件
[root@zabbix php-5.6.27]# cp php.ini-production /etc/php.ini
[root@zabbix php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@zabbix php-5.6.27]# chmod +x /etc/init.d/php-fpm
[root@zabbix php-5.6.27]# chkconfig --add php-fpm 
[root@zabbix php-5.6.27]# chkconfig php-fpm on
[root@zabbix php-5.6.27]#  cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix php-5.6.27]# cd
#優(yōu)化其配置文件并啟動(dòng)
[root@zabbix ~]# sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix ~]# sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix ~]# sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix ~]# sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 35/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix ~]# systemctl start php-fpm
[root@zabbix ~]# netstat -anpt | grep 9000

客戶端訪問定義的php頁面,如下:

怎么部署zabbix監(jiān)控服務(wù)器

4、安裝及配置MySQL數(shù)據(jù)庫

如果需要自定義安裝MySQL數(shù)據(jù)庫,可以參考博文:基于centos7搭建MySQL數(shù)據(jù)庫

我這里為了方便,采用腳本的方式快速安裝一個(gè)MySQL數(shù)據(jù)庫,如若需要,可以下載使用(注:該腳本安裝后的MySQL的root密碼為“123”)。

#上傳我提供的包后,執(zhí)行以下命令
[root@zabbix ~]# sh mysql.sh        #等待些許時(shí)間后,出現(xiàn)以下提示,則表示數(shù)據(jù)庫部署成功
Starting MySQL. SUCCESS! 
mysql: [Warning] Using a password on the command line interface can be insecure.
#創(chuàng)建zabbix庫及用戶
[root@zabbix ~]# mysql -uroot -p123        #登錄MySQL
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123.com';
mysql> grant all on zabbix.* to zabbix@'192.168.20.%' identified by '123.com';
mysql> exit

5、部署Zabbix服務(wù)

#解包
[root@zabbix ~]# tar zxf fping-3.12.tar.gz -C /usr/src
[root@zabbix ~]# tar zxf zabbix-3.2.1.tar.gz -C /usr/src
#安裝fping命令
[root@zabbix ~]# cd /usr/src/fping-3.12/
[root@zabbix fping-3.12]# ./configure && make && make install
[root@zabbix fping-3.12]# cd ../zabbix-3.2.1/
[root@zabbix zabbix-3.2.1]# useradd -M -s /sbin/nologin zabbix
[root@zabbix zabbix-3.2.1]# chown zabbix:zabbix /usr/local/sbin/fping 
[root@zabbix zabbix-3.2.1]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh3-devel
[root@zabbix zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi && make && make install
#--enable-java:方便后續(xù)監(jiān)控 tomcat 程序所用
#--with-openipmi:用戶可以利用 IPMI 監(jiān)視服務(wù)器的物理特征,如溫度、電壓、風(fēng)扇工作狀態(tài)、電源供應(yīng)等。
[root@zabbix ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@zabbix ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
#導(dǎo)入zabbix數(shù)據(jù)到MySQL,注意導(dǎo)入的順序,如果導(dǎo)入后返回提示信息,可忽略,是因?yàn)閷?dǎo)入的命令將密碼展示在了終端
[root@zabbix ~]# cd /usr/src/zabbix-3.2.1/database/mysql/
[root@zabbix mysql]# mysql -u zabbix -p123.com -h localhost zabbix < schema.sql 
[root@zabbix mysql]# mysql -u zabbix -p123.com -h localhost zabbix < images.sql 
[root@zabbix mysql]# mysql -u zabbix -p123.com -h localhost zabbix < data.sql 
[root@zabbix ~]# chown -R zabbix:zabbix /usr/local/zabbix/

6、優(yōu)化zabbix并啟動(dòng)

#修改zabbix配置文件
[root@zabbix mysql]# sed -i 's/# ListenPort=10051/ListenPort=10051/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/LogFile=\/tmp\/zabbix_server.log/LogFile=\/usr\/local\/zabbix\/logs\/zabbix_server.log/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# PidFile=\/tmp\/zabbix_server.pid/PidFile=\/usr\/local\/zabbix\/logs\/zabbix_server.pid/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# DBHost=localhost/DBHost=localhost/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# DBPassword=/DBPassword=123.com/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# DBSocket=\/tmp\/mysql.sock/DBSocket=\/usr\/local\/mysql\/mysql.sock/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# DBPort=3306/DBPort=3306/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# FpingLocation=\/usr\/sbin\/fping/FpingLocation=\/usr\/local\/sbin\/fping/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix mysql]# sed -i 's/# LogSlowQueries=0/LogSlowQueries=3000/g' /usr/local/zabbix/etc/zabbix_server.conf
#如果數(shù)據(jù)庫名稱和數(shù)據(jù)庫用戶沒有和我創(chuàng)建的一樣,那么還需要更改以下兩項(xiàng)
#DBName=zabbix     #數(shù)據(jù)庫名稱
#DBUser=zabbix     #登錄數(shù)據(jù)庫的用戶名
[root@zabbix mysql]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
[root@zabbix mysql]# ldconfig        #刷新上面的更改
[root@zabbix ~]# mkdir /usr/local/zabbix/logs
[root@zabbix zabbix]# chown -R zabbix:zabbix /usr/local/zabbix
[root@zabbix ~]# cd /usr/src/zabbix-3.2.1/misc/init.d/fedora/core
[root@zabbix core]# cp zabbix_agentd /etc/init.d/
[root@zabbix core]# cp zabbix_server /etc/init.d/
[root@zabbix core]# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server 
[root@zabbix core]# sed -i 's/PIDFILE=\/tmp\/$BINARY_NAME.pid/PIDFILE=\/usr\/local\/zabbix\/logs\/$BINARY_NAME.pid/g' /etc/init.d/zabbix_server 
[root@zabbix logs]# /etc/init.d/zabbix_server start    #啟動(dòng)zabbix,也可以執(zhí)行“zabbix-server”來啟動(dòng)
#如果腳本啟動(dòng)沒有報(bào)錯(cuò),但端口也沒在監(jiān)聽,可以先使用腳本stop一下,再start
[root@zabbix logs]# netstat -anpt | grep 10051
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      89911/zabbix_server 
#準(zhǔn)備zabbix的網(wǎng)頁文件
[root@zabbix ~]# cd /usr/src/zabbix-3.2.1/frontends/
[root@zabbix frontends]# cp -r php/ /usr/local/nginx/html/zabbix

7、client訪問nginx代理以便配置zabbix

訪問Nignx服務(wù)器的IP/zabbix即可,它會(huì)自動(dòng)跳轉(zhuǎn)到下面的頁面:

怎么部署zabbix監(jiān)控服務(wù)器

哦吼,好像有些報(bào)錯(cuò)信息,如下:

怎么部署zabbix監(jiān)控服務(wù)器

上述的報(bào)錯(cuò)信息大概是php的配置項(xiàng)不符合其要求,那么就改一下php的配置文件咯!如下:

#更改php配置文件
[root@zabbix ~]# sed -i 's/post_max_size = 8M/post_max_size =16M/g' /etc/php.ini 
[root@zabbix ~]# sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini 
[root@zabbix ~]# sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini 
[root@zabbix ~]# sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/g' /etc/php.ini 
[root@zabbix ~]# sed -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/g' /etc/php.ini 
[root@zabbix ~]# systemctl restart php-fpm            #重啟php服務(wù)

刷新瀏覽器頁面,如下(全部為“OK”):

怎么部署zabbix監(jiān)控服務(wù)器

輸入相應(yīng)的信息,數(shù)據(jù)庫監(jiān)聽IP及端口等信息:

怎么部署zabbix監(jiān)控服務(wù)器

這里保持默認(rèn),單擊下一步:

怎么部署zabbix監(jiān)控服務(wù)器

確認(rèn)無誤后,單擊下一步:

怎么部署zabbix監(jiān)控服務(wù)器

哦吼,又報(bào)錯(cuò),提示無法創(chuàng)建配置文件,讓我們手動(dòng)下載配置文件并上傳到指定的目錄,那就點(diǎn)擊下載咯。

怎么部署zabbix監(jiān)控服務(wù)器

#自行將下載的配置文件上傳到這個(gè)目錄下
[root@zabbix ~]# ls /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
/usr/local/nginx/html/zabbix/conf/zabbix.conf.php

然后刷新頁面如下,單擊“finish”完成:

怎么部署zabbix監(jiān)控服務(wù)器

輸入zabbix用戶名及密碼進(jìn)行登錄(默認(rèn)用戶名:admin,密碼:zabbix):

怎么部署zabbix監(jiān)控服務(wù)器

更改默認(rèn)語言為中文:

怎么部署zabbix監(jiān)控服務(wù)器

8、解決后續(xù)制作圖表的中文亂碼問題

[root@zabbix ~]# cd /usr/local/nginx/html/zabbix/fonts/    #切換至該目錄
[root@zabbix fonts]# rz            #上傳我提供的simkai.ttf文件,也可以從我們的windows字體中找該文件

[root@zabbix fonts]# ls   #確認(rèn)“simkai.ttf”在該目錄下
DejaVuSans.ttf  simkai.ttf
#修改以下文件
[root@zabbix fonts]# sed -i 's/DejaVuSans/simkai/g' /usr/local/nginx/html/zabbix/include/defines.inc.php

經(jīng)過上述配置,在以后制作圖表時(shí),就不會(huì)出現(xiàn)中文亂碼的情況了。

到此,相信大家對(duì)“怎么部署zabbix監(jiān)控服務(wù)器”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI