來源:51CTO
閱讀:553
作者:俊偉祺i
欄目:系統(tǒng)運維

要想實時地了解服務(wù)器的運行狀況并且能在出現(xiàn)問題時及時解決,利用監(jiān)控軟件是一個很好的途徑。就目前而言,有服務(wù)器的地方必然少不了監(jiān)控系統(tǒng)?,F(xiàn)有的監(jiān)控軟件有很多,但是Zabbix可以靈活的監(jiān)控服務(wù)器資源,并且集Cacti和Nagio兩者的優(yōu)點于一身且功能更加強大,實現(xiàn)企業(yè)級分布式監(jiān)控,所以在市場應(yīng)用更廣。

一、Zabbix概述

Zabbix是一個基于Web界面的企業(yè)級開源監(jiān)控套件,提供分布式系統(tǒng)監(jiān)控與網(wǎng)絡(luò)監(jiān)視功能。具有主機的性能監(jiān)控、網(wǎng)絡(luò)設(shè)備性能監(jiān)控、數(shù)據(jù)庫性能監(jiān)控、多種告警方式、詳細(xì)報表、圖表的繪制等功能。監(jiān)測的對象可以是Linux或Windows服務(wù)器,也可以是路由器、交換機等網(wǎng)絡(luò)設(shè)備,通過SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)、Zabbix、Agent、PING、端口監(jiān)視等方法提供對遠(yuǎn)程網(wǎng)絡(luò)服務(wù)器等監(jiān)控、數(shù)據(jù)收集等功能,并提供通知機制使系統(tǒng)管理員可以快速定位、解決系統(tǒng)中存在的各種問題。目前Zabbix最新版本為Zabbix 3.4.官方網(wǎng)站是http://www.zabbix.com 。

Zabbix是免費的。Zabbix遵循GPL(通用公共許可證)版本2,這意味著它的源代碼是可以自由分布的。Zabbix的商業(yè)版本是由Zabbix公司提供支持的。世界上很多大小不同的組織機構(gòu)都依懶于Zabbix作為自己的一個主要的監(jiān)控平臺。尤其是現(xiàn)在很多互聯(lián)網(wǎng)企業(yè)都在使用它。
Zabbix是一個高度集成的網(wǎng)絡(luò)監(jiān)控解決方案,具體描述如圖:

1、Zabbix重要組件

zabbix主要由以下幾個重要的組件構(gòu)成,具體作用如下:

Zabbix Server:負(fù)責(zé)接收Agent發(fā)送報告信息的核心組件,所有的配置、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)操作都由它組織進(jìn)行;

Database strongage:負(fù)責(zé)存儲所有的配置信息以及收集的數(shù)據(jù);

Web interface:是zabbix的GUI接口,通常強開下與Zabbix Server運行在同一臺主機上;

Proxy:屬于可選組件,常用于分布式監(jiān)控環(huán)境中,代理Server收集部分?jǐn)?shù)據(jù),然后轉(zhuǎn)發(fā)到Server,可以減輕Server的壓力;

*Agent:部署在被監(jiān)控的主機(客戶端)上,負(fù)責(zé)收集被監(jiān)控端主機的數(shù)據(jù),如CPU、內(nèi)存、數(shù)據(jù)庫等數(shù)據(jù),然后發(fā)送到Server端或Proxy端;

2、Zabbix進(jìn)程

默認(rèn)情況下,Zabbix包含五個程序:zabbix_agentd、zabbix_get、zabbix_sender、zabbix_server、zabbix_proxy,另外有一個zabbix_java_gateway是可選的,需要另外安裝。下面來分別介紹它們各自的作用:

zabbix_agentd:客戶端守護進(jìn)程,此進(jìn)程用于收集被監(jiān)控端的數(shù)據(jù),如CPU負(fù)載、內(nèi)存、硬盤使用情況等;

zabbix_get:zabbix工具是單獨使用的命令。zabbix_get是在server或者proxy端執(zhí)行獲取遠(yuǎn)程客戶端信息的命令。主要用于排錯。例如:在server端獲取不到客戶端的內(nèi)存數(shù)據(jù)時,我們可以使用zabbix_get獲取客戶端的內(nèi)容的方式來做故障排查;

zabbix_sender:用于發(fā)送數(shù)據(jù)給server或者Proxy,通常用于耗時比較常的檢查。很多檢查非常耗時間,導(dǎo)致zabbix超時。于是我們在腳本執(zhí)行完畢之后,可以使用sender主動提交數(shù)據(jù);

