Centos 7搭建Zabbix 4.0監控系統

要想實時地瞭解服務器的運行狀況並且能在出現問題時及時解決,利用監控軟件是一個很好的途徑。就目前而言,有服務器的地方必然少不了監控系統。現有的監控軟件有很多,但是Zabbix可以靈活的監控服務器資源,並且集Cacti和Nagio兩者的優點於一身且功能更加強大,實現企業級分佈式監控,所以在市場應用更廣。

一、Zabbix概述

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

Zabbix是免費的。Zabbix遵循GPL(通用公共許可證)版本2,這意味着它的源代碼是可以自由分佈的。Zabbix的商業版本是由Zabbix公司提供支持的。世界上很多大小不同的組織機構都依懶於Zabbix作爲自己的一個主要的監控平臺。尤其是現在很多互聯網企業都在使用它。
Zabbix是一個高度集成的網絡監控解決方案,具體描述如圖:
Centos 7搭建Zabbix 4.0監控系統

1、Zabbix重要組件

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

  • Zabbix Server:負責接收Agent發送報告信息的核心組件,所有的配置、數據統計、數據操作都由它組織進行;

  • Database strongage:負責存儲所有的配置信息以及收集的數據;

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

  • Proxy:屬於可選組件,常用於分佈式監控環境中,代理Server收集部分數據,然後轉發到Server,可以減輕Server的壓力;

*Agent:部署在被監控的主機(客戶端)上,負責收集被監控端主機的數據,如CPU、內存、數據庫等數據,然後發送到Server端或Proxy端;

2、Zabbix進程

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

  • zabbix_agentd:客戶端守護進程,此進程用於收集被監控端的數據,如CPU負載、內存、硬盤使用情況等;

  • zabbix_get:zabbix工具是單獨使用的命令。zabbix_get是在server或者proxy端執行獲取遠程客戶端信息的命令。主要用於排錯。例如:在server端獲取不到客戶端的內存數據時,我們可以使用zabbix_get獲取客戶端的內容的方式來做故障排查;

  • zabbix_sender:用於發送數據給server或者Proxy,通常用於耗時比較常的檢查。很多檢查非常耗時間,導致zabbix超時。於是我們在腳本執行完畢之後,可以使用sender主動提交數據;

  • zabbix_server:zabbix服務器端守護進程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、
    zabbix_java_gateway的數據最終都是提交到server。數據並不都是主動提交給zabbix_server的,也有被動提交數據的,及server主動去獲取數據;

  • zabbix_proxy:zabbix代理守護進程。功能類似於server,唯一不同的是它只是一箇中轉站,需要把收集到的數據主動(或被動)地提交到server上;

  • zabbix_java_gateway:在zabbix2.0之後引入的一個功能。顧名思義:Java網關,類似agentd,但目前只用於Java方面,需要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會提交到server或者proxy;

3、Zabbix監控架構

在實際生產環境中,Zabbix根據網絡環境,監控規模等外界因素分爲三種架構:server-client(直接連接)、master-node-client(Node架構)、server-proxy-client(Proxy架構),如下圖所示:
Centos 7搭建Zabbix 4.0監控系統

1)server-client架構(直接連接)

server-client架構是Zabbix的最簡單的架構,監控機和被監控機之間不經過任何代理,直接在zabbix server和zabbix agentd之間進行數據交互,適用於網絡比較簡單,設備比較少的監控環境。

2)master-node-client架構(node架構)

master-node-client架構是Zabbix最複雜的監控架構,適用於跨網絡、跨機房、設備較多的大型環境。每個node同時也是一個server端。node下面可以接proxy,也可以直接接client。node有自己的配置文件和數據庫。其要做的是將配置信息和監控數據項master同步。當master發生故障或損壞,node可以保證架構的完整性。

3)server-proxy-client架構(proxy架構)

proxy是server、client之間溝通的一個橋樑,proxy本身沒有前端,而且其本身並不存放數據,只是將agentd發來的數據暫時存放,而後在提交給server。該架構經常是和master-node-client架構做比較的架構,一般適用於跨機房、跨網絡的中型網絡架構的監控。

4、YUM安裝Zabbix

Zabbix提供兩種安裝方式:YUM安裝與編譯安裝。需要注意的是,由於Centos官方YUM源中並不提供Zabbix軟件包以及相關依賴包,因此,如果想用YUM安裝Zabbix需要通過Zabbix官方源或第三方的YUM源實現。Zabbix服務器需要LAMP環境或LNMP環境,以下實驗部署環境採用YUM安裝的LAMP環境爲例,詳細介紹Zabbix監控服務器的部署方法。

1)安裝MariaDB

