Zabbix系统性能优化建议

点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学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配置调整


1

2

3

4

5

6

7

8

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写入数据库的进程是多少

原文地址:https://www.cnblogs.com/magita/p/12516030.html

时间: 2024-10-11 06:29:19

Zabbix系统性能优化建议的相关文章

后端系统性能优化(第一季:改掉那些坏代码)

我们核心业务系统的中心服务每天承载着上千万金额.几十万笔的订单量,在数据量高速增长,公司业务节节攀升的客观因素下,以及面对即将到来的6月份世界杯的流量\交易 高峰的压力,核心业务系统性能优化以及重构显得越发重要而又迫在眉睫. 时刻准备着 在进行性能优化之前,我们做了很多的准备工作,包括 压力测试,数据库sql提取,性能监控日志数据,请求量等数据的收集,分析整体的性能瓶颈,请求量的波动特点,数据库负载波动情况. 压力测试,几个部门通力的合作,把系统在极端并发的情况下所表现出来的性能瓶颈收集出来,分

高吞吐量系统设计优化建议(全文已经发表在IBM开发者论坛)

原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-system-design-optimization/ 高吞吐量系统 举一个例子,我们做项目需要安排计划,每一个模块可以由多人同时并行做多项任务,也可以一个人或者多个人串行工作,但始终会有一条关键路径,这条路径就是项目的工期.系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间.关键路径由 CPU 运算.IO.外部系统响应等等组成. 对于一个系统的用户来说,

高吞吐量系统设计优化建议

高吞吐量系统 举一个例子,我们做项目需要安排计划,每一个模块可以由多人同时并行做多项任务,也可以一个人或者多个人串行工作,但始终会有一条关键路径,这条路径就是项目的工期.系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间.关键路径由 CPU 运算.IO.外部系统响应等等组成. 对于一个系统的用户来说,从用户点击一个按钮.链接或发出一条指令开始,到系统把结果以用户希望的形式展现出来为终止,整个过程所消耗的时间是用户对这个软件性能的直观印象,也就是我们所说的响应时

雅虎35条性能优化建议

雅虎35条性能优化建议分7类,共35条: [内容]尽量减少HTTP请求数 [服务器]使用CDN(Content Delivery Network) [服务器]添上Expires或者Cache-Control HTTP头 [服务器]Gzip组件 [css]把样式表放在顶部 [js]把脚本放在底部 [css]避免使用CSS表达式 [js, css]把JavaScript和CSS放到外面 [内容]减少DNS查找 [js, css]压缩JavaScript和CSS [内容]避免重定向 [js]去除重复脚

对Android开发者有益的40条优化建议

下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激励你,因为你在保持不断迭代,不经意中你学到了很多.然而,当你发布应用时你还要做一些更深入的事情. 从一些可正常工作的代码到一个可怕的应用程序是一个巨大的跳跃,相比iOS平台Android更是如此 .当在iOS上发布应用时只是在一个设备上跳跃–你的手机–对很多设备而言都很相似–同样大小的屏幕,都有很好

简单梳理memcached工作原理/工作流程/优化建议

一.memcached工作原理基本概念:slab,page,chunk.slab,是一个逻辑概念.它是在启动memcached实例的时候预处理好的,每个slab对应一个chunk size,也就是说不同slab有不同的chunk size.具体分配多少个slab由参数 -f (增长因子)和 -n (chunk最小尺寸)决定的.page,可以理解为内存页.大小固定为1m.slab会在存储请求时向系统申请page,并将page按chunk size进行切割.chunk,是保存用户数据的最小单位.用户

Jquery学习--性能优化建议

一.选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. 1 $('#content').hide(); 或者从ID选择器继承来选择多个元素: 1 $('#content p').hide(); 2. 在class前面使用tag jQuery中第二快的选择器就是tag选择器(如$(‘head’)),因为它和直接来自于原生的Javascript方法getElementByTagName().所以最好总是用t

Yahoo! 35条网站性能优化建议

Yahoo! 35条网站性能优化建议 分类: 网站性能优化2014-03-08 17:18 212人阅读 评论(0) 收藏 举报 网站性能优化 Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心就是旨在提高网站性能.原版猛戳:Best Practices for Speeding Up Your Web Site, Excetional Perfo

网站大规模并发访问的优化建议

一.服务器配置优化 我们需要根据应用服务器的性能和并发访问量的大小来规划应用服务器的数量.有一个使用原则是:单台应用服务器的性能不一定要求最好,但是数量一定要足够, 最好能有一定的冗余来保障服务器故障.特别是,在高并发访问峰期间,适当增加某些关键应用的服务器数量.比如在某些高峰查询业务上,可以使用多台服务器, 以满足用户每小时上百万次的点击量. 二.使用负载均衡技术 负载均衡技术是解决集中并发访问的核心技术,也是一种较为有效的解决网站大规模并发访问的方法.实现负载均衡技术的主要设备是负载均衡器服