zabbix_server:zabbix服務(wù)器端守護進(jìn)程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、
zabbix_java_gateway的數(shù)據(jù)最終都是提交到server。數(shù)據(jù)并不都是主動提交給zabbix_server的,也有被動提交數(shù)據(jù)的,及server主動去獲取數(shù)據(jù);

zabbix_proxy:zabbix代理守護進(jìn)程。功能類似于server,唯一不同的是它只是一個中轉(zhuǎn)站,需要把收集到的數(shù)據(jù)主動(或被動)地提交到server上;

zabbix_java_gateway:在zabbix2.0之后引入的一個功能。顧名思義:Java網(wǎng)關(guān),類似agentd,但目前只用于Java方面,需要特別注意的是,它只能主動去獲取數(shù)據(jù),而不能被動獲取數(shù)據(jù)。它的數(shù)據(jù)最終會提交到server或者proxy;

3、Zabbix監(jiān)控架構(gòu)

在實際生產(chǎn)環(huán)境中,Zabbix根據(jù)網(wǎng)絡(luò)環(huán)境,監(jiān)控規(guī)模等外界因素分為三種架構(gòu):server-client(直接連接)、master-node-client(Node架構(gòu))、server-proxy-client(Proxy架構(gòu)),如下圖所示:

1)server-client架構(gòu)(直接連接)

server-client架構(gòu)是Zabbix的最簡單的架構(gòu),監(jiān)控機和被監(jiān)控機之間不經(jīng)過任何代理,直接在zabbix server和zabbix agentd之間進(jìn)行數(shù)據(jù)交互,適用于網(wǎng)絡(luò)比較簡單,設(shè)備比較少的監(jiān)控環(huán)境。

2)master-node-client架構(gòu)(node架構(gòu))

master-node-client架構(gòu)是Zabbix最復(fù)雜的監(jiān)控架構(gòu),適用于跨網(wǎng)絡(luò)、跨機房、設(shè)備較多的大型環(huán)境。每個node同時也是一個server端。node下面可以接proxy,也可以直接接client。node有自己的配置文件和數(shù)據(jù)庫。其要做的是將配置信息和監(jiān)控數(shù)據(jù)項master同步。當(dāng)master發(fā)生故障或損壞,node可以保證架構(gòu)的完整性。

3)server-proxy-client架構(gòu)(proxy架構(gòu))

proxy是server、client之間溝通的一個橋梁,proxy本身沒有前端,而且其本身并不存放數(shù)據(jù),只是將agentd發(fā)來的數(shù)據(jù)暫時存放,而后在提交給server。該架構(gòu)經(jīng)常是和master-node-client架構(gòu)做比較的架構(gòu),一般適用于跨機房、跨網(wǎng)絡(luò)的中型網(wǎng)絡(luò)架構(gòu)的監(jiān)控。

4、YUM安裝Zabbix

Zabbix提供兩種安裝方式:YUM安裝與編譯安裝。需要注意的是,由于Centos官方Y(jié)UM源中并不提供Zabbix軟件包以及相關(guān)依賴包,因此,如果想用YUM安裝Zabbix需要通過Zabbix官方源或第三方的YUM源實現(xiàn)。Zabbix服務(wù)器需要LAMP環(huán)境或LNMP環(huán)境,以下實驗部署環(huán)境采用YUM安裝的LAMP環(huán)境為例,詳細(xì)介紹Zabbix監(jiān)控服務(wù)器的部署方法。

1)安裝MariaDB

在Centos 7 系統(tǒng)光盤中默認(rèn)提供的數(shù)據(jù)庫不是mysql而是MariaDB,因此在LAMP架構(gòu)中使用MariaDB來充當(dāng)“M”的角色,其余的組件還是保持原有的Apache與PHP。MariaDB是Mysql數(shù)據(jù)庫源碼的一個分支版本,與MYSQL在大多數(shù)方面是兼容的。

2)安裝Zabbix

因為安裝Zabbix時會安裝很多依賴包,其中包括httpd與PHP相關(guān)依賴包,所以直接安裝Zabbix即可。無須在單獨安裝httpd與PHP。

二、搭建Zabbix監(jiān)控服務(wù)器

此安裝全部yum源均是通過連接公網(wǎng)使用網(wǎng)絡(luò)源而配置的

