您好,登錄后才能下訂單哦!
本次博文主要以Zabbix的中文界面為主進行介紹!
模板是Zabbix的核心,因為模板中集成了所有要監控的內容以及展示的圖形等等,Zabbix的安裝部署完成后,自帶了很多模板(網絡設備模板、操作系統模板、常見應用軟件模板),這些模板可以滿足我們80%左右的應用需要,所以一般情況下不需要我們單獨創建模板了。
如圖:
模板是由很多內置項目組成的,基本的內置項目有應用集、監控項、觸發器、圖形、聚合圖形、自動發現、Web檢測、鏈接的模板等這8個部分組成。在這8個部分中,監控項、觸發器、圖形、自動發現這4個部分是重點,也是難點。下面重點介紹這四個部分的具體實現過程。
在Zabbix自帶的模板中,大部分都是可以直接拿來使用的,這里就不需要對每個模板都進行深入了解,只需要對常用的一些模板重點掌握就可以了。下面重點介紹下經常使用的三類模板,保證重點的學習。
Template OS Linux //對Linux系統的監控模板
Template OS Windows //對Windows系統的監控模板
Template OS Mac OS X //對Mac OS X系統的監控模板
Template VM VMware //對VM VMware系統的監控模板
Template Module Generic SNMPv1 //開啟SNMPv1監控的模板
Template Module Generic SNMPv2 //開啟SNMPv2監控的模板
Template Module Interfaces Simple SNMPv2
Template Net Cisco IOS SNMPv2
Template Net Juniper SNMPv2
Template Net Huawei VRP SNMPv2
Template App HTTP Service //對httpd服務的監控模板
Template DB MySQL //對Mysql服務的監控模板
Template App SSH Service //對SSH服務的監控模板
Template Module ICMP Ping //對主機Ping的監控模板
Template App Generic Java JMX //對Java服務的監控模板
Template App Zabbix Agent //對Zabbix Agent狀態的監控模板
Template App Zabbix Server //對Zabbix Server狀態的監控模板
上面所提到的模板都是可以靈活使用的,也是我們做監控的基礎,所以要熟練掌握他們的使用方法和監控特點。
這里以Linux系統模板為例,如圖:
進入應用集后,就可以看到已有的應用集,也可以創建新的應用集。
應用集的創建非常簡單,它其實是一個模板中,針對監控的集合,例如要對CPU的屬性進行監控,那么就可以創建一個針對CPU的應用集,這個應用集下可以創建針對CPU的多個監控項。
應用集的出現主要是便于對監控項進行分類和管理,在有多個監控項,多種監控類型需要監控的情況下,就需要創建應用集。
如圖:
從圖中可以看出,默認的監控項的內容,每一個監控項都對應了一個鍵值,就是具體要監控的內容,鍵值的寫法是有統一規范的,Zabbix針對不同監控項自帶了很多鍵值,用戶也可自定義鍵值,此外,每個監控項還可以添加對應的觸發器,也就是說這個監控項如果需要告警的話,就可以添加一個觸發器,觸發器專門用力啊觸發告警。當然不是說每個監控項一定要有一個觸發器,需要根據監控項的內容而定。
如圖:
1)名稱:就是創建監控項的名稱,可自定義;
2)類型:設置次監控項通過何種方式進行監控,zabbix可選的監控類型很多,常用的有zabbix客戶端,zabbix客戶端(主動式)、簡單檢查、SNMP客戶端、zabbix采集器等類型,zabbix客戶端監控也成為zabbix客戶端(被動式)監控,就是通過在要監控的主機上安裝zabbix agent,然后zabbix server主動去抓取數據來實現的監控,這是最常用的監控類型。而zabbix客戶端(主動式)監控也需在被監控的機器上安裝zabbix agent。只不過zabbix agent會主動匯報數據到zabbix server,這是與zabbix客戶端(被動式)監控不同的地方;
3)鍵值:可以使用zabbix默認自帶的,也可以自定義自己的鍵值,zabbix自帶了很多鍵值,可以滿足我們90%的需求,比如我們相對服務器上某個端口的狀態進行監控,就可以使用“net.tcp.service.perf[service,<ip>,<port>]”
這個鍵值,此鍵值就是zabbix自帶的,如果需要查看更多zabbix自帶鍵值,可以點擊“鍵值”選項后的“選擇”按鈕,zabbix自帶的鍵值就會全部顯示出來。
如圖:
可以看到,zabbix自帶的鍵值根據監控類型的不同,也分了不i同的監控鍵值種類,每個鍵值的含義也都做了詳細的描述,我們可以根據需要的監控內容,選擇對應的鍵值即可。
就以net.tcp.service.perf[service,<ip>,<port>]
這個鍵值為例,net.tcp.service.perf則是鍵值的名稱,后面中括號中的內容是鍵值的監控項,每個選項含義如下:
1)server:表示服務名稱,包括ssh、ntp、ftp、http、pop、imap等;
2)ip:表示IP地址,默認是127.0.0.1,可不添加;
3)port:表示端口,默認情況下為每個服務對應標準的端口;
比如,如果我們監控的httpd服務,那么就可以這樣寫:
net.tcp.service.perf[http,,80]
4)信息類型:此鍵值返回的信息類型的浮點型的,所以選擇浮點數;
5)更新間隔:這個主要用來設置多久更新一次監控數據,可根據對監控項靈敏度的需要來設定,默認情況下是30秒更新一次;
6)應用集:在創建監控項的最后,還有一個應用集的選擇,也就是將這個監控項放到那個監控分類中,可以選擇已存在的應用集,也可也添加到一個新的應用集!(本次就將其加入http server應用集中,截圖就不附上了,注意一下);
所有設置完成后,點擊添加即可!
監控項可以添加到一個已經存在的模板中,也可以在一個新創建的模板中添加監控項,還可以在一個主機下創建監控項。
總結:構建zabbix監控,推薦的做法:首先創建一個模板,然后在此模板下創建需要的監控項、觸發器等內容,最后在添加主機時直接將此模板鏈接到每個主機下即可,這樣,每個主機就自動鏈接上了模板中的所有監控項和觸發器。
觸發器是用于故障告警的一個設置,將一個監控項添加觸發器后,此監控項如果出現問題,就會激活觸發器,然后觸發器將自動連接告警動作,最后觸發告警。
觸發器同樣也推薦在模板中創建,以Linux系統模板為例,如圖:
如圖,有觸發器的嚴重級別、觸發器名稱、觸發器表達式等幾個小選項,這里難點是觸發器表達式的編寫,要學會寫觸發器的表達式。首先需要了解表達式中常用的一些函數機器含義。
圖中有diff、avg、last、nodata等這些標識,這就是觸發器表達式中的函數,下面簡單介紹一下常用的一些觸發器表達式函數及其含義。
參數:不需要參數;
支持值類型:float、int、str、test、log;
作用:返回值為1表示最近的值與之前的值不同,即值發生變化,0表示無變化;
參數:#num
支持值類型:float、int、str、test、log;
作用:獲取最近的值,”#num“表示最近第N個值,請注意當前的#num和其他一些函數的#num的意思是不同的,例如:
last(0)或last()等價于last(#1),表示獲取最新的值,last(#3)表示最近第3個值(并不是最近的三個值),注意,last函數使用不同的參數將會得到不同的值,#2表示倒數第二個新的數據。例如從老到最新值為1,2,3,4,5,6,7,8,9,10,last(#2)得到的值為9,last(#9)得到的值為2;
另外,last函數必須包含參數;
參數:秒或#num;
支持類型:float、int;
作用:返回一段時間的平均值;
例如:avg(5)表示最后5秒的平均值,avg(#5)表示最近5次得到值的平均值,avg(3600,86400)表示一天前的一個小時的平均值;
參數:無需參數;
支持類型:float、int、str、text、log;
作用:返回最近獲得值與之前獲得值的差值,返回字符串0表示相等,1表示不同;
例如:change(0)>n表示最近得到的值與上一個值得差值大于n,其中,0表示忽略參數;
參數:秒;
支持值類型:any;
作用:探測是否能接收到數據,當返回值為1表示指定的間隔(間隔不應小于30秒)沒有接收到數據,0表示其正常接收數據;
參數:秒或#num;
支持類型:float、int、str、text、log;
作用:返回指定時間間隔內數值的統計;
例如:
count(600):表示最近10分鐘得到值的個數;
count(600,12):表示最近10分鐘得到值的個數等于12;
其中,第一個參數是指定時間段,第二個參數是樣本數據;
參數:秒或#num;
支持值類型:float、int;
作用:返回指定時間間隔中收集到的值的總和,時間間隔作為第一個參數將支持秒或收集值得數目(以#開始);
例如:
sum(600):表示在600秒之內接收到所有值的和;
sum(#5):表示最后5個值的和;
在了解了觸發器表達式函數的含義后,就可以創建和編寫觸發器表達式了,如圖:
首先輸入觸發器名稱,然后標記觸發器的嚴重性,有6個等級的劃分,這里就選擇一般驗證了,接下來就是表達式的編寫了,點擊表達式后面的“添加”按鈕,即可開始構建表達式了,在構建表達式頁面,首先選擇給那個監控項添加觸發器,在“條件”界面下點擊后面的“選擇”按鈕,即可打開已經添加好的所有監控項,選擇剛剛創建的那個監控項,接著,開始選擇觸發器表達式的條件,也就是上面介紹過的觸發器表達式函數,點擊“功能”下拉菜單,可以發現很多觸發器表達式函數,那么如何選擇函數呢,當然是根據這個監控項的含義和監控返回的值。
剛才自定義的監控項”httpd server 80 status“這個監控項的返回值的是浮點數,當服務故障是返回0,當監控的服務正常時返回連接服務所花費的秒數。因此,我們就將返回0作為一個判斷的標準,也就是將返回值為0作為觸發器表達式的條件,要獲得監控項的最新返回值,那就是使用last()函數,因此選擇last()函數,接著,還有個”間隔(秒)“選項,這個保持默認即可,重點是最后這個”結果“,這里是設置last()函數返回值是多少才進行觸發,根據前面對監控的了解,last()函數返回0則表示服務故障,因此這里填上0即可!
這樣,一個觸發器表達式就創建完成了,完整的觸發器表達式的內容:
{Template OS Linux:net.tcp.service.perf[http,,80].last()}=0
可以看出,觸發器表達式是由4部分組成,第一部分是模板或主機的名稱,第二部分是監控項對應的鍵值,第三部分是觸發器表達式的函數,最后一不放呢就是監控項的值。這個表達式的含義:http服務的80端口獲取到的最新值如果等于0,那么這個表達式就成立,或者返回true;
觸發器創建完成后,兩個監控的核心基本就完成了,后面還有創建”圖形“、”聚合圖形“等選項,這些過于簡單,這就省略了!
如圖:
創建完成后,如圖:
可以看到,在主機下,已經有應用集、監控項、觸發器、圖形等選項和內容了,這就是鏈接模板后,自動導入到主機中,當然在主機的編輯界面下也可以創建或修改應用集、監控項、觸發器、圖形等內容。
動作的配置是zabbix的一個重點,動作的添加根據事件源的不同,可分為觸發器動作、自動發現動作、自動注冊動作等,首先介紹觸發器動作的配置方法,如圖:
一個觸發器就創建完成!
報警媒介就是用來設置監控告警的方式,也就是可以通過什么方式將告警信息發送出去。常見的告警媒介有:Email、企業微信等。
默認使用較多的就是通過Email的方式進行消息的發送告警,郵件告警方式的優勢就是簡單、免費,加上現在很多手機上都可以下載郵件客戶端工具,通過簡單的郵件告警設置,幾乎就可以做到實時收取告警信息。
如圖:
至此,zabbix中一個監控項的添加流程就完成了!
最后,我們再來梳理下一個監控添加的流程,一般操作步驟是這壓根的:首先創建一個模板,或者再默認模板基礎上新增監控項、監控項添加完成,接著對此監控項添加一個觸發器,如果有必要,還可以對此監控項添加圖形,接著,開始添加主機組和主機,在主機中引用已經存在的或新增的模板,然后創建觸發器動作,設置消息發送事件,最后。設置報警媒介,配置消息發送的介質,這就是一個完整的Zabbix配置過程。
當一個監控項配置完成后,要如何查看是否獲取到數據了呢?如圖:
此圖形曲線是自動生成的,無需設置!
如果需要查看其他監控項的圖形展示,可以進行以下操作:
從這個界面中可以看CPU、內存、文件系統、Swap等操作系統基礎監控信息,而這些基礎監控都不需要我們添加,因為zabbix默認已經幫我們安裝好了!
————————————本文到此結束,感謝閱讀——————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。