zabbix優化(報警恢復慢,頁面卡等)

2021-08-26 05:50:27 字數 3767 閱讀 9668

起因:近幾日zabbix報警的恢復時間變得很長,頁面有卡頓的現象。抓包檢視發現,確實是收到了最近正常的值,但是面板不更新,重新zabbix_server程序,才能完成面板更新。

1.zabbix效能概述

當zabbix效能低時會出現多種狀況,zabbix前端頁面出現無響應、卡頓、列隊無法更新,zabbix圖形中經常出現斷圖,無圖。一些item獲取不到資料。列隊中出現大多被延遲的item

如何判斷zabbix-server效能

首頁導航中通過zabbix狀態可以看到zabbix的主機數量、監控項的數目、觸發器的數目。並通過zabbix的nvps(每秒處理數值數)衡量效能標準,nvps是通過php**編寫實現的計算,從總體上反映出了zabbix-server的處理速度。

nvps與history的保留時間和trends的保留時間都有直接關係。如下圖中zabbix狀態效能提公升空間還很大,可以調整主機模版、修改被禁用和不支援的監控項及觸發器。

我這裡因為伺服器比較老,再加上zabbix,mysql都是比較老的所以數字會很低

可以通過看zabbix對於本身server列隊的監控,來確定是什麼型別的監控項造成的效能問題,見下圖。等待的列隊越多、時間越長,說明zabbix-server效能越差。可以針對受影響的監控型別做調整,比如調整監控項的時間間隔,或者根據監控型別定製模版,將模版寫到最簡。如果以上方法還是沒有效果,那麼就說明zabbix server壓力過大,採用搭建proxy分布式架構,將server的壓力分擔給proxy

上圖是我調整後的

調整前

從上圖可以看出有幾個監控項延遲達到3年。。。。。

先將這幾個延遲超長的監控項禁用掉,完事看看佇列是否有變化

2. zabbix配置檔案優化

zabbix自帶模版還會監控各工作程序的狀態,可對資料收集過程中的效能做分析,見下圖,資料採集過程和使用快取的空間容量。需要特別注意的有:

zabbix busy housekeeper processes,in %##管家處理資料佔快取的百分比

zabbix busy history syncer processes,in %##寫入資料庫的同步程式佔快取的百分比

zabbix busy poller processes,in % ## zabbix輪詢程序佔比

zabbix busy unreachable poller processes in %##不可達的輪詢程序佔比

#配置檔案前面內容為初始安裝zabbix時需要配置的基本引數。找到高階配置這一行開始,涉及優化內容用紅色標識填充

############ advanced parameters #################

### option: startpollers

# number of pre-forked instances of pollers.

## mandatory: no

# range: 0-100

# default:

startpollers=5

#填寫範圍0-100,預設5 。輪詢處理監控項的程序數,增加太大會影響伺服器本身效能,保持此引數的值盡可能低,20000個監控項大概控制在80左右即可。

startipmipollers=0

#ipmi輪詢程序例項個數,伺服器使用ipmi協議監控時需要更改此項,預設0為關閉

startpollersunreachable=10

#不可達主機輪詢數量。此值特別耗費效能,設定在10-20之間即可,預設1

#負責處理agents和proxy推送過來的資料的程序數,預設為5,如果zabbix-agent監控型別較多需要加大此引數

startpingers=1

# icmp- ping程序輪詢例項數,預設為1.,建議更改為20-50之間,根據業務填寫即可。

startdiscoverers=1

#自動發現子程序例項數,預設為1,範圍0-250

#http程序輪詢例項個數,預設1,範圍0-1000,web監控不多選擇預設即可

housekeepingfrequency=1

#zabbix執行管家的頻率,從資料庫中刪除過期的資料。為了防止 housekeeper 過載 (例如, 當歷史和趨勢週期大大減小時), 對於每乙個item,不會在乙個housek週期內刪除超過4倍housekeepingfrequency 的過時資訊. 因此, 如果 housekeepingfrequency 是 1, 乙個週期內不會刪除超過4小時的過時資訊,為了降低server壓力,kousekeeping延後server啟動30分鐘,預設為1,最大24,為0時關閉使用。

maxhousekeeperdelete=5000

#執行乙個housekeeping週期時,預設刪除的資料條目數。預設5000條。如果設定為0,不限制刪除的行數,這種情況資料庫多數會崩潰。

cachesize=8m

#快取大小,單位位元組。用於儲存主機、監控項、觸發器資料的共享記憶體大小,預設8m最大8g。根據自身zabbix業務需求配置合理的引數。

cacheupdatefrequency=60

#zabbix快取更新頻率,單位秒。設定範圍1-3600

historycachesize=1024m

#歷史資料快取大小,單位位元組

trendcachesize=256m

#趨勢資料快取大小,單位位元組。用於儲存趨勢資料的共享記憶體大小

valuecachesize=1024m

#歷史資料快取大小, 單位bytes.快取item歷史資料請求的共享記憶體大小.0即禁止快取(不建議這麼做)

timeout=3

#agent, snmp 裝置或外部檢查的超時時長(單位秒),填寫範圍1-30

以上為配置優化主要引數,其他內容配置檔案中均有簡要說明,可根據業務需求更改優化。對配置引數進行合理的設定會使zabbix處於正常的工作狀態。值越大,越高消耗的cpu和記憶體越多。修改配置檔案後,需要重啟zabbix-server程序。載入新配置生效

當以上方法不能有效時,建議清楚一下趨勢資料。當然如果有儲存的需求,那就只能做分片了(本文不涉及分片)。

truncate table history; 

truncate table history_str;

truncate table history_uint;

truncate table trends;

truncate table trends_uint;

zabbix郵件報警

常完美的選擇 使用簡單並且功能強大.這個被設計用在php bash perl和web站點使用。以上是sendemail的簡單介紹,千萬不要和sendmail搞混掉了。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 root server wget root server ta...

zabbix郵件報警

一 程序郵件報警 zabbix安裝完成之後 首先更改 管理 報警媒介型別 smtp的相關配置可以到對應的郵箱設定裡尋找,而且要正確,不然會遇到各種奇怪的問題。強調一點安全連線和認證必須開啟。不然會發生 error receiving initial string from smtp server 4...

zabbix郵件報警

系統 centos7.2 環境 搭建完畢的zabbix server,並且伺服器有外網 一 將下面的兩個檔案上傳到你的伺服器上 1 解壓sendmail程式的壓縮包,並複製到 usr local bin 2.給sendemail.sh增加可執行許可權 smtp server smtp.163.com...