Centos 7源:wget http://mirrors.aliyun.com/repo/Centos-7.repo

Zabbix 4.0源: rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

Zabbix依賴程序:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

Zabbix官方網(wǎng)站:Zabbix官網(wǎng)

Zabbix 4.0官方配置文檔:Zabbix 4.0官方配置文檔

1、安裝Centos 7源

[root@centos02 ~]# cd /etc/yum.repos.d/
[root@centos02 yum.repos.d]# ls   
local.repo
[root@centos02 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo  
                                                             <!--安裝網(wǎng)絡(luò)Centos 7源-->

2、安裝zabbix 4.0

[root@centos02 yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

3、安裝mariadb數(shù)據(jù)庫

[root@centos02 ~]# yum -y install mariadb mariadb-server   <!--安裝mariadb數(shù)據(jù)庫依賴-->
[root@centos02 ~]# systemctl start mariadb.service         <!--啟動服務(wù)-->
[root@centos02 ~]# systemctl enable mariadb.service        <!--設(shè)置服務(wù)開機自啟-->
[root@centos02 ~]# mysqladmin -uroot password         <!--設(shè)置數(shù)據(jù)庫密碼-->
[root@centos02 ~]# mysql -uroot -ppwd@123          <!--連接數(shù)據(jù)庫-->
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  
    <!--創(chuàng)建數(shù)據(jù)庫zabbix連接使用,數(shù)據(jù)庫名字為zabbix,默認(rèn)字符編碼utf8,-->
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by  \\\'pwd@123\\\';      <!--授權(quán)zabbix賬戶訪問zabbix數(shù)據(jù)庫密碼是pwd@123-->

4、安裝及配置zabbix服務(wù)

[root@centos02 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 
                                        <!--安裝zabbix依賴程序-->
[root@centos02 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql 
-uzabbix -ppwd@123 zabbix      <!--將zabbix數(shù)據(jù)導(dǎo)入到創(chuàng)建zabbix數(shù)據(jù)庫中 -->
[root@centos02 ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak  <!--備份zabbix服務(wù)配置文件-->
[root@centos02 ~]# vim /etc/zabbix/zabbix_server.conf     <!--修改zabbix服務(wù)配置文件-->
91 DBHost=localhost          <!--去掉注釋符號-->
100 DBName=zabbix         <!--數(shù)據(jù)庫名稱,根據(jù)實際修改,默認(rèn)不用修改-->
116 DBUser=zabbix           <!--數(shù)據(jù)庫用戶名,默認(rèn)不用修改-->
124 DBPassword=pwd@123     <!--數(shù)據(jù)庫密碼,修改此行-->
[root@centos02 ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak <!--備份zabbix agent主配置文件-->
[root@centos02 ~]# vim /etc/zabbix/zabbix_agentd.conf      
<!--編輯zabbix agent主配置文件,
(指定zabbix server的IP地址,這里要指定服務(wù)器的IP地址,現(xiàn)在是同一臺服務(wù)器上,所有保持默認(rèn))
-->
98 Server=127.0.0.1              <!--客戶端被動等待指定服務(wù)器來查詢數(shù)據(jù)-->
139 ServerActive=127.0.0.1   <!--客戶端主動提交數(shù)據(jù)到指定的服務(wù)器-->
150 Hostname=Zabbix server <!--建議修改此行,配置規(guī)范的主機名-->
[root@centos02 ~]# vim /etc/httpd/conf.d/zabbix.conf    
                       <!--編輯 Zabbix前端配置文件,設(shè)置時區(qū)為上海-->
21  php_value date.timezone Asia/Shanghai <!--設(shè)置為上海時區(qū),并該行刪除注釋符號-->

現(xiàn)在服務(wù)器端基本配置完成,但是由于字體顯示原因,可能使用瀏覽器訪問時,會出現(xiàn)部分文字以亂碼顯示,所以要下載標(biāo)準(zhǔn)中文字體??梢酝ㄟ^網(wǎng)盤下載:https://pan.baidu.com/s/1iFpLZ4_5Snxry2jUmV8fCw
提取碼:ao89

[root@centos02 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  simkai.ttf
[root@centos02 ~]# find / -name graphfont.ttf   <!--查看graphfont.ttf路徑-->
/usr/share/zabbix/assets/fonts/graphfont.ttf
[root@centos02 ~]# mv simkai.ttf /usr/share/zabbix/assets/fonts/  
          <!--剪切中文字體到/usr/share/zabbix/assets/fonts/目錄下-->
[root@centos02 ~]# cd /usr/share/zabbix/assets/fonts/   <!--進(jìn)入目錄-->
[root@centos02 fonts]# ls
graphfont.ttf            simkai.ttf
[root@centos02 ~]# vim /usr/share/zabbix/include/defines.inc.php   
         <!--修改PHP界面支持中文字體(如果不修改瀏覽器訪問會出現(xiàn)亂碼)-->
  70 define(\\\'ZBX_GRAPH_FONT_NAME\\\',           \\\'simkai\\\');   
                   <!--將原有的“graphfont”更改為“simkai” -->
[root@centos02 ~]# systemctl start zabbix-server zabbix-agent httpd    
             <!--啟動zabbix-server、zabbix-agent、httpd服務(wù)-->
[root@centos02 ~]# systemctl enable zabbix-server zabbix-agent httpd  <!--設(shè)置開機自動啟動-->

5、通過客戶端使用瀏覽器配置Zabbix服務(wù)器

我這里客戶端使用的是火狐瀏覽器,如果沒有可以通過上面連接提取

1)http://192.168.100.20/zabbix 訪問zabbix前端安裝向?qū)?,單擊Next step鍵

2)環(huán)境檢測界面,確保所有軟件都是OK才可以繼續(xù)

3)數(shù)據(jù)庫連接配置界面,根據(jù)剛才創(chuàng)建好的zabbix數(shù)據(jù)庫填寫授權(quán)信息

4)數(shù)據(jù)庫連接配置完成,填寫zabbix服務(wù)信息

5)返回配置匯總信息,默認(rèn)下一步

6)安裝完成

7)登錄界面輸入默認(rèn)的用戶名Admin,密碼zabbix即可登錄到zabbix服務(wù)器

8)修改登錄zabbix服務(wù)器的用戶及密碼,設(shè)置界面語言為中文

