站长资讯网
最全最丰富的资讯网站

Zabbix 4.0性能调优配置详述

如何衡量Zabbix的性能情况?一台基础配置的Zabbix到底能监控多少主机,能使用监控多少监控项?性能瓶颈出在哪里?如何优化配置?

参考官方手册https://www.zabbix.com/documentation/4.0/zh/manual/appendix/performance_tuning

一、NVPS

在完成zabbix搭建后,zabbix首先监控的第一个主机就是自身。可以在仪表盘中看到这些。

Zabbix 4.0性能调优配置详述

每秒写入的新值数量 (简称NVPS),是衡量zabbix主机性能的一个很重要的指标。

影响NVPS指标的主要是以下几个因素

• 监控项类型, 数据类型, SNMPv3, triggers的数量和复杂度。

• Housekeeper 设置和数据库大小。

• 同时在线WEB界面的用户数量

说明:

1、更新频率会直接影响到 NVPS的值.

2、计算时考虑来自监控设备的数据。

3、“Zabbix trapper” 和 “SNMP trap” 都是不在计算里的.

关于zabbix中NVPS的大致估算,可以以此来衡量性能消耗

Zabbix 4.0性能调优配置详述

1)每个主机60个监控项,更新频率一分钟一次,100个主机产生的NVPS大致为100

2)每个主机300个监控项,更新频率一分钟一次,100个主机产生的NVPS大致为500

 

 

历史数据分析也会影响zabbix性能,但是不会消耗太多

Zabbix 4.0性能调优配置详述

 

二、如何判断zabbix性能下降

 

如果zabbix性能下降,会有如下现象

 

• Zabbix 队列里面太多的延迟的监控项 Administration->Queue

• 数据图形里经常出现的间隙断层, 甚至有些监控项没有数据。

• 触发器包含nodata()表达式的误报

• 无响应和响应迟钝的WEB请求。

• 没有告警或者是数以千计的告警

最明显的就是列队中,有很多主机延迟大于30秒甚至超过1分钟

Zabbix 4.0性能调优配置详述

2.1一些很重要分析工具

 

top工具

使用top命令可以很直观的看到cpu,内存的消耗和一些进程信息

Zabbix 4.0性能调优配置详述

 

 

iostat工具

iostat是查看Linux系统io是否存在瓶颈顶好用的一个命令

Zabbix 4.0性能调优配置详述

 

vmstat工具

Virtual Memory Statistics 虚拟内存统计 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。

Zabbix 4.0性能调优配置详述

 

sar工具

sar 是非常强大性能分析命令,通过 sar 命令可以全面的获取系统的 CPU、运行队列、磁盘 I/O、交换区、内存、 cpu 中断、网络等性能数据。

Zabbix 4.0性能调优配置详述

 

 

watch工具

watch可以帮你监测一个命令的运行结果,来监测你想要的一切命令的结果变化,而且官方推荐使用这个工具

watch -tn 0.2 'ps -o cmd -C zabbix_server -C zabbix_proxy -C zabbix_agentd'

Zabbix 4.0性能调优配置详述

2.2 查看进程

 

可以查看zabbix-server进程,观察子进程响应时延

ps aux |grep zabbix_server

Zabbix 4.0性能调优配置详述

也可以查看zabbix-server history同步的时延

ps aux |grep sync

Zabbix 4.0性能调优配置详述

3.3 查看zabbix自身监控图形

 

对zabbix完成配置后,会对自己作为第一个主机进行监控,最直接的方式就是查看监控图形

Zabbix 4.0性能调优配置详述

Zabbix 4.0性能调优配置详述

三、问题分析

3.1打开日志调试开关

当出现异常时,需要打开 zabbix日志debug模式,通过日志来判断故障原因

 zabbix_server -R log_level_increase=alerter                #增加所有进程日志级别      tail -f /var/log/zabbix/zabbix_server.log                   #查看最新日志

Zabbix 4.0性能调优配置详述

