分布式系統監視zabbix講解二之郵件警示通知--技術流ken

來源:互聯網
上載者:User

標籤:恢複   列表   roo   lin   安裝zabbix   報告   擷取   常用   參數   

 概述

在上一篇部落格《分布式系統監視zabbix講解一技術流ken》中已經詳細講解了如何安裝zabbix,本篇部落格將詳細講解如何使用zabbix監控另外一台主機,並實現email警示通知機制。

首先我們需要建立一個需要被監控的主機,並設定相應的監控項。當監控項收集了資料後,觸發器會根據異常狀態觸發警示。根據一些警示機制,它也會通知我們一些重要的事件,而不需要我們直接在Zabbix前端進行查看。

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

 

建立主機概要

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

增加主機

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

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

至少需要填寫下欄欄位:

主機名稱(Host name)

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

  • 從右邊的選擇框中,選擇一個或者多個組,然後點擊 ? 移動它們到‘所在組(In groups)‘選擇框。
所有存取權限都分配到主機群組,而不是單獨的主機。這也是主機需要屬於至少一個組的原因。 

IP地址

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

暫時保持其他選項的預設值。

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

 

建立監控項概要

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

添加監控項

主機包含了所有的監控項。如果需要配置一個監控項的樣本,我們需要前往配置(Configuration) → 主機(Hosts) 並找到我們已建立的‘新主機(New host)‘。

在‘新主機(New host)‘行中,監控項(Items)的連結旁的數量會顯示為‘0‘。點擊這個連結,然後點擊建立監控項(Create item),將會顯示一個監控項定義表格。

這裡就配置剛才我已經建立的主機,直接點擊items即可,然後點擊左上方的create item

對於監控項的樣本,需要輸入以下必要的資訊:

名稱(Name)

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

值(Key)

  • 點擊select選擇你要監控的內容。這是監控項的一個技術上的名稱,用於識別擷取資訊的類型。這個特定值需要是Zabbix Agent預定義值中的一種。我選擇監控我10.220.5.137的80 連接埠。

資訊類型(Type of information)

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

 

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

 

我們暫時保持其他選項的預設值。

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

查看資料

當一個監控項定義完成後,你可能好奇它具體獲得了什麼值。前往監控(Monitoring) → 最新資料(Latest data),點擊- other -前面的 + ,然後查看你之前定義的監控項和獲得的值。如,可以看到現在的last value是1,說明我的10.220.5.137的80連接埠是線上狀態

同時,第一次獲得的監控項值最多需要60秒才能到達。預設情況下,這是伺服器讀取變化後的設定檔,擷取並執行新的監控項的頻率。

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

如果你在當前介面中沒有看到監控項的資訊,請確認:

  • 你輸入的監控項‘值(Key)‘ 和 ‘資訊類型(Type of information)‘ 同中的一致
  • agent和server都在運行狀態
  • 主機狀態為‘監控(Monitored)‘並且它的可用性表徵圖是綠色的
  • 監控項處於啟用狀態
圖表

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

前往監控(Monitoring) → 最新資料(Latest data),然後點擊監控項後的‘圖表(Graph)‘連結以查看圖表。

 

 

建立觸發器概述

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

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

添加觸發器

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

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

名稱(Name)

  • 輸入 check_80_triger 作為值。這個值會作為觸發器的名稱被現實在列表和其他地方。

運算式(Expression)

  • 輸入:{ken1:net.tcp.listen[80].last()}=0

值時觸發器的運算式。確認這個運算式輸入正確,包括所有的符號。這個特定的運算式大致是說如果80連接埠傳回值是0時,那麼就觸發了問題的閾值。

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

顯示觸發器狀態

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

前往監控(Monitoring) → 觸發器(Triggers)以查看。3分鐘後(我們需要等待3分鐘以評估這個觸發器的3分鐘平均值),觸發器會在這裡顯示。應該會有一個綠色的‘OK‘在‘狀態(Status)‘列中閃爍。

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

如果此處出現一個閃爍的紅色‘PROBLEM‘,顯然,這說明了80連接埠已經在你在觸發器裡定義的閾值層級。

 

郵件警示概述

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

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

E-mail設定

Zabbix中最初內建了一些預定義的通知發送方式,email通知是其中的一種。

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

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

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

 

‘SMTP email‘將作為Zabbix通知的‘寄件者(From)‘地址。

 

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

現在你已經配置了‘Email‘作為一種可用的媒體類型。一個媒體類型必須通過發送地址來關聯使用者。為了建立一個通知,前往配置(Configuration) → 動作(Actions),然後點擊建立動作(Create action)

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

{TRIGGER.STATUS} 和 {TRIGGER.NAME} 是宏(macros)或者變數,可以在Default subject 和 Default message 地區查看。會以實際的觸發器狀態和觸發器名稱的值替代。

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

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

這裡,在發送給使用者(Send to Users)塊中點擊添加(Add),然後選擇我們之前定義的使用者(‘user‘)。選擇‘Email‘作為Send only to的值。完成後,在操作詳細資料區域中,點擊添加(Add)

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

獲得通知

現在,發送通知配置完成,我們看看它如何將通知發送給實際接收人。為了實現這個目的,我們需要關掉80連接埠,這樣我們的觸發器才會被觸發,我們會收到異常通知。

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

[[email protected] local]# pkill httpd[[email protected] local]# ss -tnl | grep 80

確認80連接埠已經關掉。

 

現在,前往監控(Monitoring) → 最新資料(Latest data),查看last value是否已經變成了0。

  • 監控(Monitoring) → 觸發器(Triggers)中,你會看到這個觸發器的狀態呈現一個綠色閃爍的‘Problem‘
  • 你的e-mail中,會收到一個異常通知

如果通知功能沒有正常工作:
  • 再次驗證e-mail設定和動作設定已經被正確配置
  • 確認你建立的使用者對建置事件的主機至少擁有讀(read)許可權。正如添加使用者步驟中提到的,‘Zabbix administrators‘使用者組中的使用者必須對‘Linux servers‘主機群組(該主機所屬組)至少擁有讀(read)許可權。
  • 另外,你可以在報告(Reports) → 動作日誌(Action log)中檢查動作日誌。

分布式系統監視zabbix講解二之郵件警示通知--技術流ken

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.