参考

zabbix默认的配置即使机器128核心,256内存,只能抗住10-20台的监控,如果再多就需要修改配置了。

一.配置文件

server端配置文件添加如下

StartPollers=160

StartPollersUnreacheable=80

StartTrappers=20

StartPingers=100

StartDiscoverers=120

Cachesize=1024M

startDBSyncers=16

HistoryCacheSize=1024M

TrendCacheSize=1024M

HIstoryTextCacheSize-512M

二.数据库

如果数据库和zabbix在一台机器,可以使用socket连接,速度会提高。
数据库zabbix来说,选择InnoDB引擎,效率是其它引擎的1.5倍

对history类型的(history、history_uint等)大表进行拆分操作,关闭housekeeper禁止自动定期清除历史记录数据,因为对于数据库特别是对于InnoDB引擎大数据删除貌似很蛋疼。

可以对数据库配置文件调优,因为都要提交到数据库中,当机器很多时,数据库压力会很大

如果还是太多,可以考虑将mysql单独一台,并设置读写分离,可以用中间件实现。

三.服务端配置

#####1.关闭服务端的housekeep
housekeep是清理历史的机制,配置文件中,默认是每小时启动一次,然后清除监控项设置之外的多余历史记录。比如mysql监控项默认保存90天,他会清除90天以外的,这会导致经常去清理,有时会报错:Zabbix housekeeper processes more than 75% busy

2种方法
A:
编辑server端的配置文件,修改或添加如下2行,一天清理一次,并每次清理最多500行

HousekeepingFrequency=24   zabbix执行Housekeeping的频率,单位为hours
MaxHousekeeperDelete=500 每次最多删除历史数据的行

B:
关闭housekeep,并手动清理日志
2.2版本以下,server端配置文件添加

DisableHousekeeping=1 设置为1

2.2以上,到web界面修改

"Administration" -> "General" ,选择"Housekeeping" ,确保history和trends栏的"Enable internal housekeeping"的对勾去掉。

或者

2.调整监控项

很多监控项都是无用的或者目前用不到的,像redis监控模板中的调阅/发布监控项应该去掉。

监控项的类型最好使用数字,尽量避免使用字符。字符在数据库中的存储空间使用较大,在设置trigger时也相对麻烦,并且zabbix本身处理数字的效率要相对高。如果业务需要字符类型的监控项,可以适当的降低数据采集的时间间隔以提高处理效率

Trigger中,正则表达式函数last(),nodata()的速度最快,min()、max()、avg()的速度最慢。在使用过程中,尽量选择速度较快的函数。配置Trigger时,也应注意使用正确的逻辑,错误的逻辑可能导致数据库查询较慢的现象。

item监控性默认大部分都是保留90d(天)或者1w(周)的历史数据,趋势图数据保留365天。

其实有趋势图数据即可,历史数据保留7天足够了,采集频率,像磁盘,文件大小等很久才变化的,采集频率可以加大,以达到缓解压力和节省空间的作用

3.如果主机数量太多,采用代理

如果主机数量太多,可以考虑分机房,分业务,分组的方式来用代理中转。zabbix_proxy可以代替服务端收集数据和监控,但是监控结果还是发送到服务端汇总,代理是没有web界面的。

如果机器太多,可以用主动模式,当前所有默认都是被动模式的,客户端启动10051端口,服务端需要去10051取数据。

a) 减少 history 保存时间
b) 减少 item 获取间隔时间
c) 减少不必要的监控项