3.2 mysql数据库分析

    zabbix推荐后端使用mysql,可以简单对mysql进行分析。

    首先在zabbix_server.conf配置文件中修改 LogSlowQueries=3000

   Zabbix 4.0性能调优配置详述

   使用innotop命令查询

   

  innotop是一个mysql数据库实时监控工具,其功能强大,信息种类繁多,很能体现数据库的状态.它实际上是一个perl脚本,整合show status/show variables/show engine innodb status输出结果并进行统计格式化输出.

yum install innotop

Zabbix 4.0性能调优配置详述

Zabbix 4.0性能调优配置详述

然后可以简单分析数据库慢查询日志

grep slow /var/log/zabbix/zabbix_server.log

Zabbix 4.0性能调优配置详述

当数据库出慢查询时,会出现如下问题

Zabbix 4.0性能调优配置详述

四、web debug

可以在web前端开启web debug模式,更加直接的分析问题

在用户群组下,找到“Enabled debug mode”,开启即可

Zabbix 4.0性能调优配置详述

然后随意在”Enabled debug mode”群组下创建一个用,如debug,可以将权限设置为超级管理员然后登陆

Zabbix 4.0性能调优配置详述

登陆后,可以看到在每个页面都有一个”调试“小按钮,点击可以看到测试脚本结果

Zabbix 4.0性能调优配置详述

按钮将在页面内容下方打开一个新窗口,其中包含页面的SQL统计信息,以及API调用和各个SQL语句的列表,如果页面出现性能问题,可以使用此窗口搜索问题的根本原因。

Zabbix 4.0性能调优配置详述

如果数据查询有异常,可以看到明显的查询时间过长

Zabbix 4.0性能调优配置详述

五、优化性能

5.1 配置文件zabbix_server.conf优化

建议按照如下方式调整zabbix_server.conf配置文件进行优化

#调整zabbix_server进程数量  StartPollers=80  StartPingers=10  StartPollersUnreachable=80  StartIPMIPollers=10  StartTrappers=20  StartDBSyncers=6

#调整内存大小  VMwareCacheSize=64M  CacheSize=32M  HistoryCacheSize=256M  TrendCacheSize=64M  HistoryIndexCacheSize = 32M  ValueCacheSize=64M

5.2mysql数据库调优

zabbix推荐使用innodb引擎的mysql数据库,所以要针对数据库配置文件进行优化

mysqladmin status / variables    #检查数据库配置状态

 

#调整数据库innodb  innodb_file_per_table = 1  innodb_buffer_pool_size=<large> (~75% of total RAM)  innodb_buffer_pool_instances = 4 (MySQL 5.6 - 8)  innodb_flush_log_at_trx_commit = 2  innodb_flush_method = O_DIRECT  innodb_log_file_size = 256M

5.3进一步优化

1)数据库使用分区表

通过这种方式可以将一张大的表分成很多区.

只对那些数据量大的有历史意义的表操作:

history_log,history_str,history_text,history_uint

trends,trends_uint

好处:

更快删除过期数据

DB将拥有更好的性能

当zabbix-server频繁出现“Zabbix housekeeper processes more than 75% busy”的告警时,此时housekeeper的性能正在下降

则需要使用分区表

2)web服务器使用nginx

nginx服务器的响应速度要明显优于apache服务器

3)使用Zabbix Proxy

当监控主机过多,可以使用多个zabbix Proxy进行分布式监控

Zabbix Proxy “转换” 被动检查成主动。

负载分布在Zabbix Proxy代理之间如果一个Proxy高负载, 网络节点可以切换到其他的Proxy上

简单易维护当

Zabbix server出现故障时Proxy可以缓存数据保证数据不丢

4)数据库分离或采用硬件

可以采用数据库与 zabbix分离,zabbix-server和前端一台服务器,数据库一台服务器,且数据库服务的性能要高于前者,使用硬件服务器部署要优于使用虚拟机部署。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号