9)設(shè)置完成,退出重新登陸即可

10)創(chuàng)建bob用戶,將用戶加入Guests群組,設(shè)置密碼、語言及主題

11)檢測內(nèi)存,不會出現(xiàn)中文亂碼

6、配置zabbix監(jiān)控Linux客戶端
1)安裝zabbix客戶端依賴程序

[root@centos03 yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm 
                       <!--網(wǎng)絡(luò)源安裝zabbix4.0版本-->
[root@centos03 ~]# yum -y install zabbix-agent   <!--安裝依賴程序-->
[root@centos03 ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
                 <!--備份配置文件-->
[root@centos03 ~]# vim /etc/zabbix/zabbix_agentd.conf<!--修改zabbix客戶端主配置文件-->
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log 
LogFileSize=0
Server=192.168.100.20      <!--zabbix服務(wù)器端-->
ServerActive=192.168.100.20      <!--zabbix服務(wù)器端-->
Hostname=192.168.100.30        <!--zabbix客戶端計算機名或者IP地址-->
Include=/etc/zabbix/zabbix_agentd.d/*.conf 
#UnsafeUserParameters=0 
[root@centos03 ~]# systemctl start zabbix-agent.service   <!--啟動zabbix-agent服務(wù)-->
[root@centos03 ~]# systemctl enable zabbix-agent.service <!--設(shè)置為開機自動啟動-->
[root@centos03 ~]# netstat -anptu | grep zabbix  <!--監(jiān)聽agent服務(wù)是否正常啟動-->
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2244/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      2244/zabbix_agentd  

2)通過客戶端使用瀏覽器配置Zabbix服務(wù)器監(jiān)控Linux
①創(chuàng)建主機

②編輯詳細(xì)信息,單擊提交

③添加linux主機應(yīng)用集

④添加監(jiān)控項

⑤創(chuàng)建圖形

⑥創(chuàng)建觸發(fā)器

⑦查看圖形監(jiān)控圖

—————— 本文至此結(jié)束,感謝閱讀 ——————

更多關(guān)于云服務(wù)器,域名注冊虛擬主機的問題,請訪問西部數(shù)碼官網(wǎng):m.bingfeng168.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-62778877-8306;郵箱:fanjiao@west.cn。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處:西部數(shù)碼知識庫 » Centos 7搭建Zabbix 4.0監(jiān)控系統(tǒng)

登錄

找回密碼

注冊