溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

發布時間:2020-05-23 21:02:37 來源:網絡 閱讀:14542 作者:大白一起學 欄目:建站服務器

第一章? Zabbix 安裝與配置

1.1 Zabbix 介紹

Zabbix是一個企業級的開源監控軟件,可以監控IT基礎架構的可用性和應用的性能,為用戶提供集中管理、分布式監控的一站式(all in one)監控解決方案,是一款真正的開源產品(True Open source)。采用GPL協議發布,不論是商業或非商業的使用沒有任何限制,可以說是絕對的自由使用。不同于其他開源產品有社區版本和企業版本的區別,Zabbix軟件本身提供的功能、監控設備的數量等方面沒有任何限制。無論是企業或者個人使用,你都可以對源代碼進行修改、定制以便適應自身需求,尤其是對企業來講很重要的一點就是避免了廠商鎖定的問題。

Zabbix最基本的目的是收集監控數據,將收集的數據統一保存到數據庫中進行分析處理,利用Web前端頁面可以輕松的將這些監控數據實時展示出來。通過與設定的閥值進行比較觸發特定的事件并產生相應的動作,發出告警通知或執行遠程命令。Zabbix 提供了多種監控方式用來監控基礎架構的各個方面,不僅有專用的Agent,還支持External checks、SNMP、IPMI、JMX monitoring、SSH checks等多種方式收集監控數據,具有豐富的功能和靈活的擴展性。事實上,幾乎所有你能想到的都可以在Zabbix中實現監控。

Alexei Vladishev 1998年開始創建Zabbix,2001年他發布了Zabbix的第一個版本,自從第一次發布起,Zabbix就確定了它的開發指南:

  • 關于閾值、觸發器和警報的所有規則均由 Zabbix 服務器管理。

  • 幾乎所有的配置任務都可以通過Zabbix?Web前端頁面完成。

  • 使用PHP開發Zabbix Web前端頁面,使用C語言開發Zabbix 服務器保證核心系統的性能。

  • 所有的數據(包括配置和歷史數據)存儲在關系數據庫中(將來也可以在 NoSQL 數據庫中存儲歷史數據)。

目前Zabbix支持的穩定發行版本如下表1-1所示:

1-1

版本

發布日期

終止支持日期

Zabbix 3.0

2016216

20192

Zabbix 2.2

20131112

20178

目前在運維監控領域越來越多的人開始關注并使用Zabbix,那為什么Zabbix會在眾多開源監控軟件中脫穎而出,成為最受歡迎的開源監控產品,或者說使用Zabbix監控系統的理由,可以歸納為以下幾點:

  • 只需要Linux、Apache/Nginx、PHP、MySQL/PostgreSQL,無須專用的操作系統和硬件。

  • 安裝和配置簡單,提供集中統一的Web前端管理界面,易學易用。

  • 服務器可以安裝運行在大部分UNIX-like的操作系統中,包括Linux、AIX、BSD、Mac OS XSolaris。

  • 原生的agents支持大部分UNIX-like操作系統和Windows操作系統。

  • 支持 SNMPSNMPv1、SNMPv2c、SNMPv3trappingpolling方式監控設備。

  • 能直接監控IPMI 設備。

  • 利用JMXJava Management Extensions)監控Java應用。

  • 利用VMware API可以直接監控vCentervSphere。

  • 內置繪圖功能,實時展示監控數據和其他可視化功能。

  • 收集的數據持久保存到中心數據庫中,便于對監控數據的二次分析。

  • 可以很方便的使用微信、釘釘等擴展告警方式。

  • Zabbix API提供可編程接口,可以使用多種不同的編程語言與第三方系統的集成。得輕松、簡單。

  • 靈活強大的模板化配置,并支持模板的嵌套。

  • 具有自動發現網絡設備、自動注冊主機、自動添加模板等功能,實現自動化運維。

  • 具有豐富的擴展能力,可以輕松的自定義監控項并收集數據,幾乎能監控你想得到的所有數據。

當然還有很多功能特性,例如用戶及權限管理、靈活的告警條件設置及告警升級等,在這里不再一一列舉,隨著本書的介紹,相信你將對Zabbix有一個深入的了解。

近日完成《深入淺出?zabbix 4.0》視頻教程的錄制并正式發布,該教程基于 zabbix 4.2 ,對Zabbix進行全面講解。歡迎大家圍觀。課程鏈接:https://edu.51cto.com/sd/ce000?

1.2 Zabbix 組件與架構

