zabbix 性能优化

Zabbix 安装好就放在那无论了,觉得不须要调优。直到最近出现了以下一堆告警。mysql

zabbix 性能优化

描述下咱们的环境sql

硬件:8核 32G 数据库

软件:Centos7.6 Zabbix4.0、Httpd2.四、PHP7.三、MySQL5.6缓存

出现告警时,查看系统资源使用率并不高。猜想是 Zabbix-Server 的配置问题,修改以下配置,已去掉不相关安全

# 本机经过socket链接更快
DBSocket=/home/work/mysqldata/data/mysql.sock
# 轮询进程的初始实例数量。默认5
StartPollers=30
# 不可达主机 (包括IPMI 和 Java)的轮询进程的初始实例数量。默认1
StartPollersUnreachable=20
# trappers进程实例数量。Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入链接。默认5 
StartTrappers=15
# 自动发现子进程实例个数。默认1
StartDiscoverers=5
# HTTP 轮询器子进程实例个数。默认1
StartHTTPPollers=5
#Zabbix 执行 housekeeping 的频率 (单位为小时)。housekeeping负责从数据库中删除过时的信息。默认1
HousekeepingFrequency=24
#Zabbix 缓存更新频率, 单位秒。默认60
CacheUpdateFrequency=180
# 历史缓存数据大小, 单位字节.存储历史数据。默认8
HistoryCacheSize=64M
# 历史索引缓存大小, 单位字节.
# 用于索引历史缓存中历史数据的共享内存大小.
#缓存一个item大概须要索引的大小为100字节.item表明一个监控项,按照100000个监控项来算:100000*100/1024/1024=9.6M
HistoryIndexCacheSize=10M
# 历史数据缓存大小, 单位bytes.
# 缓存item历史数据请求的共享内存大小.
# 0即禁止缓存 (不建议).
# 当缓存大小超过共享内存时,每5分钟会向服务器日志写入一条警告信息.
ValueCacheSize=128M

以上是Zabbix层面的优化,若是是系统资源不足,则要考虑以下几个层面。性能优化

服务器硬件 服务器

想经过几个简单的配置让服务器提升成倍的性能,想法很好,可是基本不太现实。简单的说,你须要搭配更好的CPU、更大的内存,更快的硬盘:条件容许的花,能够考虑购买SSD,它比更大的cpu和更大的内存带来的效果更好,或者考虑使用SAS 15K硬盘,组raid等等,总之一句话,配置优化不动的状况,增长硬件投入,别绞尽脑汁搜索:zabbix如何优化之类的文章,你在浪费时间。app

操做系统socket

使用最新的操做系统,优化、定制化操做系统内核。应该会有些做用,可是确定不大。tcp

数据库优化

DBsock优化

若是MySQL和zabbix server在同一台服务器上,socket链接要比tcp链接要更快。

数据库分离

将数据库服务器独立,数据库和zabbix资源互相独立,例如:能够购买一台RDS

数据库引擎

使用MySQL5.6或者更高版本,自从MySQL被Oracle收购了,它的性能确实有很多的提高。请必定选择innodb,别选择myisam,由于zabbix在innodb的性能比在myisam快1.5倍,并且myisam不安全,zabbix监控数据量很大,一旦表坏了,那就是一个悲剧。

mysql分区,history等等表数据量较大,能够试着分区替身性能。

其余优化

一、减小history保存时间

二、减小item获取间隔时间

三、减小没必要要的监控项

相关文章
相关标签/搜索