Zabbix-(三)監控主機CPU、磁盤、內存並創建監控圖形

Zabbix-(三)監控主機CPU、磁盤、內存並創建監控圖形

一.前言

前文中已經講述了兩種方式對Zabbix的搭建,本文將講述如何在zaibbx上添加需要監控的主機,以及使用Zabbix自帶模板和自定義模板對主機的CPU、磁盤、內存進行監控,並觸發問題,並且在Zabbix儀錶盤創建實時監控圖形。

準備

  • Zabbix Server (Zabbix 4.4) (ip:192.168.152.140)
  • 被監控主機A (Centos7.6),下文簡稱 Server-A (ip:192.168.152.142)
  • 被監控主機B (Centos7.6),下文簡稱 Server-B (ip:192.168.152.143)

二.為被監控主機安裝zabbix-agent

  1. Server-A、Server-B分別安裝zabbix-agent

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

  2. Server-A、Server-B配置zabbix-agent

    # vim /etc/zabbix/zabbix_agentd.conf

    修改以下配置:

    • Server-A的zabbix_agentd.conf
    Server=192.168.152.140
    ServerActive=192.168.152.140
    
    # Hostname要與在Zabbix界面配置的Hostname(主機名稱)保持一致
    Hostname=Server-A
    • Server-B的zabbix_agentd.conf
    Server=192.168.152.140
    ServerActive=192.168.152.140
    
    # Hostname要與在Zabbix界面配置的Hostname(主機名稱)保持一致
    Hostname=Server-B

  3. 分別啟動zabbix-agent

    # systemctl start zabbix-agent

    可以查看agent日誌

    # tailf /var/log/zabbix/zabbix_agentd.log

    可能會出現以下內容,是由於zabbix界面上沒有配置主機,接下來將在zabbix頁面上進行主機配置

      6981:20191030:111132.151 no active checks on server [192.168.152.140:10051]: host [Server-A] not found

三.Zabbix添加主機

通過頁面操作,將需要監控的主機添加到zabbix中

  1. 登錄Zabbix,默認賬號:Zabbix,默認密碼:admin (可在zabbix數據庫 users表查詢)

  2. 點擊【配置】-【主機】-【創建主機】,添加需要被監控的主機

    首先配置【主機】信息,添加Server-A,輸入配置項

    配置項
    * 主機名稱 Server-A
    可見的名稱 Server-A
    * 群組 Linux servers (進行選擇)
    * agent代理程序的接口 IP地址: 192.168.152.142 端口: 10050

    再配置【模板】信息,點擊【添加】,選擇群組 Templates,勾選 Template OS Linux by Zabbix agent,點擊【選擇】

    最後點擊【保存】

  3. 在【主機】頁面可以看到Server-A已經成功添加了

    同時,Server-A的zabbix-agent日誌也不再打印

    注: 由於在之前在安裝Zabbix server時,也在zabbix server上安裝了zabbix-agent,因此圖例上除了Server-A主機以外,還有zabbix server主機

  4. 通過全克隆添加主機Server-B

    選擇需要複製的主機Server-A

    點擊【全克隆】(full clone)

    修改主機名稱agent IP地址等信息

    修改配置項
    *主機名稱 Server-B
    *agent IP 192.168.152.143

    最後點擊【添加】,等待Server-B與zabbix server建立通信

四.創建自定義模板(Template)