Zabbix監控系統包含四個主要組件:Zabbixserver、Zabbix proxy、Zabbix databaseZabbix GUI。每個組件都有其自身的特點和要求:

  • Zabbix server:這是核心引擎,負責收集或接收來自被監控設備的數據。它是用C語言開發的,與Zabbix agents、Zabbix proxy Zabbix database進行通信。它是最主要的組件,管理所有的規則(包括收集監控數據、觸發器、告警等等)。

  • Zabbix?GUI:這是?Zabbix Web前端管理頁面,用戶通過Web前端頁面可以查看Zabbixserver收集的數據,也可以對Zabbix server進行配置。它是用?PHP?開發的,使用支持?PHP程序運行的?web?服務器?(ApacheNginx),并與?Zabbix?數據庫通信。

  • Zabbix database?這是?Zabbix?數據存儲庫。?Zabbix的后端數據庫可以是?Oracle、?IBM DB2、PostgreSQL、MySQL??SQLite3。在這本書中,我們將使用MySQL?作為數據庫。

  • Zabbix?proxy:這是一個可選的組件,利用它來實現分布式監控架構或分擔Zabbix server的負載,提高Zabbix server的性能。它的主要功能是協助?Zabbix server從被監視的主機或設備收集數據。Zabbix?proxy收集的數據首先存放到本地臨時數據庫中,隨后定時發送到?Zabbix server,即便Zabbix serverZabbix proxy的連接斷開也不會導致數據的丟失(數據保留的時間可在proxy的配置文件中設置)。在3.0版本中原生支持Zabbix serverZabbix proxy之間的數據加密傳輸(基于證書或者基于共享秘鑰的加密都是支持的)。

通過圖1-1可以看到,Zabbix是一個三層架構,在實現時我們需要安裝以下三個服務器,即Web服務器、Database服務器和Zabbix服務器。


深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-1

如果需要監控的規模比較?。◣着_或幾十臺主機),上面提到的三個服務器可以同時安裝在一個物理服務器中,這種方式的優點是安裝配置簡單快速,初期部署成本比較低。如下圖1-2所示。


深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

?1-2

隨著監控規模的不斷擴大,需要保存和處理更多的監控數據,也會有更多的運維人員訪問Zabbix Web前端頁面,這樣勢必會讓Zabbixserver的處理性能下降,出現斷圖、Web前端頁面訪問慢等問題。這時我們可以將Web服務器、Database服務器和Zabbix服務器拆分,分別安裝到不同的物理服務器中。這種方式中每個服務器組件使用專用的硬件資源,可以解決相應的性能問題,但是需要增加服務器硬件的投入。如下圖1-3所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-3


?

1.3 Zabbix 數據處理流程

?深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-4

