搭建 zabbix 監控系統詳解

要想實時的瞭解服務器的運行情況而且能在出現問題時及時解決,利用監控軟件是一個很好的選擇,而zabbix監控系統則在衆多監控軟件中脫穎而出。php

zabbix是一個基於web界面的企業級開源監控軟件,Zabbix服務器須要LAMP環境或LNMP環境,提供分佈式系統監控與網絡監視功能。具有主機的性能監控,網絡設備性能監控,數據庫性能監控,多種告警方式,詳細報表、圖表的繪製等功能。監測對象能夠是Linux或Windows服務器,也能夠是路由器、交換機等網絡設備,經過SNMP、zabbix Agent、PING、端口監視等方法提供對遠程網絡服務器等監控、數據收集等功能。前端

1、zabbix監控架構:node

在生產環境中,zabbix根據網絡環境、監控規模等外界因素分爲三種架構:server-client(直接鏈接)、master-node-client(Node架構)、server-proxy-client(proxy架構),以下圖所示:
在這裏插入圖片描述
一、server-client架構:mysql

server-client架構是zabbix最簡單的架構,監控機和被監控機之間不通過任何代理,直接在zabbix server(監控服務器) 和zabbix agent(agent:部署在被監控端,用於採集數據)之間進行數據交互,適用於網絡比較簡單,設備較少的監控環境。linux

二、master-node-client架構:web

master-node-client架構是zabbix最複雜的監控架構,適用於跨網絡、跨機房、設備較多的大型環境。每一個node同時也是一個server端,node下面能夠接proxy,也能夠直接接client。node有本身的配置文件和數據庫,其要作的就是將配置信息和監控數據向master同步。當master宕機後,node能夠保證架構的完整性。sql

三、server-proxy-client架構:數據庫

proxy是server、client之間溝通的一個橋樑,proxy自己沒有前端,並且其自己不存放數據,只是將agentd發來的數據暫時存放,然後再提交給server。該架構常常是和master-node-client架構作比較的架構,通常適用於跨機房、跨網絡的中型網絡架構的監控。
2、搭建Zabbix監控服務器:
兩種server-client架構的配置方法:
一、配置本地yum倉庫,進行安裝(服務器無需鏈接到Internet);
二、直接把互聯網作yum倉庫,進而安裝,zabbix的官方文檔就是採用這種方式;
zabbix4.2 相關配置文檔: https://www.zabbix.com/documentation/4.2/manual/it_services
安裝zabbix服務器方法一:使用本地yum搭建Zabbix3.4
準備工做:
一、下載zabbix所需的yum源:
https://pan.baidu.com/s/1O5hJ0O2OcKpeBOlzDfcGQQ
提取碼: buqc
zabbix客戶端軟件包,包含Windows和Linux的客戶端程序,還有網頁所需字體
https://pan.baidu.com/s/1UC9lrc0QDUdGEO5NVa1kQQ
提取碼: vprm
二、配置防火牆放行流量,這裏爲了方便,直接給關閉了
環境以下:(這裏很差意思哈,由於特殊狀況,實驗環境有所不一樣,固然只是IP變了,如要跟作的話注意一下便可)
在這裏插入圖片描述
開始搭建zabbix服務器:vim

[root@zabbix /]# vim /etc/yum.repos.d/a.repo        # 編寫yum本地倉庫
[zabbix]
baseurl=file:///media
gpgcheck=0
[root@zabbix /]# mount /dev/sr0 /media/       # 掛載zabbix yum源到本機
[root@zabbix /]# yum -y install mariadb-server mariadb     # 因爲zabbix須要LAMP或LNMP環境,因此安裝一個MySQL,也叫mariadb,我相信諸位大佬也明白啥意思
[root@zabbix /]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent           # 安裝zabbix時會有不少依賴包,其中就包括httpd和php相關軟件包,因此直接安裝zabbix便可,無需單獨再安裝httpd和php
[root@zabbix /]# mysql -u root -p
Enter password:        # 輸入密碼
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;            # 建立zabbix的數據庫,指定爲utf-8
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123123';           # 建立zabbix用戶,並給予全部權
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
[root@zabbix /]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix      
Enter password:       # 輸入zabbix用戶的密碼
# 導入數據庫SQL腳本到zabbix數據庫
[root@zabbix /]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak       # 將主配置文件備份一份,以避免改錯
[root@zabbix /]# vim /etc/zabbix/zabbix_server.conf    # 修改以下幾項
..............    // 省略部份內容
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123123