在添加主機步驟中,添加了2台需要監控的主機,添加監控項時也可以給每台主機單獨添加監控項,但是隨着主機數量增多,就會出現過多重複的操作,因此可以使用zabbix的Templates(模板)Items(監控項Triggers(觸發器)等眾多配置定義在模板中,將主機鏈接到定義好的模板上,就可以免去重複的操作。

下面將自定義模板,定義監控磁盤剩餘空間監控項,並配置觸發器當磁盤剩餘空間低於一定閾值時觸發告警。

  1. 創建自定義模板

    點擊【配置】-【模板】-【創建模板】

  2. 輸入模板信息,完成後點擊【添加】

    配置項
    * 模版名稱 Template Disk Free Size
    可見的名稱 Template Disk Free Size
    * 群組 Linux servers (選擇)
    描述 自定義磁盤剩餘空間模板

    注: 讀者也可以自定義一個群組,並在自定義群組中創建模板,這個步驟本文不再示範

五.創建磁盤剩餘空間監控項和觸發器

  1. 創建自定義磁盤監控項(Item)

    進入自定義模板的監控項模塊

    點擊【創建監控項】

    輸入監控參數

    配置項
    * 名稱 磁盤剩餘空間監控項
    類型 Zabbix 客戶端
    * 鍵值 vfs.fs.size[/,free]
    單位 B
    ……其他配置項 根據需要填寫

    這裏的鍵值 vfs.fs.size[/,free]是指,監控根路徑下,空餘的磁盤大小

    點擊【添加】

    注:創建監控項(Items)可以參考, 更多的鍵值(Keys)可以參考

  2. 創建觸發器(Trigger)

    觸發器可以配置當監控項監控到的數據達到一定閾值,從而觸發問題。

    在Template Disk Free Size模板中選擇【觸發器】,點擊【創建觸發器】

    輸入觸發器參數

    配置項
    * 名稱 磁盤剩餘空間觸發器
    嚴重性 嚴重(選擇)
    * 表達式/問題表現形式 {Template Disk Free Size:vfs.fs.size[/,free].last()}<15000000000 (可通過選擇監控項)
    事件成功迭代 恢復表達式(選擇)
    * 恢復表達式 {Template Disk Free Size:vfs.fs.size[/,free].last()}>=15000000000
    問題事件生成模式 多重(選擇)

    表達式/問題表示形式

    選擇已配置的磁盤剩餘空間監控項

    配置結果 < 15000000000, 監控項中單位為B,這裏15GB換算成15000000000B

    點擊【插入】,可以看到如下錶達式,表達式意思是,當檢測到磁盤弓箭剩餘不足15GB時,將觸發問題

    {Template Disk Free Size:vfs.fs.size[/,free].last()}<15000000000

    因此可以直接輸入問題恢復表達式,即磁盤剩餘空間高於15GB時,恢復問題

    {Template Disk Free Size:vfs.fs.size[/,free].last()}>=15000000000

    點擊【添加】

    再將該自定義模板,鏈接到Server-A、Server-B主機的模板中,參考,不過在篩選模板時,群組要選擇Linux servers(與創建模板時群組保持一致),添加後點擊【更新】

    進入【配置】-【主機】-【Server-A】(或者 Server-B)-【監控項】中,可以搜索到磁盤剩餘空間監控項已經添加成功

    注:如果監控項狀態不為【已啟動】可以查看zabbix server日誌進行排查

  3. 測試一下

    當前Server-A主機磁盤剩餘空間,為15G

    上傳一些文件到Server-A,此時磁盤剩餘空間為14G

    等待Zabbix監控到Server-A磁盤變化,查看儀錶盤,出現問題,配置成功

    刪除Server-A大文件,等待Zabbix監控到主機磁盤恢復,儀錶盤問題恢復

六.監控CPU空閑率

在添加主機時,由於已經鏈接了模板(該模板還鏈接了Template Module Linux CPU by Zabbix agent等若干個其他模板),Template Module Linux CPU by Zabbix agent模板自帶了許多監控項,其中包括CPU idle time 監控項,因此可以直接使用該監控項監控主機CPU空閑率數值,無需自定義監控項,只需要添加一個觸發器(Trigger)來讀取監控項觸發告警即可。

注: zabbix自帶模板中,有許多監控項可以直接利用起來,無需再單獨創建監控項,使用時可先在已有模板中查找下可用的監控項。

  1. 使用自帶模板中監控項

    直接使用CPU idle time 監控項即可,可以在【配置】-【主機】,【Server-A】的【監控項】中搜索到該監控項(在下圖中可以看到該監控項鏈接了模板)

  2. 在已有模板中添加觸發器(trigger)

    這裡在模板Template Module Linux CPU by Zabbix agent添加一個觸發器。

    點擊【配置】-【模板】搜索模板Template Module Linux CPU by Zabbix agent,並進入【觸發器】配置

    創建觸發器操作流程參考上面步驟中的,這裏說明一下配置參數

    配置項
    * 名稱 CPU空閑率觸發器
    嚴重性 嚴重 (選擇)
    表達式/問題表現式 {Template Module Linux CPU by Zabbix agent:system.cpu.util[,idle].avg(5m)}>=80
    事件成功迭代 恢復表達式(選擇)
    * 恢復表達式 {Template Module Linux CPU by Zabbix agent:system.cpu.util[,idle].avg(5m)}<80

    表達式/問題表現式:表示在5分鐘內CPU平均空閑率如果高於80%,那麼將觸發問題

    添加表達式示例:

    system.cpu.util[,idle]官方說明

    注:這裏修改了zabbix自帶的模板(Template Module Linux CPU by Zabbix agent),為其添加了一個新的觸發器,在實際使用中,要謹慎操作,因為鏈接了該模板的主機觸發器都會被修改,因此實際使用中需要對這種操作進行評估。

  3. 測試一下

    等待5分鐘,Zabbix server、Server-A、Server-B的CPU空閑率都高於80%,Dashboard界面觸發了問題,由於Zabbix server主機也鏈接了模板,因此修改Template Module Linux CPU by Zabbix agent模板,Zabbix server的CPU空閑率也被監控,所以在修改模板時要。

七.監控內存佔用率

在上面的步驟中添加了磁盤剩餘空間、CPU空閑率監控,直接使用了Zabbix 客戶端類型的監控項的鍵值,但是有些監控項可能不能直接獲取,需要通過計算的方式來獲取,例如監控內存佔用率,雖然可以使用vm.memory.size這個鍵值,但是得到值並不是我們所期望的,參考下面官方的解釋,雖然mode中有pused (used, percentage),但是“used”=”total – free”“available”=”free + buffers + cached”(內核版本Linux<3.14),實際是想要的值:

(available - total) / total

因此需要使用可計算的鍵值類型

官方對vm.memory.size以及參數解釋:

  1. 在Template OS Linux by Zabbix agent模板新增監控項

    配置項
    * 名稱 內存佔用率監控項
    類型 可計算的
    * 鍵值 memory.utilization (自定義)
    * 公式 100*(last(“vm.memory.size[total]”)-last(“vm.memory.size[available]”))/last(“vm.memory.size[total]”)
    信息類型 浮點數
    單位 %
    ……其他配置項 默認即可

    自定義鍵值可自己輸入,具體規則參考官方

這裏就不再創建觸發器了,感興趣的讀者可以自行創建,可參考上面的

八.Dashboard創建圖形

可以在首頁儀錶盤裡創建圖形,實時查看監控項的數據值。

  1. 回到zabbix首頁,點擊【編輯儀錶盤】-【添加構件】

  2. 創建磁盤剩餘空間圖形

    輸入基本信息

    添加【主機】和【監控項】

    左邊一欄選擇主機Server-A,右邊一欄選擇Server-A的磁盤監控項

    再【添加新數據集】,同樣操作將Server-B的磁盤監控也添加到圖形中

  3. 添加CPU空閑率圖形

    按照,添加Server-A,Server-B的CPU空閑率圖形

  4. 添加內存佔用率圖形

    同樣按照,添加Server-A,Server-B的內存佔用率圖形

  5. 保存設置並在儀錶盤中查看

    點擊【保存設置】

    在儀錶盤頁面查看圖形

九.參考文檔

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業 缺乏曝光? 下一步”網站設計“幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※試算大陸海運運費!