iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0
自我挑戰組

應用Zabbix 進行全方位監控系列 第 30

Zabbix系統效能調整

  • 分享至 

  • xImage
  •  

Zabbix系統效能調整

當Zabbix運作一段時間,不斷加入主機及監控項目,可能會有產生以下狀況時。

  • item資料太多,有些item沒有數據或Zabbix繪圖中常出現斷圖。
  • 前端WEB頁面無回應,或回應速度慢。
  • 在Administration > Queue中,有太多被延遲的item。
    https://ithelp.ithome.com.tw/upload/images/20231015/20163206nF8DIYoQet.png

可以先觀察Zabbix 內建的監控項目-Zabbix server:Data gatherig processes。
https://ithelp.ithome.com.tw/upload/images/20231015/20163206ibuyJLLjSf.png
及在 Reports > System information 的Required server performance, new values per second ,了解NVPS (每秒處理數值數),來評估Zabbix 運作狀態,進行相關設定調整。
https://ithelp.ithome.com.tw/upload/images/20231015/20163206sb0HuQfoqR.png

Zabbix設定

參考官網Performance tuning ,以Zabbix系統參數調整為主。
在Zabbix 使用正常HistoryPollers、Pollers、unreachable poller數量,依監控方式調整其它Poller輪詢器的種類數量,僅設定監控所需參數,避免系統過載。
如果設備數量較多,可以使用Proxy分散架構,將所有輪詢委託給Proxy主機執行。

在Template中,調整所有item(項目)的Update interva(更新間隔)。
保持較小的更新間隔可能對圖表呈現有好處,但是可能會使 Zabbix 過載。

在Template中,調整預設的參數,包含item的啟用或停用,降低item數量,減低系統負載。

不要監視返回相同訊息的參數。

避免使用作為函數參數給出的較長週期的觸發器。例如,max(/host/key,1h) 的計算速度將明顯慢於 max(/host/key,1m)。

Zabbix Server設定

zabbix_server.conf 設定調整,相關數字依狀況調整。

---
StartPollers=80
主動收集資料輪詢器執行數量

StartPrepprocessors=20
預處理工作執行數量

StartPingers=10
ICMP pinger 執行數量

StartTrappers=20
Trappers 接受 Zabbix sender、Agent和Proxy 的傳入數量

StartDBSyncers=6
history syncers的執行數量,也是DB同步數量。

StartEscalators=10
告警升級執行數量

StartAlerters=10
告警執行數量
 
CacheSize=128M
用於儲存主機、item和trigger資料的共享記憶體大小

Timeout=3
等待Agent、SNMP 或外部檢查的時間(以秒為單位)
---	

Zabbix agent 設定
Agent監控應合理使用主動或被動模式設定,建議使用主動模式,提高server效能。

Zabbix_agent2.conf 設定檔調整

---
Timeout=15
輪詢器將等待處理時間(秒),預設為三秒。

StartAgents=3
Agent同時處理的進程數量,被動模式。

RefreshActiveChecks=60
刷新活動檢查清單的頻率(秒)。刷新活動檢查失敗後,將在60秒進行下一次刷新。
---

Zabbix Proxy設定

使用Proxy 分散式架構,合理使用主動或被動模式,設定正確的Pollers 輪詢器,減少了server負載。

zabbix_prxoy.conf 設定檔調整

---
ConfigFrequency=3600
調整Proxy 與 Server配置更新時間(以秒為單位)。Active mode參數。

StartDBSyncers=4
history syncers的執行數量

ProxyLocalBuffer=0
Proxy 將在本地保留資料 N 小時,即使資料已經與伺服器同步。

ProxyOfflineBuffer=1
如果與 Zabbix Server 沒有連接,Proxy 將保留資料 N 小時。
---

DB調整參數

MariaDB調整InnoDB參數

---
innodb_file_per_table = 1
innodb_buffer_pool_size=主機RAM的50%~75% 
innodb_buffer_pool_instances = 4
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_log_file_size = 256M
---

其它調整

在Zabbix 調整housekeeping管理參數或關閉housekeeper,調整DB的history分區。
在OS中使用ps和top查看Zabbix進程效能。

要讓Zabbix 穩定運作發揮作用,明確建立Zabbix監控項目,減少不必要的資料收集非常重要。將有助於提高監控效率,避免被監控系統過載,並使管理和分析收集到的資料變得更容易。

參考資料:
https://www.zabbix.com/documentation/5.4/en/manual/appendix/performance_tuning
https://www.zabbix.com/documentation/6.0/en/manual/appendix/config/zabbix_server
https://www.initmax.cz/wp-content/uploads/2022/06/zabbix_performance_tuning_6.0.pdf

內容為學習過程如有問題,請多多指教,謝謝。
文章也同步於個人網站
後續新文章及更新會以個人網站為主。


上一篇
Zabbix High availability 設定
系列文
應用Zabbix 進行全方位監控30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言