編輯zabbix agent的配置文件,必須指定zabbix server的IP地址,在每檯安裝了agent的主機上都要配置。這裏要指定zabbix服務器的IP地址,如今是在同一臺服務器上,因此能夠不作修改:windows

[root@zabbix /]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
[root@zabbix /]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1           // 客戶端被動等待指定服務器來查詢數據
ServerActive=127.0.0.1      // 客戶端主動提交數據到指定的服務器
Hostname=linux-server001     // 修改主機名,配置規範

配置 zabbix web接口:

[root@zabbix /]# vim /etc/httpd/conf.d/zabbix.conf       # 設置時區與當前系統時區一致 
.....................              // 省略部分
       php_value date.timezone Asia/Shanghai
[root@zabbix /]# systemctl start zabbix-server           # 啓動服務
[root@zabbix /]# systemctl enable zabbix-server          #開機自啓
[root@zabbix /]# systemctl start zabbix-agent
[root@zabbix /]# systemctl enable zabbix-agent
[root@zabbix /]# systemctl start httpd          
# 啓動相關服務使配置生效

安裝 zabbix後,當顯示語言爲中文時,可能會出現中文亂碼的狀況,主要是字體致使的問題,若是要解決,須要下載合適的字體,並將其上傳到zabbix服務器上

[root@zabbix media]# cp simkai.ttf /usr/share/zabbix/fonts/      # 將字體文件複製到zabbix的字體庫
[root@zabbix media]# ls /usr/share/zabbix/fonts/
graphfont.ttf  simkai.ttf
[root@zabbix media]# vim /usr/share/zabbix/include/defines.inc.php    # 修改PHP界面指定的字體文件 
....................           // 省略部份內容
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name

使用瀏覽器配置zabbix:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
如圖下所示,爲zabbix首頁,默認是英文的:
在這裏插入圖片描述
能夠經過以下操做修改成中文:
在這裏插入圖片描述
在這裏插入圖片描述
修改完畢後,刷新一下界面,便可修改成中文
zabbix 添加被監控設備:
配置交換機:

R1#conf t
sw1(config)#int vlan 1
sw1(config-if)#ip address 192.168.1.40 255.255.255.0
sw1(config-if)#no shutdown 
sw1(config-if)#exit
sw1(config)#no ip routing
sw1(config)#snmp-server community centos RO              // 設置被服務器輪詢的只讀共同體
sw1(config)#snmp-server enable traps                  // 容許發送trap消息
% Cannot enable both sham-link state-change interface traps.
% New sham link interface trap not enabled.
sw1(config)#snmp-server host 192.168.1.20 centos          // 設置發送trap消息的共同體

路由器的配置和交換機基本類似,只不過路由器配置IP須要在接口上面配置
Linux 服務器配置:

[root@localhost media]# rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm 
[root@localhost /]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak                  # 備份文件以避免該錯
[root@localhost /]# vim /etc/zabbix/zabbix_agentd.conf       # 編輯配置文件
................
Server=192.168.1.20                      
ServerActive=192.168.1.20
Hostname=linux-server002
[root@localhost /]# systemctl start zabbix-agent.service         # 啓動服務
[root@localhost /]# systemctl enable zabbix-agent.service 
[root@localhost /]# netstat -anpt | grep agent       # 確認端口已經啓動
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      4114/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      4114/zabbix_agentd

Windows 服務器配置:
將下載的agent代理軟件包解壓後,會看到下面這兩個文件,其中「bin」目錄中有兩個子目錄,「win32」和「win64」,分別對應不一樣的系統版本,根據本身系統的版原本看本身所須要的:
在這裏插入圖片描述
複製出來就是以下圖所示的幾個文件,修改zabbix_agentd.win.conf 文件:
在這裏插入圖片描述
修改以下三項:

Server=192.168.1.20
ServerActive=192.168.1.20
Hostname=windows-server001

使用cmd命令進行安裝啓動 agent(經常使用的參數有-c:指定配置文件;-i:安裝;-s:啓動;-x:中止;-d:卸載):

c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -i
zabbix_agentd.exe [2576]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [2576]: event source [Zabbix Agent] installed successfully

c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -s
zabbix_agentd.exe [2300]: service [Zabbix Agent] started successfully

配置zabbix web端,添加被監控設備:
添加交換機:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
添加Linux服務器:
在這裏插入圖片描述
在這裏插入圖片描述
添加Windows 服務器:
在這裏插入圖片描述
在這裏插入圖片描述
當全部監控主機鏈接成功後以下圖所示:
在這裏插入圖片描述
安裝zabbix服務器方法二:使用Internet做爲yum源,搭建zabbix 4.2版本:

一、配置前準備:

一、配置zabbix服務器可鏈接Internet;
二、系統自帶的/etc/yum.repo/ 目錄下的文件必需要有。

二、開始搭建:

[root@zabbix ~]# rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
#安裝存儲庫配置包
[root@zabbix ~]# yum-config-manager --enable rhel-7-server-optional-rpms
#啓用可選rpms的存儲庫
[root@zabbix ~]# yum -y install mariadb-server mariadb
#安裝mariadb數據庫
[root@zabbix ~]# systemctl start mariadb         #啓動數據庫
[root@zabbix ~]# systemctl enable mariadb         #設置爲開機自啓動
[root@zabbix ~]# mysqladmin -u root password "pwd123"         #設置數據庫root用戶密碼
[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#安裝zabbix服務器及agent代理,若要使用代理,能夠把zabbix-proxy-mysql也yum安裝上
[root@zabbix ~]# mysql -u root -ppwd123               #登陸數據庫
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#建立數據庫
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'pwd456';
#建立zabbix服務鏈接數據庫的用戶,並設置密碼。
MariaDB [(none)]> exit           #退出數據庫
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.2.4/create.sql.gz | mysql -uzabbix -p zabbix  
#導入數據庫SQL腳本
Enter password:                          #輸入數據庫用戶zabbix密碼
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf            #編輯zabbix服務端配置文件
#注意刪除註釋符號
DBHost=localhost         #去掉註釋符號
DBName=zabbix          #數據庫名稱,根據實際修改,默認不用修改
DBUser=zabbix            #數據庫用戶名,默認不用修改
DBPassword=pwd456          #數據庫密碼,修改此行
#修改完畢保存,保存退出便可。

接下來編輯zabbix agent的配置文件,必須指定zabbix server的IP地址,在每檯安裝了agent的主機上都要配置。這裏要指定zabbix服務器的IP地址,如今是在同一臺服務器上,因此能夠不作修改:

[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf    #編輯agentd配置文件
#編輯此配置文件的目的是能夠監控該Zabbix服務器。
Server=127.0.0.1            #客戶端被動等待指定服務器來查詢數據
ServerActive=127.0.0.1           #客戶端主動提交數據到指定的服務器
Hostname=linux-server001         #建議修改此行,配置規範的主機名

配置zabbix web接口並啓動相關服務:

[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf           #編輯http配置文件
php_value date.timezone Asia/Shanghai     #設置爲上海時區,並該行刪除註釋符號
[root@zabbix ~]# systemctl start httpd              #啓動httpd服務
[root@zabbix ~]# systemctl enable httpd         #設置開機自啓動
[root@zabbix ~]# systemctl start zabbix-server            #啓動zabbix服務端
[root@zabbix ~]# systemctl enable zabbix-server          #設置開機自啓動
[root@zabbix ~]# systemctl start zabbix-agent       #啓動agent代理
[root@zabbix ~]# systemctl enable zabbix-agent          #設置開機自啓動

若訪問web頁面出現部分中文亂碼的話,能夠參考上面的安裝方法一,有解決中文亂碼的方法。

相關文章
相關標籤/搜索