手把手帶你用Zabbix進行操作系統監控

      網友投稿 972 2025-03-31

      zabbix默認使用zabbix agent監控操作系統,其內置的監控項可以滿足系統大部分的指標監控,因此,在完成Zabbix agent的安裝后,只需在前端頁面配置并關聯相應的系統監控模板就可以了。如果內置監控項不能滿足監控需求,則可以通過system. run[command, ]監控項讓Zabbix agent運行想要的命令來獲取監控數據。

      下面介紹Zabbix對于Linux和Windows的監控。

      安裝Zabbix agent的過程就不贅述了,主要介紹一些關鍵的配置和功能。

      操作系統相關監控項的選擇及優化

      ▊ Zabbix agent類型的監控項

      在Zabbix官方手冊中,可以查看Zabbix agent類型的監控項鍵值說明,其中不僅列出了所有操作系統可使用的鍵值,還包括參數和注意事項等信息。對于Windows系統,官方還列出了其特有的監控項,如服務、性能計數器等。

      同樣,手冊中也介紹了上述監控項對不同操作系統的使用情況,明確地指出了不同操作系統中可用及不可用的監控項。

      ▊ 監控系統主/被動模式的選擇及優化

      建議使用Zabbix默認的操作系統模板監控相應的主機,但是需要一些優化來確保達到最好的監控效果,以及最大限度地減少Zabbix系統性能的開銷。

      下面介紹Zabbix agent(active)和Zabbix agent監控項類型的區別。

      前者又名主動模式監控項類型,后者為被動模式監控項類型。這里的主動和被動都是針對Zabbix agent來說的。主動模式監控項,顧名思義,就是Zabbix agent會主動上報監控數據給Zabbix server。而被動模式監控項就是指Zabbix server根據監控項的更新間隔向Zabbix agent拉取監控數據。兩者都有各自的適用范圍。

      在小型環境中,當主機數量為200~500臺時,可以將大部分監控項設置為Zabbix agent(被動模式)類型的監控項,這樣,監控數據的更新時間不會受被監控對象的系統時間的影響,更新時間都是跟著Zabbix server走的。

      在中大型環境中,建議將大部分監控項設置為Zabbix agent(active)(主動模式)類型的監控項,這樣,Zabbix agent會主動上報監控數據給Zabbix server,可以大大減小Zabbix系統的壓力。但主動模式監控項的監控數據會受到操作系統的時間影響,當被監控對象的系統時間與Zabbix server的系統時間有偏差時,其含有nodata函數的觸發器就會產生誤告警。

      下面以Linux模板Template OS Linux為例進行優化。

      經過多年的實踐經驗,建議將agent ping、Host local time及所有自動發現的規則項(不是監控項原型里的)都設置為被動模式,這樣就不會受到系統時間的影響了。將自動發現的監控項設為被動模式,主要是由于間隔時間太長,導致納管主機的監控數據很久才出來,這個時候,被動模式的監控項就可以使用“check now”的功能了。

      監控頻率:與主機性能指標有關的監控項,如CPU、內存等,建議將頻率調整為1次/分鐘;而一些信息指標監控項,如Host name、Version of zabbix_agent(d) running等,建議將頻率設置為1次/小時(或更長);對于模板中的自動發現監控項,如Mounted filesystem discovery、Network interface discovery等,也建議將頻率設置為1次/小時;對于一些容量指標監控項,如總內存、總文件系統大小等,也都建議將頻率設置為1次/小時。

      手把手帶你用Zabbix進行操作系統監控

      關閉無用的觸發器:在默認的模板中,官方提供了很多觸發器,在實際使用中,用戶可以根據自身需求開啟/關閉。

      ▊ 告警抑制及觸發器中宏變量的巧用

      Zabbix提供了很多觸發器函數,用戶可以通過使用這些函數靈活地制定告警規則。下面就簡單介紹一下常用在操作系統監控中的觸發器函數。

      (1)告警抑制。

      告警抑制在監控中起到了很大的作用,可以有效減少誤告警。但Zabbix沒有直接相關的告警抑制選項,可以通過幾個常用的觸發器函數來達到抑制告警的目的。

      告警抑制需求舉例:如果CPU iowait連續5min都大于20%,則告警{Template OS Linux:system.cpu.util[,iowait].min(5m)}>20,表示5min內的最小值大于20%就告警,即只有5min內的數據都大于20%才告警。基本上所有的告警都可以用類似的方法進行抑制。

      (2)宏變量。

      Zabbix有一個特性,就是模板關聯主機之后,主機中繼承自模板的監控項和觸發器的配置很多都是不能改的,這就導致使用者很難定制化一些告警閾值。但Zabbix提供了宏變量來解決這一問題。下面同樣以CPU iowait監控項的觸發器舉例。

      對于{Template OS Linux:system.cpu.util[,iowait].avg(5m)}>20,其中的20為固定的值,現在有一種場景:有20臺主機,都套用了Linux的模板,但其中兩臺主機需要將CPU iowait的閾值調整成10%,其他不變。此時如果設置成固定的20,那么對于特定機器的閾值調整很難做到。解決方案如下:將模板中的觸發器寫成{Template OS Linux:system.cpu. util[,iowait].avg(5m)}>{$CPUIOWAIT},然后在模板的“宏”選項卡中添加一個模板宏“{$CPUIOWAIT}”,值為“20”,如圖1所示。

      這是模板宏,此時將那兩臺需要修改閾值的主機的宏改為10就可以了,因為在主機中,主機宏的優先級是高于模板宏的優先級的。

      (3)LLD宏變量。

      LLD的宏變量解決了在自動發現中單個監控項宏的問題。例如,有以下場景:一臺主機中有很多文件系統,整個文件系統的告警閾值宏變量為85%,此時,有一個文件系統/opt,它的閾值需要設置為95%。為了解決這個問題,Zabbix也提供了LLD宏變量,書寫方式為:

      {host:vfs.fs.size[{#FSNAME},pfree].last()}<{$LOW_SPACE_LIMIT:"{#FSNAME}" }

      此時,在主機宏中添加“{$LOW_SPACE_LIMIT:"/opt "}”,值為“95”就可以了,如圖2所示。

      Linux

      本節主要介紹Linux系統中CPU、內存、文件系統相關Zabbix監控指標的使用及優化。

      1.CPU使用率

      Zabbix默認的CPU使用率相關的監控項共有15個,但是沒有可以表示主機總體CPU使用率的監控項。可以通過創建可計算類型的監控項來監控總體的CPU使用率指標,計算邏輯為“100-system.cpu.util[,idle]”,意思是用100減去CPU的空閑值,可以比較準確地表示總體CPU的使用率。

      2.內存使用率

      Zabbix默認的內存鍵值vm.memory.size中有很多參數。

      total:總物理內存。

      free:可用內存。

      active:RAM中當前或最近使用的內存。

      inactive:未使用內存。

      wired:被標記為始終駐留在RAM中的內存,不會移動到磁盤中。

      pinned:和wired一樣。

      anon:與文件無關的內存(不能重新讀取)。

      exec:可執行代碼,通常來自一個(程序)文件。

      file:緩存最近訪問文件的目錄。

      buffers:緩存文件系統元數據。

      cached:緩存。

      shared:可以同時被多個進程訪問的內存。

      used:active + wired 內存。

      pused:active + wired 總內存的百分比。

      available:inactive + cached + free memory內存。

      pavailable:inactive + cached + free memory占total的百分比。

      可以看到,available、pavailable是inactive + cached + free memory的可用內存,而used、pused則不是,更建議給pavailable參數的內存監控項設置告警閾值。

      3.文件系統

      默認模板中關于文件系統的監控項共有5個。

      Free disk space on {#FSNAME}。

      Free disk space on {#FSNAME} (percentage)。

      Free inodes on {#FSNAME} (percentage)。

      Total disk space on {#FSNAME}。

      Used disk space on {#FSNAME}。

      建議將文件系統的監控項改為3個,分別為總容量、已使用大小、已使用的百分比大小,這樣也可以減小Zabbix的壓力。

      Windows

      本節主要介紹Windows系統中服務、性能計數器、事件日志相關Zabbix監控指標的使用及優化。

      1.Windows服務的自動發現

      在大部分情況下,用戶不會去關心所有Windows系統的服務,但默認模板會將所有的服務都發現出來并添加告警。對此,建議將模板中的Windows service discovery關閉,當有主機需要監控服務時,在主機上開啟,并添加過濾條件來找到需要監控的服務,如圖3所示。

      2.Windows性能計數器監控

      Zabbix提供了一個很重要的且專屬于Windows的監控項鍵值perf_counter [counter, ],通過這個鍵值,就可以監控性能計數器中的數據了,如監控項Average disk read queue length的鍵值為perf_counter[\234(_Total)\1402]。具體使用方法在官方手冊中有介紹。

      3.Windows event log

      在Windows中有一個重要的組件,就是event log。Zabbix同樣提供了相應的專屬鍵值來監控它,即eventlog[name,,,, ,,]。可以看到,這個鍵值中有非常多的參數,可以很準確地監控用戶需要的日志。

      打開Windows中的事件查看器,選擇一個事件,如圖4所示。

      可以看到,鍵值中的參數在圖4中都有出現。

      name:日志名稱。

      < severity >: 級別

      < source >:來源

      < eventid >: 事件ID

      需要注意的是,上述參數都需要填寫英文。

      本文節選自《Zabbix監控系統之深度解析和實踐》一書,歡迎閱讀本書學習更多相關內容。

      本書詳情

      往期推薦

      Zabbix版本兼容性

      Zabbix命令詳解

      2021 Zabbix全年在線課報名

      Zabbix 學習資料申請 -百格活動

      Zabbix

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel中vlookup函數匹配不出相對應的數字(匹配函數vlookup匹配出來不對應)
      下一篇:從哪查找
      相關文章
      亚洲国产精品一区第二页 | 亚洲VA中文字幕无码一二三区| 亚洲6080yy久久无码产自国产| 亚洲1区1区3区4区产品乱码芒果| 亚洲国产综合专区在线电影| 国产亚洲综合一区柠檬导航| 亚洲精品成人片在线观看精品字幕| 久久亚洲精品无码播放| 国内精品久久久久久久亚洲| 亚洲一区二区三区偷拍女厕| 亚洲一区二区三区偷拍女厕| 国产A在亚洲线播放| 久久青青草原亚洲AV无码麻豆| 久久夜色精品国产嚕嚕亚洲av| 亚洲va久久久噜噜噜久久天堂| 久久亚洲成a人片| 久久久亚洲欧洲日产国码aⅴ | 亚洲AV第一成肉网| 亚洲av无码成人精品区| 亚洲福利在线播放| 中文字幕亚洲不卡在线亚瑟| 中文字幕在亚洲第一在线| 亚洲精品无码Av人在线观看国产| 亚洲产国偷V产偷V自拍色戒| 亚洲人成在线电影| 亚洲人成网站日本片| 在线观看亚洲AV日韩AV| 亚洲AV无码片一区二区三区 | 国产精品亚洲一区二区无码| 国产精品亚洲玖玖玖在线观看| 亚洲无人区午夜福利码高清完整版| 久久亚洲一区二区| 亚洲性无码av在线| 亚洲色无码专区一区| 极品色天使在线婷婷天堂亚洲| 亚洲人成影院在线观看| 亚洲国产a∨无码中文777| 亚洲美免无码中文字幕在线| 亚洲中文字幕无码爆乳app| 国产亚洲精品免费| 亚洲精品美女久久777777|