造成zabbix性能下降的因素如表所示

zabbix数据断点 zabbix断图_服务器

zabbix性能低下的表现


1.    zabbix队列有太多被延迟的item,可以通过administration-queue查看

2.    zabbix绘图中经常出现断图,一些item没有数据

3.    带有nodata()函数的触发器出现flase

4.    前端页面无响应,或者响应慢

解决办法如下:

1. 不要使用默认的模板,应该自己定制模板

2. 数据库调优

3. 架构优化,如果使用分布式,各服务器功能独立

4. Items、trigger调优

5. 更换更好的硬件

Zabbix性能优化的原则


1、确保zabbix内部组件性能处于被监控状态(调优的基础!)

2、使用硬件性能足够好的服务器

3、不同角色分开,使用各自独立的服务器

4、使用分布式部署

5、调整MySQL性能

6、调整Zabbix自身配置

配置文件的参数优化

调整zabbix参数(/etc/zabbix/zabbix_server.conf)

StartPollers=160

StartPollersUnreacheable=80

StartTrappers=20

StartPingers=100

StartDiscoverers=120

Cachesize=1024M

startDBSyncers=16

HistoryCacheSize-1024M

TrendCacheSize=1024M

HIstoryTextCacheSize-512M

重启zabbix_server

Zabbix数据库优化

Zabbix数据库优化

1.    对数据库软件本身的优化,采用更高性能的数据库版本

2.    对数据库本身的参数进行调优

3.    对zabbix数据库结构进行优化,进行分表操作,会最大程度提高zabbix的数据库性能,在分表的时候,需要关闭housekeeper

4.    在zabbix_server.conf中的logshowqueries参数是关于慢查询的设置,将其设置为1000,开启这个参数对慢查询继续记录,方便调优配置

5.  对zabbix的工作机制和各种process的作用要了解,对zabbix的数据库表结构也要有比较好的理解。

6.    对数据库优化(在32G内存的服务器中)

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

port = 3306

socket = /tmp/mysql.sock

server-id = 1

表示是本机的序号为1

max_allowed_packet = 32M

接受的数据包大小;

max_heap_table_size =128 8M

定义了用户可以创建的内存表(memory table)的大小。

read_rnd_buffer_size = 512K

MySQL的随机读缓冲区大小。

sort_buffer_size = 16

MySQL执行排序使用的缓冲大小。

join_buffer_size = 16

联合查询操作所能使用的缓冲区大小

query_cache_size = 4096M

MySQL的查询缓冲大小

query_cache_limit = 4M

指定单个查询能够使用的缓冲区大小,默认1M

innodb_open_files =2048

nnodb能打开的表的数据,如果库里的表特别多的情况,请增加这个。这个值默认是300

innodb_buffer_pool_size = 10G

nnoDB使用一个缓冲池来保存索引和原始数据

innodb_thread_concurrency = 16

默认设置为 0,表示不限制并发数,

[mysqldump]

quick

max_allowed_packet = 16M #服务器发送和接受的最大包长度

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M