zabbix在使用过程中,随着监控对象的增多,zabbix-Server会面临非常大的压力,增加管理难题
造成zabbix性能下降的因素如下:
主机数量也是影响性能的主要因素
zabbix性能低下的表现:
·zabbix队列中有太多被延迟的item,通过常看administration-queue查看
·zabbix绘图中经常出现断图,一些item没有数据
·带有nodata()函数的触发器出现false
·前端页面无响应,或者响应很慢
解决方案如下:
·不要使用默认的模板,应定制自己的模板
·数据库调优
·架构优化,如使用分布式,各服务器功能独立
·Items,Trigger调优
·更换更好的硬件
zabbix性能优化的依据
对zabbix-server本身进行监控,选择zabbix-server的监控模板
监控的指标是剩余的容量,如果剩余的容量已非常小,可以通过调大zbbix_server.conf中的缓存参数,直到这里的监控数据有剩余量为止
zabbix-server性能的监控有以下两个:
·每秒处理的数量
·等待的队列数量
查看等待的队列
查看详情,可以看到具体的Items
等待的队列越多,说明zabbix-server性能越差
配置文件的参数优化
在zabbix-Server中,关于配置文件的参数调整,可以配置的内容如下:
·进程的数量
·缓存的大小
·超时时间
例如:对参数进行如下调整:
StartPollers=160
StartPollersUnreachable=80
StartTrappers=20
StartPingers=100
StartDiscoverers=120
CacheSize=1024M
StartDBSyncers-16
HistoryCacheSize=1024M
TrendCacheSize=1024M
HistoryTextCacheSize=512M
提示发现进程繁忙时,需要修改/etc/zabbix/zabbix_server.conf
设置StartDiscoverers=20,或者更高,最大值是250,根据实际需要增大值,建议设置100左右,值越大,消耗的CPU和内存越多
zabbix的架构优化
zabbix的架构可以分为以下三种模式
·server/agent模式
·server/node/agent模式
·server/proxy/agent模式
通过采用分布式模式,可以大大降低server(服务器)的负担,从而大大提升单台server(服务器)的性能
Items工作模式及Trigger的优化
zabbix中的Items默认工作于被动模式,可以通过设置主动模式来提高server的性能。
Trigger中正则表达式函数last(),nodata()的速度是最快的,min(),max(),avg()是最慢的,尽量使用速度快的函数
在trigger的配置中,很可能出现一个函数的逻辑错误导致数据库查询较慢的现象
zabbix的数据库优化
zabbix数据库的优化可分为以下几部分:
·对数据库软件本身的优化
·对zabbix数据库结构进行优化,如对history.*,trends.*等表进行分表操作
注意:在进行分表操作的时候,需要关闭housekeeper
尽管将housekeeper功能关闭,但zabbix-server和web前端仍然会记录数据到housekeeper表,为了防止写入数据,将其表的引擎设置为blackhole,使其不可写
ALTER TABLE housekeeper ENGINE=BLACKHOLE;
·对数据库本身的参数调优配置
在zabbix_server.conf中的LogSlowQueries参数是关于慢查询的设置,超过1000ms'的查询被记录到日志中,如将其值设置为1000
LogSlowQueries=1000
开启这个参数可以对慢查询继续记录,方便调优配置
·对数据库操作系统的调优
阅读(2456) | 评论(0) | 转发(0) |