centos7之zabbix服務器的常規優化及其它設置


一、硬件需求分析

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

二、服務器配置文件優化

  2、服務器配置文件說明

#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     DB2、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返回數據的最長時間

3、備份和優化

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

  2、做好配置文件的備份。

  3、數據庫的優化,這里需要提一下,mariadb默認最大連接數是151個,如果你上面參數調的太大的話,需要在數據庫里面增加max_connection參數,否則數據庫會報錯。

  4、緩存問題,我們先看看下面的圖。注意buff/cache這個參數,如果不定時清理緩存的話,這個值就會越來越大,最后導致內存溢出,數據庫崩潰。

  

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

* */4  * * *  /usr/bin/echo 3 > /proc/sys/vm/drop_caches 

  

更改zabbix的admin密碼:

use zabbix;

 更改密碼為12345678

update users set passwd=md5('12345678') where alias = 'Admin';

mysql報警too many connection

設置zabbix_server配置文件的時候,mysql報警too many connection

查看默認數據庫最大連接數(mysql默認是151):

select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';

修改為1000,可以根據自己的配置嘗試逐漸提高。

set global max_connections = 1000;

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM