zabbix性能調優(1)

 

 

 

 

概述
在咱們生產環境使用Zabbix監控會遇到卡頓性能緩慢等問題。這種狀況下正確的調整Zabbix系統,使之保持高性能就是很是重要的。


性能緩慢的表現
01 NVPS參數值 
每秒寫入的新值數量 (簡稱NVPS)前端

影響NVPS值的幾個因素:
1. 更新頻率會直接影響到 NVPS的值.
2. 計算時考慮來自監控設備的數據。
3. 「Zabbix trapper」 和 「SNMP trap」 都是不在計算裏的.
4. 監控項類型, 數據類型, SNMPv3, triggers的數量和複雜度。
5. Housekeeper 設置和數據庫大小。
6. 同時在線WEB界面的用戶數量。




02 性能降低表現 
性能降低的幾個表現:
1. Zabbix 隊列裏面太多的延遲的監控項 Administration->Queue;
2. 數據圖形裏常常出現的間隙斷層, 甚至有些監控項沒有數據;
3. 觸發器包含nodata()表達式的誤報;
4. 無響應和響應遲鈍的WEB請求;
5. 沒有告警或者是數以千計的告警。mysql

確認問題
雖然咱們在前端看到Zabbix的性能緩慢,可是咱們還須要根據Zabbix的後臺信息來確認真正的問題所在。因此咱們還須要對後臺作一個檢查來確認問題所在。
01 使用ps工具查看組件進程性能 
對於安裝了ps工具終端系統的均可以使用命令查看Zabbix組件的性能。


# ps ax | grep sync
zabbix_server: history syncer #1 [synced 1845 items in 0.257111 sec, syncing history]
zabbix_server: history syncer #2 [synced 24 items in 0.060314 sec, idle 4 sec]
zabbix_server: history syncer #3 [synced 0 items in 0.000018 sec, idle 4 sec]
zabbix_server: history syncer #4 [synced 0 items in 0.000009 sec, syncing history]web

02 監控Zabbix主機的內部性能數據 
Zabbix 官方提供了開箱即用的內部性能監控模板


實際的VPS值
zabbix[wcache, values, all]
zabbix[queue,1m] количество элементов данных с задержкой более чем в 1 минуту


Zabbix server 組件
Alerter, Configuration syncer, DB watchdog, discoverer, escalator, history syncer, http poller, housekeeper, icmp pinger, ipmi poller, poller, trapper, etc.


Zabbix server 緩存
history write cache, value cache, trend write cache, vmware cache, etc.


開箱即用的內部監控模板:
Template App Zabbix Server
Template App Zabbix Proxy
Template App Zabbix Agent




03 提高日誌等級來查看後臺日誌 
能夠經過後臺zabbix_server 命令來作提高Zabbix的後臺日誌等級


有個問題, 可是咱們須要知道這是什麼問題。


Enable debugging mode for the process:
# zabbix_server -R log_level_increase=alerter


Search in the log for information about the problem (grep, etc.): /var/log/zabbix/zabbix_server.log




04 數據庫性能狀態查看 
Zabbix server configuration file, zabbix_server.conf (請參考4.0手冊中的Zabbix sever章節)
sql

 

 05 開啓前端Debug模式 數據庫

 

開啓後點擊Debug按鈕,在Zabbix的面板裏看後臺狀況。前端看到的:


******************** Script profiler ********************
Total time: 10.960905 --web服務出現緩慢問題
Total SQL time: 10.749027 --數據出現緩慢問題
SQL count: 5636 (selects: 4065 | executes: 1571)
Peak memory usage: 180.5M
Memory limit: 2G




調整參數優化性能
01 調整一些組件進程數 
Zabbix server configuration file, zabbix_server.conf:


StartPollers=80
StartPingers=10
StartPollersUnreachable=80
StartIPMIPollers=10
StartTrappers=20
StartDBSyncers=6


02 調整緩存大小 
Zabbix server configuration file, zabbix_server.conf:


VMwareCacheSize=64M
CacheSize=32M
HistoryCacheSize=256M
TrendCacheSize=64M
HistoryIndexCacheSize = 32M
ValueCacheSize=64M




03 數據庫引擎優化 




InnoDB引擎是優於MyISAM引擎


Look at the data
mysqladmin status / variables (or innotop)


InnoDB引擎配置
innodb_file_per_table = 1
innodb_buffer_pool_size=<large> (~75% of total RAM)
innodb_buffer_pool_instances = 4 (MySQL 5.6 - 8)
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_log_file_size = 256M


Do not use
Query history
二進制日誌, 若是不使用複製(指MySQL主從)(sync_binlog = 0)




04 數據庫表分區 


經過這種方式咱們能夠將一張大的表分紅不少區,只對那些數據量大的有歷史意義的表操做:




history_log,history_str,history_text,history_uint
trends,trends_uint




這樣作的優點在於:
1. 更快刪除過時數據
2. DB將擁有更好的性能




05 Web服務器選擇 
一般條件容許的形況下推薦使用Nginx Web服務器,Nginx在應用Zabbix的Web上要比Apache性能高出六倍左右。緩存

 

06 使用proxy代理 
全部的數據採集都由Zabbix Proxy完成服務器

這樣作的好處:
1. Zabbix Proxy "轉換" 被動檢查成主動。
2. 負載分佈在Zabbix Proxy代理之間。
3. 若是一個Proxy高負載, 網絡節點能夠切換到其餘的Proxy上。
4. 簡單易維護(Proxy沒有圖形化界面)。
5. 當Zabbix server出現故障時Proxy能夠緩存數據保證數據不丟失。




07 服務分離 
Zabbix 服務與數據庫分離:
網絡

 

 轉載:https://tieba.baidu.com/p/6039701886?red_tag=1277081980&traceid=app

相關文章
相關標籤/搜索