Red Hat Enterprise Linux / CentOS 7 yum安裝zabbix4.0


添加Zabbix存儲庫
安裝存儲庫配置包。 該軟件包包含yum(軟件包管理器)配置文件。

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

前端安裝先決條件
Zabbix前端需要額外的基本安裝包。 您需要在將運行Zabbix前端的系統中啟用可選rpms的存儲庫:

yum-config-manager --enable rhel-7-server-optional-rpms

服務器/代理/前端安裝
要在MySQL支持下安裝Zabbix服務器(適用於RHEL 7,在RHEL 6上棄用):

yum install zabbix-server-mysql zabbix-server     zabbix-agent zabbix-get  

要通過MySQL支持安裝Zabbix代理:

yum install zabbix-proxy-mysql

要在MySQL支持下安裝Zabbix前端(適用於RHEL 7,在RHEL 6上棄用):

yum install zabbix-web-mysql zabbix-web

數據庫創建

必須在安裝Zabbix服務器或代理期間創建Zabbix數據庫。

shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> flush privileges;
mysql> quit;

導入數據

現在使用MySQL導入服務器的初始模式和數據:

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

對於代理,導入初始架構:

zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

為Zabbix服務器/代理配置數據庫

編輯zabbix_server.conf或zabbix_proxy.conf以使用創建的數據庫。例如:

# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>

啟動Zabbix服務器進程

systemctl enable zabbix-server
systemctl start zabbix-server

Zabbix前端配置

對於RHEL 7及更高版本,Zabbix前端的Apache配置文件位於/etc/httpd/conf.d/zabbix.conf中。

vim /etc/httpd/conf.d/zabbix.conf

 

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 max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone     Asia/Shanghai   #設置中國時區

SELinux配置

在強制模式下啟用SELinux狀態后,您需要執行以下命令以啟用Zabbix前端和服務器之間的通信:

setsebool -P httpd_can_connect_zabbix on 

setsebool -P httpd_can_network_connect_db on

在前端和SELinux配置完成后,您需要重新啟動Apache Web服務器:

systemctl restart httpd

 

安裝 Agent

運行以下命令以安裝 Zabbix agent :

 
               
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-agent -y

 修改配置文件