在標準的Zabbix數據處理流程中,主要是通過幾個不同的數據源端發送數據到Zabbix server,所有的數據都會保存到數據庫中,并通過Web GUI為用戶展現結果。從上圖1-4中我們可以看到發送數據的主要源包括:

  • Zabbix agent

  • Zabbix sender

  • Other agent (如腳本或者自定義的第三方的agent

  • Zabbix proxy

?

1.4 Zabbix部署前的一些考慮

準備部署Zabbix之前,應當根據實際的IT基礎架構和業務需求,規劃設計Zabbix監控部署方案,盡量避免后期使用過程中可能遇到的性能、容量等方面的問題。

1.4.1 確定Zabbix部署架構

Zabbix在大部分場景中以集中式架構部署即可滿足要求,所謂集中式架構就是無論Zabbix server、Database serverWeb server是否安裝在同一臺服務器中,所有的監控數據都是由Zabbix server收集。如果你需要監控的IT基礎架構有多個分中心或分支機構,建議采用分布式架構部署,在每個分中心或分支機構增加Zabbix proxy,由Zabbix proxy收集本地的監控數據后統一傳輸到Zabbix server中存儲和處理,實現分布式架構、集中監控的方案。

1.4.2 評估服務器硬件資源

服務器只要有128MB內存和256MB磁盤空間就能夠正常運行Zabbix,但在實際環境中部署時需要根據監控需求加以調整。

下表1-2為官方列舉的服務器硬件配置:

1-2

類型

系統平臺

CPU/內存

數據庫

硬盤

被監控主機

小型

CentOS

虛擬機

MySQL InnoDB

SATA

100

中型

CentOS

2 CPU cores/2GB

MySQL InnoDB

SATA

500

大型

RedHat Enterprise Linux

4 CPU cores/8GB

MySQL InnoDB

PostgreSQL

RAID 10

SASSSD

>1000

超大型

RedHat Enterprise Linux

8CPU cores/16GB

MySQL InnoDB

PostgreSQL

RAID 10

SASSSD

>10000

服務器的硬件配置和被監控主機的數量、監控指標的數量以及觸發器的設置和數量等都有很密切的關系,數量越大意味著Zabbix需要更高的處理器性能,特別是數據庫不僅需要大量的處理器資源,還需要更多的內存。

當收集監控數據的間隔時間設置的比較小時,會提高數據的刷新速率,同時也會對數據庫帶來更密集的讀寫操作,因此在被監控主機數量和監控指標的數量很大時,建議配置SSD硬盤,避免磁盤I/O和數據庫的性能成為瓶頸。

1.4.3 數據庫的選擇

Zabbix雖然支持Oracle、PostgreSQL、IBM DB2、MySQLSQLite數據庫,但在生產環境中建議使用MySQL數據庫,理由是Zabbix的開發后端數據庫使用的就是MySQL數據庫,使用MySQL數據庫應該能夠獲得Zabbix最好的性能。除非你的環境中只能使用Oracle數據庫,否則不建議使用,Zabbix使用Oracle可能會有一些性能方面的問題。IBM DB2數據庫目前處于試驗階段,不建議使用。在Zabbix proxy中使用SQLite 3作為數據庫是沒有任何問題的,但是在Zabbix server中不能使用SQLite 3,Zabbix v2.4以上的版本中serverweb前端對數據庫的并發訪問可能會造成數據庫的損壞。

MySQL數據庫目前有兩個衍生版:Percona MariaDB,在生成環境中建議的選擇順序為Perconaà MariaDB à Oracle MySQL。

1.4.4 磁盤容量的計算

影響Zabbix占用磁盤空間大小的因素主要有以下幾個:

  • 監控項總數。

  • 監控項的平均刷新率。

  • 數據保留天數。

  • 數據庫中新增一條數據占用的磁盤空間。不同的數據庫中這個值會有所不同,在MySQL數據庫中,新增一條數值(numeric)類型的歷史或趨勢數據記錄一般占用大約90個字節(bytes),文本(text)或日志(log)類型的記錄大約占用 500 字節(bytes)。新增一條事件記錄一般占用大約170個字節(bytes)。

占用磁盤空間的容量可以用下面的公式計算:

磁盤總容量= 配置數據 + 歷史數據+ 趨勢數據 + 事件數據

其中:

  • 配置數據:Zabbix中所有相關的配置數據都保存在數據庫中,大約占10MB的磁盤空間。

  • 歷史數據:歷史記錄通常會保留一段時間,比如說30天,1年,可根據你的需要設置。當新增一條記錄時占用相應的磁盤空間可以用下面的公式計算:

歷史數據保留天數* 24 * 3600 *(監控項總數/平均刷新率)* 90 bytes

  • 趨勢數據:Zabbix每過1小時會便會對所有的監控項進行max/min/avg/count的統計并將結果保存到數據庫的趨勢表(trends)中,當新增一條記錄時占用相應的磁盤空間可以用下面的公式計算:

趨勢數據保留天數* 監控項總數 * 24 * 90bytes

  • 事件數據:每天Zabbix中生成的事件很難估計一個比較準確的數量,我們可以假設Zabbix每秒鐘生成一個事件,新增記錄占用磁盤的空間可以用下面的公式計算:

事件數據保留天數* 24 * 3600 * 170 bytes

下面通過例子來看看磁盤容量的計算過程:

假設有3000個監控項,每60秒鐘刷新一次。

首先我們要計算出每秒鐘需要處理的監控項數量,即監控項總數/平均刷新率,3000 / 60 = 50,這個值的意思是Zabbix每秒鐘會在數據庫中新增50條記錄。

再分別計算出歷史數據、趨勢數據和事件數據占用的磁盤空間。

  • 假設每個監控項的歷史數據保留30天,歷史數據占用的磁盤空間容量為:歷史數據保留天數* 24 * 3600 *(監控項總數/平均刷新率)* 90 bytes,即(30 * 24 *3600* 50 * 90,計算得出需要11.7 GB磁盤空間。

  • 假設每個監控項的趨勢數據保留5年,趨勢數據占用的磁盤空間容量為:趨勢數據保留天數* 監控項總數 * 24 * 90bytes,即(5 * 24 * 365* 3000 * 90,計算得出需要11.8 GB磁盤空間。

  • 假設每個事件保留3年,事件數據占用的磁盤空間容量為:事件數據保留天數* 24 * 3600 * 170 bytes,即 3 * 365 * 24 * 3600 * 170,計算得出需要16GB磁盤空間。

  • 數據庫表分區

Zabbix中對過期的歷史、趨勢等數據的管理,提供了Housekeeper功能,通過Housekeeping可以自動刪除過期的數據。監控規模較小,數據不是很多的情況下,使用Housekeeper不會有什么問題。當監控的規模上去后,數據庫的存儲容量也會快速增長,這時候如果使用Housekeeping自動刪除大量過期的數據,將需要更多的時間來完成刪除任務。在刪除過期數據的同時又要滿足新數據入庫和各種數據查詢的操作,很容易出現數據庫的性能問題,例如操作Web前端頁面時出現卡頓,新數據不能正常入庫等。

為了解決這個問題,我們通常采用的辦法是對history、history_uint、trends、trends_uint等數據表進行表分區,如下圖1-5所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-5

表分區會帶來如下好處:

  • 大大改善單表的查詢性能。

  • 分區會減少索引的大小。

  • 大規模刪除可以通過刪除分區表完成,比執行SQL刪除命令更快。

  • 查詢需要大范圍的訪問分區時,使用順序掃描的方法比使用索引效率更高。

因此,根據實際環境,如果監控數據量比較大,那么建議你在安裝前考慮數據庫表分區,早分比晚分好。

1.5安裝Zabbix

在本書中使用的環境是:

  • OSCentOS 7.2 SElinux需設置為disable

  • Web serverApache

  • Database servermariadb

  • Zabbix serverversion 3.0.1

Zabbix的安裝和其他軟件一樣,可以有兩種方法安裝:基于包管理器安裝和基于源碼編譯安裝。

基于包管理器安裝的好處:

  • 輕松的安裝和升級

  • 自動解決所有的依賴關系

基于源碼編譯安裝的好處:

  • 只需要編譯自己需要的特性

  • 完全控制升級過程

  • 可以靜態編譯agent,在不同的linux平臺使用統一版本的agent

在一個大的IT基礎架構中會有不同版本的Linux、UnixWindows系統,如果我們使用Zabbix發布的agent,會造成使用的agent版本不一致的情況,而不同版本的agent定義的配置文件的存儲位置可能不一樣,這樣在運維中無法實現標準化的統一管理,給運維帶來壓力。通過--enable-static 選項進行編譯,為我們提供了標準化的方法,在不同的系統中輕松部署相同版本的agent。

下面我們開始安裝和配置Zabbix server、Zabbix agentZabbix proxy。為了學習、測試Zabbix,我們也可以在虛擬機中安裝,在實際的生產環境中不建議使用虛擬機。

1.5.1安裝Zabbix server

安裝Zabbix
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

?安裝MySQL serverZabbix server

# yuminstall mariadb-server mariadb zabbix-server-mysql zabbix-web-mysql

#systemctl enable mariadb

#systemctl start mariadb.service
# /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT ISRECOMMENDED FOR ALL MySQL

?????SERVERS IN PRODUCTION USE!? PLEASEREAD EACH STEP CAREFULLY!

?

In order to log into MySQL to secure it,we'll need the current

password for the root user.? If you've just installed MySQL, and

you haven't set the root password yet, thepassword will be blank,

so you should just press enter here.

?

Enter current password for root (enter fornone):

OK, successfully used password, movingon...

?

Setting the root password ensures thatnobody can log into the MySQL

root user without the proper authorisation.

?

Set root password? [Y/n] y

New password: (此處設置數據庫root用戶密碼,本書例子中設置為zabbix

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

?...Success!

?

By default, a MySQL installation has ananonymous user, allowing anyone

to log into MySQL without having to have auser account created for

them.?This is intended only for testing, and to make the installation

go a bit smoother.? You should remove them before moving into a

production environment.

?

Remove anonymous users? [Y/n] y

?...Success!

?

Normally, root should only be allowed to connectfrom 'localhost'.? This

ensures that someone cannot guess at theroot password from the network.

?

Disallow root login remotely? [Y/n] y

?...Success!

?

By default, MySQL comes with a databasenamed 'test' that anyone can

access.?This is also intended only for testing, and should be removed

before moving into a productionenvironment.

?

Remove test database and access to it?[Y/n] y

?-Dropping test database...

?...Success!

?-Removing privileges on test database...

?...Success!

?

Reloading the privilege tables will ensurethat all changes made so far

will take effect immediately.

?

Reload privilege tables now? [Y/n] y

?...Success!

?

Cleaning up...

?

All done!?If you've completed all of the above steps, your MySQL

installation should now be secure.

創建Zabbix數據庫

#mysql -u root -p
MariaDB [(none)]> create database zabbixcharacter set utf8 collate utf8_bin;

MariaDB [(none)]> use zabbix;

MariaDB [(none)]> grant all privilegeson zabbix.* to zabbix@'%' identified by 'zabbix';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

?

# cd/usr/share/doc/zabbix-server-mysql-3.0.0

# zcatcreate.sql.gz | mysql -uroot -pzabbix zabbix

zabbix數據庫中創建表,命令中 -uroot 是數據庫的root用戶,-pzabbix 是數據庫root用戶的密碼zabbix,。

?

修改Zabbix server的配置文件

# vi/etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix (此處為你設置的密碼,本書例子中設置為zabbix

允許并啟動Zabbix服務器

#systemctl enable zabbix-server
# systemctl start zabbix-server

檢查Zabbix服務器是否正常啟動

# cat /var/log/zabbix/zabbix_server.log

? 2924:20160302:155929.675 Starting ZabbixServer. Zabbix 3.0.1 (revision 58734).

? 2924:20160302:155929.675 ****** Enabledfeatures ******

? 2924:20160302:155929.675 SNMPmonitoring:?????????? YES

? 2924:20160302:155929.675 IPMImonitoring:?????????? YES

? 2924:20160302:155929.675 Web monitoring:??????????? YES

? 2924:20160302:155929.675 VMwaremonitoring:???????? YES

? 2924:20160302:155929.676 SMTPauthentication:?????? YES

? 2924:20160302:155929.676 Jabbernotifications:????? YES

? 2924:20160302:155929.676 Ez Textingnotifications:? YES

? 2924:20160302:155929.676 ODBC:????????????????????? YES

? 2924:20160302:155929.676 SSH2 support:????????????? YES

? 2924:20160302:155929.676 IPv6 support:????????????? YES

? 2924:20160302:155929.676 TLS support:???????? ??????YES

? 2924:20160302:155929.676******************************

? 2924:20160302:155929.676 using configurationfile: /etc/zabbix/zabbix_server.conf

? 2924:20160302:155929.694 current databaseversion (mandatory/optional): 03000000/03000000

? 2924:20160302:155929.694 required mandatoryversion: 03000000

? 2924:20160302:155929.698 server #0 started[main process]

? 2929:20160302:155929.698 server #1 started[configuration syncer #1]

? 2930:20160302:155929.698 server #2 started[db watchdog #1]

? 2932:20160302:155929.699 server #3 started[poller #1]

? 2952:20160302:155929.704 server #23 started[history syncer #4]

? 2944:20160302:155929.704 server #15 started[alerter #1]

? 2946:20160302:155929.704 server #17 started[timer #1]

? 2934:20160302:155929.704 server #5 started[poller #3]

? 2935:20160302:155929.710 server #6 started[poller #4]

? 2938:20160302:155929.715 server #9 started[trapper #1]

? 2940:20160302:155929.717 server #11 started[trapper #3]

? 2936:20160302:155929.720 server #7 started[poller #5]

? 2949:20160302:155929.729 server #20 started[history syncer #1]

? 2950:20160302:155929.729 server #21 started[history syncer #2]

? 2942:20160302:155929.730 server #13 started[trapper #5]

? 2937:20160302:155929.731 server #8 started[unreachable poller #1]

? 2954:20160302:155929.731 server #25 started[proxy poller #1]

? 2933:20160302:155929.733 server #4 started[poller #2]

? 2939:20160302:155929.741 server #10 started[trapper #2]

? 2941:20160302:155929.747 server #12 started[trapper #4]

? 2943:20160302:155929.749 server #14 started[icmp pinger #1]

? 2945:20160302:155929.749 server #16 started[housekeeper #1]

? 2947:20160302:155929.749 server #18 started[http poller #1]

? 2951:20160302:155929.749 server #22 started[history syncer #3]

? 2955:20160302:155929.749 server #26 started[self-monitoring #1]

? 2953:20160302:155929.749 server #24 started[escalator #1]

? 2948:20160302:155929.752 server #19 started[discoverer #1]

當你看到上面的信息時表明zabbix安裝、啟動成功。

3019:20160302:160415.128 [Z3001] connectionto database 'zsabbix' failed: [1044] Access denied for user'zabbix'@'localhost' to database 'zsabbix'

3019:20160302:160415.128 Cannot connect tothe database. Exiting...

如果你看到上面的信息,說明Zabbix服務器沒有正常啟動,請檢查配置文件/etc/zabbix/zabbix_server.confDBHost、DBName 、DBUser DBPassword參數是否正確設置:

設置防火墻

# firewall-cmd--permanent --add-port=10051/tcp

#firewall-cmd --reload

?

檢查10051 10050端口在 /etc/service中是否注冊:

# grep1005 /etc/services

zabbix-agent??? 10050/tcp?????????????? # Zabbix Agent

zabbix-agent??? 10050/udp?????????????? # Zabbix Agent

zabbix-trapper? 10051/tcp?????????????? # Zabbix Trapper

zabbix-trapper? 10051/udp?????????????? # Zabbix Trapper

現在我們已經安裝和配置好了Zabbix服務器及MySQL數據庫,可以根據需要對Zabbix server進行優化配置。準備對配置文件進行修改時,我們可以復制一份正在使用的配置文件并進行修改,完成后可以使用–c參數用新的配置文件啟動Zabbix服務器,檢查配置文件中參數配置的正確性。

# /sbin/zabbix_server?–c ?<config file> ??????????

其中<config file>是修改后的配置文件。

1.5.2安裝Zabbix agent

Zabbix agent是一個很小的程序,大概有320KB的大小,在所有Zabbix 服務器中都會安裝agent,以便我們監控Zabbix服務器本地的資源。需要監控其他服務器時,我們只需要安裝agent就可以。

Zabbix服務器中安裝agent時,服務器中已經安裝了Zabbix源,所以直接通過yum命令安裝即可。在其他服務器中安裝agent之前,請按照前面介紹的方法安裝設置Zabbix源。

安裝agent

#yum install zabbix-agent

設置防火墻

# firewall-cmd --permanent --add-port=10050/tcp

# firewall-cmd –reload

修改agent配置文件

# vi/etc/zabbix/zabbix_agentd.conf
Server=< zabbix serverIP地址>????????????????? # 被動模式下需要設置,從哪個服務器連接agent
ServerActive=<zabbixserverIP地址>??????? # 主動模式下需要設置,向哪個服務器發生數據

Hostname=<被監控主機的名稱>??????????????????? # 主動模式下必須設置,被動模式不需要

?

關于Zabbix agent主動模式和被動模式的設置請參考第三章內容。

多個Zabbix服務器可以同時和一個agent連接,獲得該agent端的監控數據,設置時每個IP地址間用逗號分隔。例如:Server=192.168.2.100,192.168.10.2。

啟動agent

#systemctl enable zabbix-agent

#systemctl start zabbix-agent

檢查agent是否正常啟動

# cat/var/log/zabbix/zabbix_agentd.log

?6489:20160303:112252.464 Starting Zabbix Agent [zabbixsrv]. Zabbix 3.0.1(revision 58734).

?6489:20160303:112252.464 **** Enabled features ****

?6489:20160303:112252.464 IPv6 support:????????? YES

?6489:20160303:112252.464 TLS support:?????????? YES

?6489:20160303:112252.464 **************************

?6489:20160303:112252.464 using configuration file:/etc/zabbix/zabbix_agentd.conf

?6489:20160303:112252.464 agent #0 started [main process]

?6490:20160303:112252.465 agent #1 started [collector]

?6491:20160303:112252.465 agent #2 started [listener #1]

?6492:20160303:112252.465 agent #3 started [listener #2]

?6493:20160303:112252.467 agent #4 started [listener #3]

?

如果你看到上面的信息說明Zabbix agent啟動成功。如果在日志中看到下面的信息:

2155:20150907:220219.494 no active checks on server[192.168.0.116:10051]: host [Zabbix server] not monitored

不用擔心,這是因為沒有設置ServerActive這個參數,當anget安裝成功后,該參數默認設置為127.0.0.1,如果你使用主動模式,需要把ServerActive設置成Zabbix server的地址,同時設置參數Hostnameagent安裝成功后默認設置為Zabbix server)。如果你確定不使用主動模式,可以在配置文件中該參數前加#號注釋掉。建議配置anget時,將Server、ServerActiveHostname參數同時配置好。

修改Zabbix agent的配置文件后,記著一定要重啟agent服務,否則修改的參數不會生效。

1.5.3安裝Zabbix Web GUI

我們已經在Zabbix服務器中安裝設置了Zabbix源,直接通過yum命令安裝即可。在其他服務器中安裝web頁面之前,請按照前面介紹的方法先安裝設置Zabbix源。

安裝Web GUI組件

#yum install zabbix-web zabbix-web-mysql

設置php的配置

# vi/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

設置防火墻

#firewall-cmd --permanent --add-service=http

# firewall-cmd –reload

設置httpd服務

#systemctl enable httpd

#systemctl start httpd

現在我們已經完成了web前端系統的安裝,你可以通過reboot命令重新引導服務器,系統重啟后檢查日志看看所有的組件是否正常啟動。

接下來我們在web 瀏覽器輸入http://192.168.0.22/zabbix進入web頁面(192.168.0.22換成你自己的服務器地址),你看到了嗎?Zabbix 3.0的歡迎頁面出現了,這時候是不是很開心啊。如下圖1-5所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-6

點擊頁面右下角的Next step按鈕進入php配置檢查頁面,在這里Zabbix將檢查php的配置,通常Zabbix會提供相關配置的文件,我們唯一要做的就是設置timezone,如果某些參數有問題,你可以通過檢查Zabbix的配置文件解決。如下圖1-7所示。

?

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-7

確認所有php項目都顯示為OK時點擊Next step進入數據庫配置頁面,在這個頁面我們需要填寫數據庫的連接信息(在安裝數據庫時我們已經設置),填寫相關信息后就可以進行下一步操作。如下圖1-8所示。

?深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置


1-8

點擊Next step進入Zabbix服務器配置頁面,在Zabbix server details頁面中,需要填寫Zabbixserver的主機名或IP地址,以及端口號,一般這個信息會自動填寫,如果沒有你可以自己添加。Name是可選的,如果你愿意也可以設置。如下圖1-9所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-9

點擊Next step進入配置信息預覽頁面,在這個頁面顯示前幾個步驟設置的信息,你可以再檢查一下是否正確。如下圖1-10所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-10

點擊Next step,出現安裝頁面,頁面中提示你Zabbix前端已經成功安裝,并在目錄/etc/zabbix/web/中創建了配置文件zabbix.conf.php。如下圖1-11所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-11

在上圖1-11中點擊Finish按鈕,完成Zabbix web的配置安裝。

Web前端的登錄頁面中,我們輸入Zabbix默認的用戶名和密碼,用戶名:Admin,密碼:zabbix ,這里一定要注意用戶名的大小寫。如下圖1-12所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-12

輸入正確的用戶名和密碼后,點擊Sign in 按鈕登錄系統,或者點擊signin guest鏈接已Guest用戶的身份登錄系統。登錄后的Web頁面如下圖1-13所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-13

?

設置web中文頁面

1、編輯locales.inc.php文件啟用簡體中文。修改zh_CN'display' => true,在v3.0.3版本后Zabbix默認設置zh_CNtrue。

# vi /usr/share/zabbix/include/locales.inc.php

'zh_CN' => ['name' => _('Chinese(zh_CN)'),???? 'display' => false],

?

2、在Zabbix web頁面中點擊Admin 圖標。如下圖1-14所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-14

?

3、在 Language 中選擇Chinese(zh_CN),點擊Update按鈕保存。如下圖1-15所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-15

?

3、刷新web頁面,我們就可以看到中文了,但是在圖形頁面里中文顯示不出來,這是因為字體的原因。如下圖1-16所示。

?

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

1-16

?

?

4、拷貝中文字體如 simkai.ttf /usr/share/fonts/

# ll /usr/share/fonts

total 11520

total 11516

drwxr-xr-x 2 root root???? 4096 Mar?2 15:26 dejavu

-rw-r--r—1 ?root root 11785184 Mar? 3 12:53 simkai.ttf

?

5、給Zabbix web頁面添加字體

# ll /usr/share/zabbix/fonts

total 0

lrwxrwxrwx 1 root root 33 Mar? 3 12:56 graphfont.ttf ->/etc/alternatives/zabbix-web-font

?

# alternatives --install/usr/share/zabbix/fonts/graphfont.ttf zabbix-web-font /usr/share/fonts/simkai.ttf100

?

# alternatives --display zabbix-web-font

zabbix-web-font - status is manual.

?linkcurrently points to /usr/share/fonts/dejavu/DejaVuSans.ttf

/usr/share/fonts/dejavu/DejaVuSans.ttf -priority 10

/usr/share/fonts/simkai.ttf - priority 100

Current `best' version is /usr/share/fonts/simkai.ttf.(當前字體是simkai.ttf

?

如果當前字體不是simkai.ttf,可執行命令設置。

# alternatives --config zabbix-web-font

There are 2 programs which provide'zabbix-web-font'.

?Selection??? Command

-----------------------------------------------

?+1??????????/usr/share/fonts/dejavu/DejaVuSans.ttf

*?2??????????/usr/share/fonts/simkai.ttf

Enter to keep the current selection[+], ortype selection number: 2 (此處選擇simkai.ttf

?

6、刷新web 頁面,中文正常顯示,如下圖1-17所示。

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

? 1-17

1.5.5源碼編譯安裝

1、???Zabbix官網下載Zabbix源碼包并保存到/usr/src目錄中,解壓縮源碼包。

# tar -zxvf zabbix-3.0.1.tar.gz

# cd /usr/src/zabbix-3.0.1

?

2、???我們需要安裝 Apache,MySQL,PHP 和一些其他的庫。
# yum install httpd mariadb-server php php-mysql php-bcmath php-mbstring php-gdphp-xml

3、??? 配置數據庫。

# systemctl enable mariadb

# systemctl start mariadb.service

# /usr/bin/mysql_secure_installation

# mysql -u root –p<密碼>

MariaDB [(none)]> create database zabbix character set utf8collate utf8_bin;

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%'identified by 'zabbix';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

# /usr/src/zabbix-3.0.1/database/mysql

# mysql -uzabbix -p<密碼> zabbix? < schema.sql

# mysql -uzabbix -p<密碼> zabbix? < p_w_picpaths.sql

# mysql -uzabbix -p<密碼> zabbix? < data.sql

?

4、???創建zabbix用戶和組:
# groupadd zabbix
# useradd -g zabbix zabbix

5、???為了能順利的編譯 ,我們需要額外安裝一些包,你可能需要添加EPEL 源:
# yum install gcc mysql-devellibxml2-devel net-snmp-devel
curl-devel unixODBC-develOpenIPMI-devel libssh3-devel iksemel-devel openldap-devel

查看支持的配置選項:
# ./configure --help

根據需要選擇配置選項:
# ./configure --enable-server--with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2--with-openipmi --with-unixodbc --with-ssh3 --with-ldap --with-jabber --with-mbedtls

當正確完成配置后,你可以看到make install 的提示信息,如果遇到錯誤會提示哪個庫有問題。

編譯安裝:

# make install

?

完成編譯安裝后標準的配置文件在/usr/local/etc/中,Zabbix server文件在/usr/local/sbin/ 中。你可以通過 --prefix 參數指定安裝的位置,例如:--prefix=/,使用 / 代替 /usr/local ,編譯的文件將安裝到 /sbin、/lib、/etc 等。

6、???定義zabbix-server服務。

# cd /usr/lib/systemd/system/

# vi zabbix-server.service

[Unit]

Description=Zabbix Server

After=syslog.target

After=network.target

[Service]

Environment="CONFFILE=/usr/local/etc/zabbix_server.conf"

Type=forking

Restart=on-failure

KillMode=control-group

ExecStart=/usr/local/sbin/zabbix_server -c $CONFFILE

ExecStop=/bin/kill -SIGTERM $MAINPID

RestartSec=10s

[Install]

WantedBy=multi-user.target

?

# systemctl enable zabbix-server

# systemctl start zabbix-server

?

接下來我們安裝Zabbix web頁面:
? ? ? # mkdir /var/www/html/zabbix
? ? ? # cd /usr/src/zabbix-3.0.1/frontends/php/
? ? ? # cp -a . /var/www/html/zabbix
? ? ? # chown -R --no-dereference apache:apache /var/www/html/zabbix

? ? ? # vi /etc/httpd/conf.d/zabbix.conf
? ? ? ?<Directory "/var/www/html/zabbix">
? ? ? ? ? ? ? Options FollowSymLinks
? ? ? ? ? ? ? AllowOverride None
? ? ? ? ? ? ? Order allow,deny
? ? ? ? ? ? ? Allow from all
? ? ? ? ? ? ? php_value max_execution_time 300
? ? ? ? ? ? ? php_value memory_limit 128M
? ? ? ? ? ? ? php_value post_max_size 16M
? ? ? ? ? ? ? php_value upload_max_filesize 2M
? ? ? ? ? ? ? php_value max_input_time 300
? ? ? ? ? ? ? php_value date.timezone Asia/Shanghai
? ? ? ?</Directory>

# systemctl enable httpd

# systemctl start httpd

Web 瀏覽器中輸入http://服務器ip地址/zabbix,在web頁面中完成相關配置。

以上提到的編譯安裝的方法也適用于agentproxy。

編譯安裝agent時,使用Zabbix server相同的源碼包,只需要配置--enable-agent選項,例如:
??? # ./configure --enable-agent

編譯安裝proxy時,使用Zabbix server相同的源碼包,只需要配置--enable-proxy選項,例如:
??? # ./configure --enable-proxy

當你使用其他數據庫產品時,可以使用配置選項--with-oracle、--with-postgresql或著--with-ibm-db2。

?

深入淺出Zabbix 3.0 -- 第一章 Zabbix 安裝與配置

?本文出自?http://ustogether.blog.51cto.com/8236854/1921034,如需轉載請與作者聯系。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女