21 Zabbix系统性能优化建议
21 Zabbix系统性能优化建议
1. Zabbix性能变慢的可能表现:
- zabbix队列有太多被延迟的item,可以通过administration-queue查看
- zabbix绘图中经常出现断图,一些item没有数据
- 带有nodata()函数的触发器出现flase
- 前端页面无响应,或者响应慢
a.通过Zabbix agent采集数据的设备处于moniting的状态但是此时机器死机或其他原因导致zabbix agent死掉server获取不到数据,此时unreachable poller
就会升高。
b.通过Zabbix agent采集数据的设备处于moniting的状态但是server向agent获取数据时时间过长,经常超过server甚至的timeout时间,此时unreachable poller就会升高。
如何度量Zabbix性能:
通过Zabbix的NVPS(每秒处理数值数)来衡量其性能。在Zabbix的dashboard上有一个错略的估值。

2. Zabbix性能优化的几点原则:
- 确保zabbix内部组件性能处于被监控状态(调优的基础!)
- 使用硬件性能足够好的服务器
- 不同角色分开,使用各自独立的服务器
- 使用分布式部署
- 调整MySQL性能
- 调整Zabbix自身配置
3. Zabbix变慢的几个原因总结如下:
- Zabbix server硬件配置,建议更好的CPU、更大的内存,更快的硬盘
- Zabbix架构,若整体架构过大,建议使用分布式proxy,各服务器功能独立
- 数据量太大,vps太高,zabbix来不及处理
- Housekeeper设置不当,数据库体积变大
- 前端主机太多,查询过多的数据
- Item工作模式及Triggers优化,Triggers太过复杂


3.1 了解Zabbix目前的工作状态
获得zabbix内部状态
zabbix[wcache,values,all]
zabbix[queue,1m] ----延迟超过1分钟的item
获得zabbix内部组件工作状态(该组件处于BUSY状态的时间百分比)
zabbix[process,type,mode,state]
其中可用的参数为:
- type: trapper,discoverer,escalator,alerter,etc
- mode: avg,count,min,max
- state: busy,idel
3.2 Zabbix性能优化---Item工作模式及Triggers优化
- 添加proxy节点,减少了server端的负荷。(下面方法无用,再使用此办法)
- Zabbix中的item默认工作是被动模式,可以通过设置主动模式来提高server的性能。
主要讲讲采用主动模式,若采用active checks模式:
①zabbix_agentd.conf配置调整
LogFile=/tmp/zabbix_agentd.log
Server=xxx.xxx.xxx.xxx server端ip
ServerActive=xxx.xxx.xxx.xx 指定Agentd收集的数据往哪里发送
Hostname=yyy.yyy.yyy.yyy agent的hostname ,必须要和Server端添加主机时的主机名对应
RefreshActiveChecks=60
BufferSize=10000
MaxLinesPerSecond=200
Timeout=30
比较重要的参数是ServerActive和Hostname,ServerActive是指定Agentd收集的数据往哪里发送,Hostname是必须要和Server端添加主机时的主机名对应起来,这样Server端接收到数据才能找到对应关系,这里为了兼容被动模式,没有把StartAgents设为0,如果一开始就是使用主动模式的话建议把StartAgents设为0,关闭被动模式。
②zabbix_server.conf 配置调整
StartPollers=100 减少主动收集数据进程,由原来的500---100,减小
StartTrappers=200 负责处理Agentd推送过来的数据的进程,由原来的50---100 ,变大
③模板调整
a. 以任何一个现有模板为例,clone并重命名,假如重命名模板为TEST
b. 将模板TEST里所有items和discovery rules里的items都变更type为atvice agent

至此active-checks模式的agent部署完毕,可以在overview中查看模板中的监控项。
Tigger中正则表达式函数last()、nodata()的速度是最快的。。。Min()、max()、avg()是最慢的。。。尽量使用速度快的函数
3.3 数据量太大,vps太高,zabbix来不及处理
通过以下图,可看出哪个item导致慢: 若more than 10 min 有数据则表示对应的Item数据量过大。