Zabbix优化的更多相关文章

  1. 转 zabbix 优化方法 以及数据库查询方法 两则

    ###########sample 1 https://www.cnblogs.com/hanshanxiaoheshang/p/10304672.html (不错) 如何从zabbix server ...

  2. 京东MySQL监控之Zabbix优化、自动化

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangwei007.blog.51cto.com/68019/1833332 随 ...

  3. zabbix优化,配合文件,zabbix_get命令

    一.配置文件优化 server端配置文件添加如下 StartPollers=160 #zabbix_server的进程数 StartPollersUnreacheable=80 #默认情况下,ZABB ...

  4. 转 zabbix 优化方法 以及 后台数据库查询方法 两则

    ############sample 1 https://blog.51cto.com/sfzhang88/1558254 如何从Zabbix数据库中获取监控数据 sfzhang关注6人评论40627 ...

  5. zabbix 优化之 表分区

    参考文献: http://www.th7.cn/db/mysql/201405/51681.shtml

  6. zabbix 分布式监控及优化

    1..zabbix分布式监控,模拟多机房实现监控? 1.有多机房时,需要用到proxy 1.网络不通 2.网络延迟 2.当监控的主机较多时,也可以用proxy来缓解压力 1.安装proxy [root ...

  7. zabbix目录

    1.Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述 2.Linux实战教学笔记50:Zabbix监控平台3.2.4(二)深入理解zabbix 3.Linux实战教学笔记 ...

  8. zabbix初级进阶

    目录 一.理论概述 zabbix功用 运行条件 缺点 zabbix组件 部署 web安装zabbix 优化 总结 这篇文章主要对zabbix有一个全面且简单的了解 一.理论概述 zabbix功用 检测 ...

  9. kvm学习篇

    云计算:一种资源的使用模式 弹性,按需付费资源降低成本 公有云:亚马逊.阿里云私有云:混合云: 安装: yum install qemu-kvm qemu-kvm-tools virt-manager ...

随机推荐

  1. jvm调优相关

    查找占用cpu过高的线程,并排查原因 1.查找jvm进程 (1)jps -l (2)ps -ef|grep java 这一步骤可以得到进程号,假如进程号为9527 2.查找该jvm进程中占用cpu比较 ...

  2. 【转载】C#中可使用string.Empty代表空字符

    在C#中,如果赋值一个字符串为空白字符串,我们一般会用“”的形式对字符串进行赋值操作,其实在C#的字符串类String类中,有个专门的常量string.Empty来代表空字符串,可直接在赋值的时候使用 ...

  3. grant_type为client_credentials和password二者的区别

    最近工作中需要使用到oauth,注意到oauth客户端的grant_type值可以指定为client_credentials和password两种,很好奇所以网上搜索了一下,发现stackoverfl ...

  4. 5.kafka API consumer

    1.kafka consumer流程1.1.在启动时或者协调节点故障转移时,消费者发送ConsumerMetadataRequest给bootstrap brokers列表中的任意一个brokers. ...

  5. SQL SERVER-AlwaysonResolving

    虽然2台都是同步提交,自动failover模式 在辅助副本的AG中先删掉一个可用DB,然后关闭主副本,之后辅助副本变为下图.不能自动failover. 重新开启主副本后,主副本显示一切正常 但是辅助副 ...

  6. 22,Django常用命令

    学习Django你需要了解常见命令的使用,比如创建项目,创建应用,创建超级用户,数据表创建及更新,启动服务器等.这些命令都包含在django-admin.py和manage.py里.除此以外manag ...

  7. simpleDateFormat中格式化时间需要注意的问题

    student.getDateProperty("business","birth","yyyy-MM-dd",null)测试时  时间格式 ...

  8. [S32K]GPIO使用

    问题: 1.为何对Port口下的某个引脚单独配置Direction会影响到该Port下的其他PIN脚,导致之前配置失效?当前没办法,只能把工程中所有用到的PIN脚Direction一次配置完毕 详细介 ...

  9. 《CoderXiaoban》第八次团队作业:Alpha冲刺 3

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 Coderxiaoban团队 作业学习目标 (1)掌握软件测试基 ...

  10. phpcms站点部署

    1 wamp部署使用wamp2.4以下版本. 2.4版本自带的php5.4以上底层变化,phpcms运行不了. 2.2版自带的php5.3.10可以兼容. 2 安装配置时,尽量为每个站点配置(http ...