centos7之zabbix服務器的常規優化

1、硬件需求分析

  一、首先咱們來分析一個硬件需求,這裏我以400個agent計算,CPU建議是4核,內存不要少於8GB,硬盤只要不是用了好久的主機就行,容量的話建議300GB基本就夠使用好一段時間了,若是agent太多,可使用分佈式監控。前端

2、服務器配置文件優化

  二、服務器配置文件說明mysql

#zabbix-server的日誌文件路徑
LogFile=/tmp/zabbix_server.log
##當日志文件達到多大時進行輪詢操做
LogFileSize=100
#數據名稱
DBName=zabbix
#數據庫受權用戶
DBUser=zabbix
#數據庫受權用戶的密碼
DBPassword=zabbix
#通常狀況下默認便可(模式認識5)
StartPollers=50
初始的Unreachable主機檢查進程(也就是不可達的進程數)
StartPollersUnreachable=30
##打開的進程數
StartTrappers=5
#同上,意思是同時開多少個ping檢測的進程,不易太大,特別耗cpu和數據庫鏈接數
StartPingers=10
#同上,默認便可
StartDiscoverers=5
#這裏只服務器IP地址,記得必定要添加上服務器的內網ip
ListenIP=127.0.0.1,192.168.1.58
#緩存的大小
CacheSize=512M
多少秒更新一次配置緩存
CacheUpdateFrequency=100
#預先foke DB Syncers的數量,1.8.5之前最大值爲64
StartDBSyncers=10
#歷史數據緩存大小
HistoryCacheSize=1024M
#3.0.0開始支持,歷史索引大小,一個監控項須要100bytes來存儲
HistoryIndexCacheSize=512M
趨勢圖歷史數據緩存大小
TrendCacheSize=512M
#lue緩存大小,當緩存超標了,將會每隔5分鐘往server日誌裏面記錄
ValueCacheSize=512M
#處理trapper數據的超時時間
Timeout=2
#間隔多少秒再次檢測主機是否可用
UnavailableDelay=90
間隔多少秒再次檢測主機是否可達。
UnreachableDelay=90
#短信報警模板路徑
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
#fping檢測路徑
FpingLocation=/usr/local/sbin/fping
多慢的數據庫查詢將會被記錄,單位:毫秒,0表示不記錄慢查詢。只有在DebugLevel=3時,這個配置纔有效。
LogSlowQueries=3000 

其它更改參數

參數 是否必須 範圍 默認值 描述
AlertScriptsPath   /usr/local/share/zabbix/alertscripts 自定義告警腳本的路徑,取決於編譯時候的datadir參數
AllowRoot   0 是否容許Zabbix以root用戶啓動,設爲0的時候server默認會用zabbix用戶啓動,1則能夠以root啓動,此參數在2.2.0開始才支持
CacheSize 128K-8G 8M 用於緩存主機、監控項、觸發器的數據,在2.2.3以前最大值爲2G
CacheUpdateFrequency 1-3600 60 Zabbix更新緩存數據的頻率,單位爲秒
DBHost   localhost 數據庫的主機地址
DBName     數據庫名
DBPassword     數據庫密碼
DBPort 1024-65535 3306 數據庫端口
DBSchema     DB二、PG的Schema名稱
DBSocket   /tmp/mysql.sock MySQL Socket的路徑
DBUser     DB用戶名
DebugLevel 0-5 3 Debug級別,0:ZabbixServer啓停信息。1:關鍵信息。2:錯誤信息。3:警告信息;4:調試級別。5:所有日誌信息
ExternalScripts   /usr/local/share/zabbix/externalscripts 腳本路徑,與編譯的datadir有關
FpingLocation   /usr/sbin/fping Fpgin的路徑,確保是root用戶下而且設置了SUID標籤
HistoryCacheSize 125K-2G 16M 緩存歷史數據的內存大小
HistoryIndexCacheSize 125k-2G 4M 3.0.0開始支持,歷史索引大小,一個監控項須要100bytes來存儲
HousekeepingFrequency 0-24 1 Housekeeper清理歷史數據的頻率
Include     用來包含其餘配置文件,例如/absolute/path/to/config/files/*.conf,2.4.0以後纔開始支持
JavaGateway     2.0.0開始支持,Zabbix Java網關地址
JavaGatewayPort 1024-32767 10052 Zabbix Java網關偵聽的端口
ListenIP 0.0.0.0 從1.8.3開始支持多個IP  
ListenPort 1024-32767 10051 偵聽Trap的端口
LoadModule     擴展模塊
LoadModulePath     擴展模塊路徑
LogFile     日誌文件的名稱
LogFileSize 0-1024 1 單位爲MB,每份日誌文件最大的大小,0表示禁用日誌輪轉
LogType   file 日誌輸出的類型,file:文件日誌,system:寫到syslog,console:控制檯,3.0.0開始支持
LogSlowQueries 0-3600000 0 慢查詢日誌,0:不記錄,1.8.2開始支持
MaxHousekeeperDelete 0-1000000 5000 每一個HouseKeeper任務刪除的最大記錄數,1.8.2開始支持
PidFile   /tmp/zabbix_server.pid PID文件名
ProxyConfigFrequency 1-604800 3600 ZabbixServer向Proxy更新配置文件的頻率
SenderFrequency 5-3600 30 Zabbix發送未發送成功的告警頻率,單位爲秒
SNMPTrapperFile   /tmp/zabbix_traps.tmp SNMPTrapServer臨時文件,必須和zabbix_trap_receiver.pl的名字相同,2.0.0開始支持
SourceIP     出口IP
SSHKeyLocation     SSH公鑰目錄
SSLCertLocation否     SSL客戶端認證文件,2.4開始支持  
SSLKeyLocation     SSL私鑰文件目錄,2.4開始支持
SSLCALocation     SSL CA鑰文件目錄
StartDBSyncers 1-100 4 DB同步進程數量,1.8.3開始支持,1.8.5以前最大爲64
StartDiscoverers 0-250 1 自動發現的進程數量,1.8.5以前最大值爲255
StartEscalators 1-100 1 檢查escalations的進程,這張表好像是告警事件表喲
StartHTTPPollers 0-1000 1 初始的HTTP Poller進程
StartIPMIPollers 0-1000 1 初始的IPMI Poller進程
StartJavaPollers 0-1000 1 初始的JavaPoller進程
StartPingers 0-1000 1 ICMP pinger的初始進程
StartPollersUnreachable 0-1000 1 初始的Unreachable主機檢查進程
StartPollers 0-1000 5 Server的初始進程
StartProxyPollers 0-250 1 代理Poller的初始進程數
StartSNMPTrapper 0-1 0 是否開啓SNMPTrapper進程
StartTimers 0-1000 1 timers進程的初始數量,它是一個用於處理時間相關的告警進程
StartTrappers 0-1000 5 ZabbixTraper(sender等功能用)的初始進程數量
StartVMwareCollectors 0-250 0 採集VMWare信息的初始進程量
Timeout 1-30 3 等待Agent的時間,單位爲秒
TLSCAFile     TLS證書文件
TLSCertFile     TLS證書文件
TLSCRLFile     TLS證書文件
TLSKeyFile     TLS證書文件
TmpDir   /tmp 臨時文件目錄
TrapperTimeout 1-300 300 Trapper處理新數據的最長時間
TrendCacheSize 128K-2G 4M 趨勢數據緩存的大小
UnavailableDelay 1-3600 60 當主機不可用了,多久檢查一次該主機的可用性,單位爲秒
UnreachableDelay 1-3600 15 當主機不可到達了,多久檢查一次該主機的可用性,單位爲秒
UnreachablePeriod 1-3600 45 當主機不可達多少秒後,設置爲主機不可用
User   zabbix 非root運行的帳號
ValueCacheSize 0,128k-64G 8M 歷史數據緩存大小,0爲不緩存,
VMwareCacheSize 256K-2G 8M VMWare檢查可用的緩存大小
VMwareFrequency 10-86400 60 獲取VMWare數據之間的間隔
VMwarePerfFrequency 10-86400 60 獲取VMWare性能計數器之間的間隔
VMwareTimeout 1-300 10 等待VMWare返回數據的最長時間

三、備份和優化

  一、首先全部的配置都是在書庫裏面,其實也能夠前端直接導出就行,可是比較麻煩,因此我比較喜歡數據庫備份,簡單粗暴。由於這裏我使用的是mariadb10.3的版本數據庫,因此不能用原來的xtrabackup工具有份數據量,版本10開始就可使用mariabackup工具,用法基本和xtrabackup工具相同。sql

  二、作好配置文件的備份。數據庫

  三、數據庫的優化,這裏須要提一下,mariadb默認最大鏈接數是151個,若是你上面參數調的太大的話,須要在數據庫裏面增長max_connection參數,不然數據庫會報錯。緩存

  四、緩存問題,咱們先看看下面的圖。注意buff/cache這個參數,若是不定時清理緩存的話,這個值就會愈來愈大,最後致使內存溢出,數據庫崩潰。服務器

  

  腳本很簡單以下,每4個小時清除一下緩存。app

* */4  * * *  /usr/bin/echo 3 > /proc/sys/vm/drop_caches 
相關文章
相關標籤/搜索