解决办法:
- 修改监控项
- 调整Item的时间间隔(主要办法) 将zabbix agent监控 timeout时间增大
备注:
调整unsupport items检查时间的方法是:在Adiministration里选择General然后在右侧下拉菜单里选择Other,然后修改Refresh unsupported items (in sec)的值,表示“每多少秒去重新检查一下那些not_supported的值”。
3.4 调整MySQL性能
采用分布式架构,性能瓶颈的最大可能出现在数据库中。
- 关闭housekeeper, 将history分区
- 将zabbix_server.conf中的StartDBSyncers参数上调,表示将数据从zabbix写入数据库的进程是多少
21 Zabbix系统性能优化建议的更多相关文章
- 20 Zabbix系统性能优化建议
点击返回:自学Zabbix之路 20 Zabbix系统性能优化建议 1. Zabbix性能变慢的可能表现: zabbix队列有太多被延迟的item,可以通过administration-queue查看 ...
- (80)zabbix性能优化中的几个建议
随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想通过几个简单的配置让服务器提高成倍的性能, ...
- Jquery学习笔记--性能优化建议
一.选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. 1 $('#content').hide(); 或 ...
- Linux文件系统性能优化 (转)
http://blog.chinaunix.net/uid-7530389-id-2050116.html 由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍 ...
- MYSQL 优化建议
转自 http://coolshell.cn/articles/1846.html MYSQL 优化建议20条 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效 ...
- android应用的优化建议(转载)
首先,这是我在http://www.oschina.net/translate/40-developer-tips-for-android-optimization看到的一片文章,感觉挺有道理的,所以 ...
- unity优化建议
使用Profiler工具分析内存占用情况 System.ExecutableAndDlls:系统可执行程序和DLL,是只读的内存,用来执行所有的脚本和DLL引用.不同平台和不同硬件得到的值会不一样,可 ...
- zabbix性能优化记
以前用zabbix,都是简简单单的把服务端.客户端一搭,模板监控项一弄就完了.没怎么真正去弄过优化啊之类的.现在有个场景就是获取zabbix的数据贼慢,得对zabbix进行优化,开始动手分析一下. ...
- Linux文件系统性能优化
本文绝大部分是转载自CSDN刘爱贵专栏: http://blog.csdn.net/liuben/archive/2010/04/13/5482167.aspx另外根据参考文档增补了一部分内容. 由于 ...
随机推荐
- CSV文件解析
CSV(逗号分隔值文件格式) 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和 ...
- CF 958E2. Guard Duty (medium)
这道题是昨天linkfqy dalao上课讲的一道题 当时他讲的时候就想到了一种玄学的搞法,然后不敢相信自己切掉了 没想到后来CHJ dalao也想到了这种算法,然后发现是对的 后来10min就切掉了 ...
- 【php增删改查实例】第十四节 - 用户管理模块(起步)
从这一节开始,开始着手开发部门管理模块. 之后的内容就在此基础上进行增加. 1.用户查询 在目录中建立一个user文件夹,作为我们用户管理的模块. 打开这个文件,新建一个userManage.html ...
- A2dp初始化流程源码分析
蓝牙启动的时候,会涉及到各个profile 的启动.这篇文章分析一下,蓝牙中a2dp profile的初始化流程. 我们从AdapterState.java中对于USER_TURN_ON 消息的处理说 ...
- GATT服务搜索流程(二)
关于bta_dm_cb.p_sec_cback,这里我们之前已经分析过,他就是bte_dm_evt ,最终调用的函数btif_dm_upstreams_evt : static void btif_d ...
- Elasticsearch Query DSL 整理总结(四)—— Multi Match Query
目录 引言 概要 fields 字段 通配符 提升字段权重 multi_match查询的类型 best_fields 类型 dis_max 分离最大化查询 best_fields 维权使者 tie_b ...
- .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器
使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言 Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...
- LeetCode Search Insert Position (二分查找)
题意 Given a sorted array and a target value, return the index if the target is found. If not, return ...
- 浅谈nornalize.css(含源码)
Normalize.css是一种CSS reset的替代方案.经过@necolas和@jon_neal花了几百个小时来努力研究不同浏览器的默认样式的差异,这个项目终于变成了现在这样. 我们创造norm ...
- BugkuCTF web3
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...