[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.conf |egrep "(^Server|^Host)"
Server=服務端ip
ServerActive=服務端ip
Hostname=主機名

 

運行以下命令以啟動 Zabbix agent:

systemctl start zabbix-agent 
systemctl enable zabbix-agent 

 

 

                                                             快速入門:

1 登陸和配置用戶

 

簡介

本章你會學習如何登陸Zabbix,以及在Zabbix內建立一個系統用戶。

登陸

這是Zabbix的“歡迎”界面。輸入用戶名 Admin 以及密碼 zabbix 以作為 Zabbix超級用戶登陸。

登陸后,你將會在頁面右下角看到“以管理員連接(Connected as Admin)”。同時會獲得訪問 配置(Configuration) and 管理(Administration) 菜單的權限。

暴力破解攻擊的保護機制

為了防止暴力破解和詞典攻擊,如果發生連續五次嘗試登陸失敗,Zabbix界面將暫停30秒。

在下次成功登陸后,將會在界面上嘗試登錄失敗的IP地址

增加用戶

可以在管理(Administration) → 用戶(Users)下查看用戶信息。

 

Zabbix在安裝后只定義了兩個用戶。

  • 'Admin' 用戶是Zabbix的一個超級管理員,擁有所有權限。
  • 'Guest' 用戶是一個特殊的默認用戶。如果你沒有登陸,你訪問Zabbix的時候使用的其實是“guest”權限。默認情況下,“guest”用戶對Zabbix中的對象沒有任何權限。

點擊 創建用戶(Create user) 以增加用戶。

在添加用戶的表單中,確認將新增的用戶添加到了一個已有的用戶組,比如'Zabbix administrators'。

 

所有必填字端都以紅色星標標記。

默認情況下,沒有為新增的用戶定義媒介(media,即通知發送方式) 。如需要創建,可以到'媒介(Media)'標簽下,然后點擊增加(Add)

 

在這個對話框中,為用戶輸入一個Email地址。

你可以為媒介指定一個時間活動周期,(訪問時間周期說明頁面,查看該字段格式的描述)。默認情況下,媒介一直是活動的。你也可以通過自定義觸發器嚴重等級來激活媒介,默認所有的等級都保持開啟。

點擊新增(Add),然后在用戶屬性表單中點擊新增(Add)。新的用戶將出現在用戶清單中。

 

添加權限

默認的情況下,一個新用戶沒有全選訪問任何主機。如果需要提升用戶權限,在Groups列(此處以'Zabbix administrators'為例)中點擊用戶所在的組。在組的屬性表單中,訪問Permissions標簽頁。

 

這個用戶對Linux servers組擁有只讀權限,所以點擊用戶組選擇區域旁邊的Select按鈕。

 

在彈出的表單中,標記'Linux servers'旁邊的復選框,然后點擊SelectLinux servers應該會出現在選定的區域中。點擊'Read'按鈕以設定權限等級,然后點擊Add以將這個組加入到權限列表中。在用戶組屬性表單中,點擊Update

 

 

在Zabbix中,主機的訪問權限是被分配到 用戶組,而不是單個用戶。

 

 

完成!你現在可以嘗試使用這個新用戶的憑證進行登錄了。

2 新建主機

 

簡介

通過本節,你將會學習到如何建立一個新的主機。

Zabbix中的主機(Host)是一個你想要監控的網絡實體(物理的,或者虛擬的)。Zabbix中,對於主機的定義非常靈活。它可以時一台物理服務器,一個網絡交換機,一個虛擬機或者一些應用。

添加主機

Zabbix中,可以通過配置(Configuration) → 主機(Hosts)菜單,查看已配置的主機信息。默認已有一個名為'Zabbix server'的預先定義好的主機。但我們需要學習如何添加另一個。

點擊創建主機(Create host)以添加新的主機,這將向我們顯示一張主機配置表格。

 

所有必填字端均以紅色星標標示。

至少需要填寫下列字段:

主機名稱(Host name)

  • 輸入一個主機名稱,可以使用字母數字、空格、點”.“、中划線”-“、下划線”_“。

  • 從右邊的選擇框中,選擇一個或者多個組,然后點擊  « 移動它們到'所在組(In groups)'選擇框。

 

 

所有訪問權限都分配到主機組,而不是單獨的主機。這也是主機需要屬於至少一個組的原因。

 

 

IP地址

  • 輸入主機的IP地址。注意如果這是Zabbix server的IP地址,它必須是Zabbix agent配置文件中‘Server’參數的值。

暫時保持其他選項的默認值。

當完成后,點擊添加(Add)。你可以在主機列表中看到你新添加的主機。

 

 

如果 可用性(Availability)列中的 ZBX圖標是紅色的,通信可能存在一些問題。將你的鼠標移動到上面查看錯誤信息。如果這個圖標是灰色的,說明目前狀態還沒更新。確認Zabbix server正在運行,同時嘗試過會兒刷新這個頁面。
 

3 新建監控項

 

簡介

本節你會學習如何新建一個監控項(Item)。

監控項是Zabbix中獲得數據的基礎。沒有監控項,就沒有數據——因為一個主機中只有監控項定義了單一的指標或者需要獲得的數據。

添加監控項

所有的監控項都是依賴於主機的。這就是當我們要配置一個監控項時,先要進入 配置 → 主機 頁面查找到新建的主機。

在'新主機(New host)'行中,監控項(Items)的鏈接旁的數量會顯示為'0'。點擊這個鏈接,然后點擊創建監控項(Create item),將會顯示一個監控項定義表格。

 

 

所有必填項均以紅色星標標示。

對於監控項的示例,需要輸入以下必要的信息:

名稱(Name)

  • 輸入  CPU Load 作為值。在列表中和其他地方,都會顯示這個值作為監控項名稱。

值(Key)

  • 手動輸入  system.cpu.load 作為值。這是監控項的一個技術上的名稱,用於識別獲取信息的類型。這個特定值需要是Zabbix Agent 預定義值中的一種。

信息類型(Type of information)

  • 在此處選擇  Numeric (float)。這個屬性定義了想獲得數據的格式。

 

 

你也需要減少 監控項歷史保留的天數,7或者14天。對於數據庫而言,最佳實踐是避免數據庫保留過多的歷史數據。

 

 

我們暫時保持其他選項的默認值。

當完成后,點擊添加(Add)。新的監控項將出現在監控項列表中。點擊列表中的詳細(Details)以查看具體細節。

 

查看數據

當一個監控項定義完成后,你可能好奇它具體獲得了什么值。前往監控(Monitoring) → 最新數據(Latest data), 在過濾器中選擇剛才新建的主機,然后點擊應用(Apply)

然后點擊- other -前面的 + ,然后查看你之前定義的監控項和獲得的值。

 

同時,第一次獲得的監控項值最多需要60秒才能到達。默認情況下,這是服務器讀取變化后的配置文件,獲取並執行新的監控項的頻率。

如果你在‘變化(Change)’列中沒有看到值,可能到目前為止只獲得了一次值。等待30秒以獲得新的監控項值。

如果你在沒有看到類似截圖中的監控項信息,請確認:

  • 你輸入的監控項'值(Key)' 和 '信息類型(Type of information)' 同截圖中的一致
  • agent和server都在運行狀態
  • 主機狀態為'監控(Monitored)'並且它的可用性圖標是綠色的
  • 在主機的下拉菜單中已經選擇了對應主機,且監控項處於啟用狀態
圖表

當監控項運行了一段時間后,可以查看可視化圖表。 簡單圖表 適用於任何被監控的數值型(numeric)監控項,且不需要額外的配置。這些圖表會在運行時生成。

前往監控(Monitoring) → 最新數據(Latest data),然后點擊監控項后的'圖表(Graph)'鏈接以查看圖表。

 

 

4 新建觸發器

 

概述

本節你會學習如何配置一個觸發器(trigger)。

監控項只是用於收集數據。如果需要自動評估收到的數據,我們則需要定義觸發器。觸發器包含了一個表達式,這個表達式定義了數據的可接受的閾值級別。

如果收到的數據超過了這個定義好的級別,觸發器將被“觸發”,或者進入“異常(Problem)”狀態——從而引起我們的注意,讓我們知道有問題發生。如果數據再次恢復到合理的范圍,觸發器將會到“正常(Ok)”狀態。

添加觸發器

為監控項配置觸發器,前往配置(Configuration) → 主機(Hosts),找到'新增主機(New host)',點擊旁邊的觸發器(Triggers) ,然后點擊創建觸發器(Create trigger)。這將會向我們展現一個觸發器定義表單。

 

所有必填字端均以紅色星標標示。

對於觸發器,有下列必填項:

名稱(Name)

  • 輸入  CPU load too high on 'New host' for 3 minutes 作為值。這個值會作為觸發器的名稱被現實在列表和其他地方。

表達式(Expression)

  • 輸入:{New host:system.cpu.load.avg(3m)}>2

值時觸發器的表達式。確認這個表達式輸入正確,直到最后一個符號。此處,監控項值(system.cpu.load)用於指出具體的監控項。這個特定的表達式大致是說如果3分鍾內,CPU負載的平均值超過2,那么就觸發了問題的閾值。你可以查看更多的觸發器表達式語法信息。

完成后,點擊添加(Add)。新的觸發器將會顯示在觸發器列表中。

顯示觸發器狀態

當一個觸發器定義完畢后,你可能想查看它的狀態。

如果CPU負載超過了你在觸發器中定義的閾值,這個問題將顯示在監控(Monitoring) → 問題(Problems)中。

 

閃爍意味着這個觸發器狀態最近30分鍾內發生過變化。

 

5 獲取問題通知

 

簡介

在本節中,你會學習如何在Zabbix中以通知(notifications)的方式配置報警(alerting)。

當監控項收集了數據后,觸發器會根據異常狀態觸發報警。根據一些報警機制,它也會通知我們一些重要的事件,而不需要我們直接在Zabbix前端進行查看。

這就是通知(Notifications)的功能。E-mail是最常用的異常通知發送方式。我們將會學習如何配置e-mail通知。

E-mail設置

Zabbix中最初內置了一些預定義的通知發送方式E-mail 通知是其中的一種。

前往管理(Administration) → 媒體類型(Media types),點擊預定義媒體類型列表中的Email,以配置E-mail。

 

這將向我們展現e-mail設置定義表單。

 

所有必填字段均以紅色星標標示。

根據你的環境,設置SMTP服務器,SMTP helo, SMTP e-mail的值。

 

 

'SMTP email'將作為Zabbix通知的'發件人(From)'地址。

 

 

一切就緒后,點擊 更新(Update)

現在你已經配置了'Email'作為一種可用的媒體類型。一個媒體類型必須通過發送地址來關聯用戶(如同我們在配置一個新用戶中做的),否則它將無法生效。

新建動作

發送通知是Zabbix中動作(actions)執行的操作之一。因此,為了建立一個通知,前往配置(Configuration) → 動作(Actions),然后點擊創建動作(Create action)

 

所有必填字段均以紅色星標標示。

在這個表單中,輸入這個動作的名稱。

在大多數簡單的例子中,如果我們不添加更多的指定條件,這個動作會在觸發器從 'Ok' 變為 'Problem'時發生。

我們還需要定義這個動作具體做了什么 —— 即在 操作(Operations) 標簽頁中執行的操作。點擊新建(New),將會打開一個操作表單。

 

所有必填字段均以紅色星標標示。

這里,在發送給用戶(Send to Users)塊中點擊添加(Add),然后選擇我們之前定義的用戶('user')。選擇'Email'作為Send only to的值。完成后,在操作明細區域中,點擊添加(Add)

默認主題(Default subject) 和 默認消息(Default message)字段可看到{TRIGGER.STATUS} 和 {TRIGGER.NAME} 宏(或者變量),它們會被具體的觸發器狀態和觸發器名稱替換。

這是一個簡單的動作配置步驟,即點擊動作表單中的添加(Add)

獲得通知

現在,發送通知配置完成,我們看看它如何將通知發送給實際接收人。為了實現這個目的,我們需要你主機的負載,這樣我們的觸發器才會被觸發,我們會收到問題通知。

打開主機的控制台,並運行:

cat /dev/urandom | md5sum

你需要運行一個或者多個這樣的進程

現在,前往監控(Monitoring) → 最新數據(Latest data),查看'CPU Load'的值是否已經增長。記住,為了使我們的觸發器觸發(fire),'CPU Load'的值需要在在3分鍾運行的過程中超過2。一旦滿足這個條件:

  • 監控(Monitoring) → 問題(Problems)中,你可以看到閃爍‘Problem’狀態的觸發器。
  • 你的e-mail中,會收到一個問題通知

 

 

如果通知功能沒有正常工作:

 

  • 再次驗證e-mail設置和動作設置已經被正確配置
  • 確認你創建的用戶對生成事件的主機至少擁有讀(read)權限。正如 添加用戶步驟中提到的,'Zabbix administrators'用戶組中的用戶必須對'Linux servers'主機組(該主機所屬組)至少擁有讀(read)權限。
  • 另外,你可以在 報告(Reports) → 動作日志(Action log)中檢查動作日志。

6 新建模版

 

概述

在本節中,你將會學習如何配置一個模版。

我們在之前的章節中學會了如何配置監控項、觸發器,以及如果從主機上獲得問題的通知。

雖然這些步驟提供了很大的靈活性,但仍然需要很多步驟才能完成。如果我們需要配置上千台主機,一些自動化操作會帶來更多便利性。

模版(templates)功能可以實現這一點。模版允許對有用的監控項、觸發器和其他對象進行分組,只需要一步就可以對監控主機應用模版,以達到反復重用的目的。

當一個模版鏈接到一個主機后,主機會繼承這個模版中的所有對象。簡單而言,一組預先定義好的檢查會被快速應用到主機上。

添加模版

開始使用模版,你必須先創建一個。在配置(Configuration) → 模版(Templates)中,點擊創建模版(Create template)。這將會像我們展現一個模版配置表格。

 

所有必填字段以紅色星標標示。

需要輸入以下必填字段:

模版名稱(Template name)

  • 輸入一個模版名稱。可以使用數字、字母、空格及下划線。

組(Groups)

  • 使用 選擇(Select)按鈕選擇一個或者多個組。模版必須屬於一個組。

完成后,點擊添加(Add)。你新建的模版可以在模版列表中查看。

 

你可以在這看到模版信息。但這個模版中沒有任何信息——沒有監控項、觸發器或者其他對象。

在模版中添加監控項

為了在模版中添加監控項,前往'New host'的監控項列表。在配置(Configuration) → 主機(Hosts),點擊‘New host’旁邊的監控項(Items)

然后:

  • 選中列表中'CPU Load'監控項的選擇框
  • 點擊列表下方的 復制(Copy)
  • 選擇想要復制這個監控項的目標模版

 

所有必填字段以紅色星標標示。

  • 點擊 復制(Copy)

你現在可以前往配置(Configuration) → 模版(Templates),'新模版(New template)'中會有一個新的監控項。

我們目前至創建了一個監控項,但你可以用同樣的方法在模版中添加其他的監控項,觸發器以及其他對象,直到完成滿足特定需求(如監控OS,監控單個應用)的完整的對象組合。

鏈接模版到主機

准備一個模版后,將它鏈接到一個主機。前往配置(Configuration) → 主機(Hosts),點擊'新主機(New host)'打開表單,前往模版(Templates)標簽頁。

點擊鏈接新模版(Link new templates)旁邊的選擇(Select),在彈出的窗口中,點擊我們創建模版的名稱('New template'),它會出現在鏈接新模版(Link new templates)區域,點擊添加(Add)。這個模版會出現在已鏈接模版(Linked templates)列表中。

 

點擊更新(Update)保存配置。現在,新模版及其所有的對象被添加到了主機。

你可能會想到,我們可以使用同樣的方法將模版應用到其他主機。任何在模版級別的監控項、觸發器及其他對象的變更,也會傳遞給所有鏈接該模版的主機。

鏈接預定義模版到主機

你可能注意到,Zabbix為各種操作系統、設備以及應用准備一些預定義的模版。為了快速部署監控,你可能會將它們中的一些與主機關聯。但請注意,一些模版需要根據你的實際環境進行合適的調整。比如:一些檢查項是不需要的,一些輪詢周期過於頻繁。

可參考該鏈接,查看更多關於模版的信息。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM