zabbix优化之进阶版

官网调优

1. 数据库优化

1.设置数据库分区优化,buffer优化,hash优化,

说明:数据库分区优化的优点:

数据库history设置是保存7天。然后如果你没有分区。虽然数据在减少但是表空间不会减少。浪费硬盘空间的同事,缓存内的cache部分也没有被释放。
分区后可以迁移分区,合并分区,删除已经没有数据的分区,优化表空间优化buffer内存。

https://yq.aliyun.com/articles/434770

2.清空数据库中的history, history_uint表;

3、监控项Item得设置合适的数据采样间隔interval,一般不要小于1分钟,对于长时间不变的量如内存总大小、磁盘总大小等应该尽量间隔时间大点比如一天(1d)或一周(1w)。

4、实在Host太多,还能怎样只能拆分架构,采用分布式架构减轻zabbix server 的压力,将这些压力分担到proxy上去。

5、历史数据是数据库爆满的主要原因。减少历史数据的保存时间,默认是90天,可以调成7天或更少,放心zabbix还保存着趋势数据,宏观上历史数据不会丢。

6、对history类型的(history、history_uint等)大表进行拆分操作,关闭housekeeper禁止自动定期清除历史记录数据,

总结

主要压力来源数据库,history,history_unit这些数据表的数据冗余,可以定时删除以及做一些数据库的分区,减少历史数据的保存时间。
如果history,history_unit表,公司不需要可以直接清空

2.zabbix优化之zabbix server优化

StartPollers

一般规则 - 保持此参数的值尽可能低。 zabbix_server的每个附加实例都会添加已知的开销, 同时, 并行性增加。当队列平均包含最小参数数量(理想情况下,在任何给定时刻为0)时,实现最佳实例数。可以通过使用内部检查zabbix [queue]来监视此值。

DebugLevel 最佳值为3。

DBSocket 仅限MySQL. 建议使用DBSocket连接数据库。 那是最快和最安全的方式。

2.配置优化

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轮询数量

StartDiscoverers=30

StartTimers=10

SenderFrequency=30           #发送报警超时

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

CacheSize=4096M              #存储主机,项目和触发器数据的共享内存          

CacheUpdateFrequency=120      #执行配置缓存的更新频率

StartDBSyncers=24            #数据库同步进程

HistoryCacheSize=2048M

HistoryIndexCacheSize=2048M

TrendCacheSize=2048M         #趋势数据最大2G

ValueCacheSize=2048M         #缓存项历史数据请求,历史值缓存

Timeout=30

UnreachablePeriod=120        #几秒钟的不可达性将主机视为不可用。  不可用

UnavailableDelay=60          #主机在不可用期间内检查可用性的频率(秒)。  不可用

UnreachableDelay=5           #不可达检测频率   解决wait for 3 seconds

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=2000          #记录慢查询 

HousekeepingFrequency=1      #从历史记录,警报和警报表中删除不必要的信息  不超过4个小时  每隔1小时启动一次,删除过期数据

MaxHousekeeperDelete=1000000 #清除过期数据,超过这个阀值的行都会被清理。

参考以下文档
https://blog.51cto.com/tlinux/1970022

你可能感兴趣的:(zabbix优化之进阶版)