1. 數(shù)據(jù)庫優(yōu)化
1.設(shè)置數(shù)據(jù)庫分區(qū)優(yōu)化勤哗,buffer優(yōu)化陵叽,hash優(yōu)化,
說明:數(shù)據(jù)庫分區(qū)優(yōu)化的優(yōu)點:
數(shù)據(jù)庫history設(shè)置是保存7天斯议。然后如果你沒有分區(qū)。雖然數(shù)據(jù)在減少但是表空間不會減少醇锚。浪費硬盤空間的同事哼御,緩存內(nèi)的cache部分也沒有被釋放。
分區(qū)后可以遷移分區(qū)焊唬,合并分區(qū)恋昼,刪除已經(jīng)沒有數(shù)據(jù)的分區(qū),優(yōu)化表空間優(yōu)化buffer內(nèi)存求晶。
https://yq.aliyun.com/articles/434770
2.清空數(shù)據(jù)庫中的history, history_uint表;
3焰雕、監(jiān)控項Item得設(shè)置合適的數(shù)據(jù)采樣間隔interval
衷笋,一般不要小于1分鐘芳杏,對于長時間不變的量如內(nèi)存總大小、磁盤總大小等應(yīng)該盡量間隔時間大點比如一天(1d)或一周(1w)辟宗。
4爵赵、實在Host太多,還能怎樣只能拆分架構(gòu)泊脐,采用分布式架構(gòu)減輕zabbix server 的壓力空幻,將這些壓力分擔(dān)到proxy上去。
5容客、歷史數(shù)據(jù)是數(shù)據(jù)庫爆滿的主要原因秕铛。減少歷史數(shù)據(jù)的保存時間,默認是90天缩挑,可以調(diào)成7天或更少但两,放心zabbix還保存著趨勢數(shù)據(jù),宏觀上歷史數(shù)據(jù)不會丟供置。
6谨湘、對history類型的(history、history_uint等)大表進行拆分操作,關(guān)閉housekeeper禁止自動定期清除歷史記錄數(shù)據(jù)紧阔,
總結(jié)
主要壓力來源數(shù)據(jù)庫坊罢,history,history_unit這些數(shù)據(jù)表的數(shù)據(jù)冗余,可以定時刪除以及做一些數(shù)據(jù)庫的分區(qū)擅耽,減少歷史數(shù)據(jù)的保存時間活孩。
如果history,history_unit表,公司不需要可以直接清空
2.zabbix優(yōu)化之zabbix server優(yōu)化
StartPollers
一般規(guī)則 - 保持此參數(shù)的值盡可能低秫筏。 zabbix_server的每個附加實例都會添加已知的開銷, 同時, 并行性增加诱鞠。當(dāng)隊列平均包含最小參數(shù)數(shù)量(理想情況下,在任何給定時刻為0)時这敬,實現(xiàn)最佳實例數(shù)航夺。可以通過使用內(nèi)部檢查zabbix [queue]來監(jiān)視此值崔涂。
DebugLevel 最佳值為3阳掐。
DBSocket 僅限MySQL. 建議使用DBSocket連接數(shù)據(jù)庫。 那是最快和最安全的方式冷蚂。
2.配置優(yōu)化
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=1024
DebugLevel=3 #日志級別
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
StartPollers=100 #poller進程 100
StartPollersUnreachable=30 #無法訪問的主機輪詢進程30
StartPingers=30 #ping輪詢數(shù)量
StartDiscoverers=30
StartTimers=10
SenderFrequency=30 #發(fā)送報警超時
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=4096M #存儲主機缭保,項目和觸發(fā)器數(shù)據(jù)的共享內(nèi)存
CacheUpdateFrequency=120 #執(zhí)行配置緩存的更新頻率
StartDBSyncers=24 #數(shù)據(jù)庫同步進程
HistoryCacheSize=2048M
HistoryIndexCacheSize=2048M
TrendCacheSize=2048M #趨勢數(shù)據(jù)最大2G
ValueCacheSize=2048M #緩存項歷史數(shù)據(jù)請求,歷史值緩存
Timeout=30
UnreachablePeriod=120 #幾秒鐘的不可達性將主機視為不可用蝙茶。 不可用
UnavailableDelay=60 #主機在不可用期間內(nèi)檢查可用性的頻率(秒)艺骂。 不可用
UnreachableDelay=5 #不可達檢測頻率 解決wait for 3 seconds
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=2000 #記錄慢查詢
HousekeepingFrequency=1 #從歷史記錄,警報和警報表中刪除不必要的信息 不超過4個小時 每隔1小時啟動一次隆夯,刪除過期數(shù)據(jù)
MaxHousekeeperDelete=1000000 #清除過期數(shù)據(jù)钳恕,超過這個閥值的行都會被清理。