您好,登錄后才能下訂單哦!
要想實(shí)時(shí)地了解服務(wù)器的運(yùn)行狀況并且能在出現(xiàn)問題時(shí)及時(shí)解決,利用監(jiān)控軟件是一個(gè)很好的途徑。就目前而言,有服務(wù)器的地方必然少不了監(jiān)控系統(tǒng)?,F(xiàn)有的監(jiān)控軟件有很多,但是Zabbix可以靈活的監(jiān)控服務(wù)器資源,并且集Cacti和Nagio兩者的優(yōu)點(diǎn)于一身且功能更加強(qiáng)大,實(shí)現(xiàn)企業(yè)級(jí)分布式監(jiān)控,所以在市場應(yīng)用更廣。
Zabbix是一個(gè)基于Web界面的企業(yè)級(jí)開源監(jiān)控套件,提供分布式系統(tǒng)監(jiān)控與網(wǎng)絡(luò)監(jiān)視功能。具有主機(jī)的性能監(jiān)控、網(wǎng)絡(luò)設(shè)備性能監(jiān)控、數(shù)據(jù)庫性能監(jiān)控、多種告警方式、詳細(xì)報(bào)表、圖表的繪制等功能。監(jiān)測的對(duì)象可以是Linux或Windows服務(wù)器,也可以是路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備,通過SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)、Zabbix、Agent、PING、端口監(jiān)視等方法提供對(duì)遠(yuǎn)程網(wǎng)絡(luò)服務(wù)器等監(jiān)控、數(shù)據(jù)收集等功能,并提供通知機(jī)制使系統(tǒng)管理員可以快速定位、解決系統(tǒng)中存在的各種問題。目前Zabbix最新版本為Zabbix 3.4.官方網(wǎng)站是http://www.zabbix.com 。
Zabbix是免費(fèi)的。Zabbix遵循GPL(通用公共許可證)版本2,這意味著它的源代碼是可以自由分布的。Zabbix的商業(yè)版本是由Zabbix公司提供支持的。世界上很多大小不同的組織機(jī)構(gòu)都依懶于Zabbix作為自己的一個(gè)主要的監(jiān)控平臺(tái)。尤其是現(xiàn)在很多互聯(lián)網(wǎng)企業(yè)都在使用它。
Zabbix是一個(gè)高度集成的網(wǎng)絡(luò)監(jiān)控解決方案,具體描述如圖:
zabbix主要由以下幾個(gè)重要的組件構(gòu)成,具體作用如下:
Zabbix Server:負(fù)責(zé)接收Agent發(fā)送報(bào)告信息的核心組件,所有的配置、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)操作都由它組織進(jìn)行;
Database strongage:負(fù)責(zé)存儲(chǔ)所有的配置信息以及收集的數(shù)據(jù);
Web interface:是zabbix的GUI接口,通常強(qiáng)開下與Zabbix Server運(yùn)行在同一臺(tái)主機(jī)上;
- Proxy:屬于可選組件,常用于分布式監(jiān)控環(huán)境中,代理Server收集部分?jǐn)?shù)據(jù),然后轉(zhuǎn)發(fā)到Server,可以減輕Server的壓力;
*Agent:部署在被監(jiān)控的主機(jī)(客戶端)上,負(fù)責(zé)收集被監(jiān)控端主機(jī)的數(shù)據(jù),如CPU、內(nèi)存、數(shù)據(jù)庫等數(shù)據(jù),然后發(fā)送到Server端或Proxy端;
默認(rèn)情況下,Zabbix包含五個(gè)程序:zabbix_agentd、zabbix_get、zabbix_sender、zabbix_server、zabbix_proxy,另外有一個(gè)zabbix_java_gateway是可選的,需要另外安裝。下面來分別介紹它們各自的作用:
zabbix_agentd:客戶端守護(hù)進(jìn)程,此進(jìn)程用于收集被監(jiān)控端的數(shù)據(jù),如CPU負(fù)載、內(nèi)存、硬盤使用情況等;
zabbix_get:zabbix工具是單獨(dú)使用的命令。zabbix_get是在server或者proxy端執(zhí)行獲取遠(yuǎn)程客戶端信息的命令。主要用于排錯(cuò)。例如:在server端獲取不到客戶端的內(nèi)存數(shù)據(jù)時(shí),我們可以使用zabbix_get獲取客戶端的內(nèi)容的方式來做故障排查;
zabbix_sender:用于發(fā)送數(shù)據(jù)給server或者Proxy,通常用于耗時(shí)比較常的檢查。很多檢查非常耗時(shí)間,導(dǎo)致zabbix超時(shí)。于是我們在腳本執(zhí)行完畢之后,可以使用sender主動(dòng)提交數(shù)據(jù);
zabbix_server:zabbix服務(wù)器端守護(hù)進(jìn)程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、
zabbix_java_gateway的數(shù)據(jù)最終都是提交到server。數(shù)據(jù)并不都是主動(dòng)提交給zabbix_server的,也有被動(dòng)提交數(shù)據(jù)的,及server主動(dòng)去獲取數(shù)據(jù);zabbix_proxy:zabbix代理守護(hù)進(jìn)程。功能類似于server,唯一不同的是它只是一個(gè)中轉(zhuǎn)站,需要把收集到的數(shù)據(jù)主動(dòng)(或被動(dòng))地提交到server上;
- zabbix_java_gateway:在zabbix2.0之后引入的一個(gè)功能。顧名思義:Java網(wǎng)關(guān),類似agentd,但目前只用于Java方面,需要特別注意的是,它只能主動(dòng)去獲取數(shù)據(jù),而不能被動(dòng)獲取數(shù)據(jù)。它的數(shù)據(jù)最終會(huì)提交到server或者proxy;
在實(shí)際生產(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)),如下圖所示:
server-client架構(gòu)是Zabbix的最簡單的架構(gòu),監(jiān)控機(jī)和被監(jiān)控機(jī)之間不經(jīng)過任何代理,直接在zabbix server和zabbix agentd之間進(jìn)行數(shù)據(jù)交互,適用于網(wǎng)絡(luò)比較簡單,設(shè)備比較少的監(jiān)控環(huán)境。
master-node-client架構(gòu)是Zabbix最復(fù)雜的監(jiān)控架構(gòu),適用于跨網(wǎng)絡(luò)、跨機(jī)房、設(shè)備較多的大型環(huán)境。每個(gè)node同時(shí)也是一個(gè)server端。node下面可以接proxy,也可以直接接client。node有自己的配置文件和數(shù)據(jù)庫。其要做的是將配置信息和監(jiān)控?cái)?shù)據(jù)項(xiàng)master同步。當(dāng)master發(fā)生故障或損壞,node可以保證架構(gòu)的完整性。
proxy是server、client之間溝通的一個(gè)橋梁,proxy本身沒有前端,而且其本身并不存放數(shù)據(jù),只是將agentd發(fā)來的數(shù)據(jù)暫時(shí)存放,而后在提交給server。該架構(gòu)經(jīng)常是和master-node-client架構(gòu)做比較的架構(gòu),一般適用于跨機(jī)房、跨網(wǎng)絡(luò)的中型網(wǎng)絡(luò)架構(gòu)的監(jiān)控。
Zabbix提供兩種安裝方式:YUM安裝與編譯安裝。需要注意的是,由于Centos官方Y(jié)UM源中并不提供Zabbix軟件包以及相關(guān)依賴包,因此,如果想用YUM安裝Zabbix需要通過Zabbix官方源或第三方的YUM源實(shí)現(xiàn)。Zabbix服務(wù)器需要LAMP環(huán)境或LNMP環(huán)境,以下實(shí)驗(yàn)部署環(huán)境采用YUM安裝的LAMP環(huán)境為例,詳細(xì)介紹Zabbix監(jiān)控服務(wù)器的部署方法。
在Centos 7 系統(tǒng)光盤中默認(rèn)提供的數(shù)據(jù)庫不是MySQL而是MariaDB,因此在LAMP架構(gòu)中使用MariaDB來充當(dāng)“M”的角色,其余的組件還是保持原有的Apache與PHP。MariaDB是MySQL數(shù)據(jù)庫源碼的一個(gè)分支版本,與MySQL在大多數(shù)方面是兼容的。
因?yàn)榘惭bZabbix時(shí)會(huì)安裝很多依賴包,其中包括httpd與PHP相關(guān)依賴包,所以直接安裝Zabbix即可。無須在單獨(dú)安裝httpd與PHP。
此安裝全部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官方配置文檔
[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源-->
[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
[root@centos02 ~]# yum -y install mariadb mariadb-server <!--安裝mariadb數(shù)據(jù)庫依賴-->
[root@centos02 ~]# systemctl start mariadb.service <!--啟動(dòng)服務(wù)-->
[root@centos02 ~]# systemctl enable mariadb.service <!--設(shè)置服務(wù)開機(jī)自啟-->
[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-->
[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 <!--去掉注釋符號(hào)-->
100 DBName=zabbix <!--數(shù)據(jù)庫名稱,根據(jù)實(shí)際修改,默認(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)在是同一臺(tái)服務(wù)器上,所有保持默認(rèn))
-->
98 Server=127.0.0.1 <!--客戶端被動(dòng)等待指定服務(wù)器來查詢數(shù)據(jù)-->
139 ServerActive=127.0.0.1 <!--客戶端主動(dòng)提交數(shù)據(jù)到指定的服務(wù)器-->
150 Hostname=Zabbix server <!--建議修改此行,配置規(guī)范的主機(jī)名-->
[root@centos02 ~]# vim /etc/httpd/conf.d/zabbix.conf
<!--編輯 Zabbix前端配置文件,設(shè)置時(shí)區(qū)為上海-->
21 php_value date.timezone Asia/Shanghai <!--設(shè)置為上海時(shí)區(qū),并該行刪除注釋符號(hào)-->
現(xiàn)在服務(wù)器端基本配置完成,但是由于字體顯示原因,可能使用瀏覽器訪問時(shí),會(huì)出現(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界面支持中文字體(如果不修改瀏覽器訪問會(huì)出現(xiàn)亂碼)-->
70 define('ZBX_GRAPH_FONT_NAME', 'simkai');
<!--將原有的“graphfont”更改為“simkai” -->
[root@centos02 ~]# systemctl start zabbix-server zabbix-agent httpd
<!--啟動(dòng)zabbix-server、zabbix-agent、httpd服務(wù)-->
[root@centos02 ~]# systemctl enable zabbix-server zabbix-agent httpd <!--設(shè)置開機(jī)自動(dòng)啟動(dòng)-->
我這里客戶端使用的是火狐瀏覽器,如果沒有可以通過上面連接提取
1)http://192.168.100.20/zabbix 訪問zabbix前端安裝向?qū)В瑔螕鬘ext 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)存,不會(huì)出現(xiàn)中文亂碼
[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客戶端計(jì)算機(jī)名或者IP地址-->
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#UnsafeUserParameters=0
[root@centos03 ~]# systemctl start zabbix-agent.service <!--啟動(dòng)zabbix-agent服務(wù)-->
[root@centos03 ~]# systemctl enable zabbix-agent.service <!--設(shè)置為開機(jī)自動(dòng)啟動(dòng)-->
[root@centos03 ~]# netstat -anptu | grep zabbix <!--監(jiān)聽agent服務(wù)是否正常啟動(dòng)-->
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2244/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 2244/zabbix_agentd
—————— 本文至此結(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)容。