在Centos 7 系統光盤中默認提供的數據庫不是MySQL而是MariaDB,因此在LAMP架構中使用MariaDB來充當“M”的角色,其餘的組件還是保持原有的Apache與PHP。MariaDB是MySQL數據庫源碼的一個分支版本,與MySQL在大多數方面是兼容的。

2)安裝Zabbix

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

二、搭建Zabbix監控服務器

此安裝全部yum源均是通過連接公網使用網絡源而配置的

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官方網站:Zabbix官網

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  
                                                             <!--安裝網絡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數據庫

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

4、安裝及配置zabbix服務

[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數據導入到創建zabbix數據庫中 -->
[root@centos02 ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak  <!--備份zabbix服務配置文件-->
[root@centos02 ~]# vim /etc/zabbix/zabbix_server.conf     <!--修改zabbix服務配置文件-->
91 DBHost=localhost          <!--去掉註釋符號-->
100 DBName=zabbix         <!--數據庫名稱,根據實際修改,默認不用修改-->
116 DBUser=zabbix           <!--數據庫用戶名,默認不用修改-->
124 DBPassword=pwd@123     <!--數據庫密碼,修改此行-->
[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地址,這裏要指定服務器的IP地址,現在是同一臺服務器上,所有保持默認)
-->
98 Server=127.0.0.1              <!--客戶端被動等待指定服務器來查詢數據-->
139 ServerActive=127.0.0.1   <!--客戶端主動提交數據到指定的服務器-->
150 Hostname=Zabbix server <!--建議修改此行,配置規範的主機名-->
[root@centos02 ~]# vim /etc/httpd/conf.d/zabbix.conf    
                       <!--編輯 Zabbix前端配置文件,設置時區爲上海-->
21  php_value date.timezone Asia/Shanghai <!--設置爲上海時區,並該行刪除註釋符號-->

現在服務器端基本配置完成,但是由於字體顯示原因,可能使用瀏覽器訪問時,會出現部分文字以亂碼顯示,所以要下載標準中文字體。可以通過網盤下載: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/   <!--進入目錄-->
[root@centos02 fonts]# ls
graphfont.ttf            simkai.ttf
[root@centos02 ~]# vim /usr/share/zabbix/include/defines.inc.php   
         <!--修改PHP界面支持中文字體(如果不修改瀏覽器訪問會出現亂碼)-->
  70 define('ZBX_GRAPH_FONT_NAME',           'simkai');   
                   <!--將原有的“graphfont”更改爲“simkai” -->
[root@centos02 ~]# systemctl start zabbix-server zabbix-agent httpd    
             <!--啓動zabbix-server、zabbix-agent、httpd服務-->
[root@centos02 ~]# systemctl enable zabbix-server zabbix-agent httpd  <!--設置開機自動啓動-->

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

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

1)http://192.168.100.20/zabbix 訪問zabbix前端安裝嚮導,單擊Next step鍵
Centos 7搭建Zabbix 4.0監控系統

2)環境檢測界面,確保所有軟件都是OK纔可以繼續
Centos 7搭建Zabbix 4.0監控系統

3)數據庫連接配置界面,根據剛纔創建好的zabbix數據庫填寫授權信息
Centos 7搭建Zabbix 4.0監控系統

4)數據庫連接配置完成,填寫zabbix服務信息
Centos 7搭建Zabbix 4.0監控系統

5)返回配置彙總信息,默認下一步
Centos 7搭建Zabbix 4.0監控系統

6)安裝完成
Centos 7搭建Zabbix 4.0監控系統

7)登錄界面輸入默認的用戶名Admin,密碼zabbix即可登錄到zabbix服務器
Centos 7搭建Zabbix 4.0監控系統

8)修改登錄zabbix服務器的用戶及密碼,設置界面語言爲中文
Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

9)設置完成,退出重新登陸即可
Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

10)創建bob用戶,將用戶加入Guests羣組,設置密碼、語言及主題
Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

11)檢測內存,不會出現中文亂碼
Centos 7搭建Zabbix 4.0監控系統

6、配置zabbix監控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 
                       <!--網絡源安裝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服務器端-->
ServerActive=192.168.100.20      <!--zabbix服務器端-->
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服務-->
[root@centos03 ~]# systemctl enable zabbix-agent.service <!--設置爲開機自動啓動-->
[root@centos03 ~]# netstat -anptu | grep zabbix  <!--監聽agent服務是否正常啓動-->
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服務器監控Linux

①創建主機

Centos 7搭建Zabbix 4.0監控系統

②編輯詳細信息,單擊提交

Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

③添加Linux主機應用集

Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

④添加監控項

Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

⑤創建圖形

Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

⑥創建觸發器

Centos 7搭建Zabbix 4.0監控系統

Centos 7搭建Zabbix 4.0監控系統

⑦查看圖形監控圖

Centos 7搭建Zabbix 4.0監控系統

—————— 本文至此結束,感謝閱讀 ——————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章