起因:近幾日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...