Zabbix优化

摘要:
请参阅Zabbix的默认配置。即使机器有128个内核和256个内存,它也只能承受10-20台的监控。如果还有更多,则需要修改配置。数据库中字符的存储空间很大,设置触发器相对麻烦,而Zabbix本身在处理数字方面相对高效。zabbix_Proxy可以代替服务器收集数据并进行监控,但监控结果仍会发送到服务器进行汇总。代理没有web界面。a) 减少历史记录的存储时间b)缩短项目获取间隔c)减少不必要的监控项目

参考

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"的对勾去掉。

或者
Zabbix优化第1张

Zabbix优化第2张

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优化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WPF-生成二维码(条码)(转载)Vim按下ctrl+s造成程序“僵死”下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows 搭建WAMP+Mantis

下载WAMP http://www.wampserver.com/ 安装直接下一步就行 安装完启动后,显示下面的logo   在浏览器输入 127.0.0.1/phpmyadmin    设置数据库(默认用户root,没有密码) 设置密码 下载Mantis https://www.mantisbt.org/download.php  选择zip适合W...

写一个工具生成数据库实体类

写一个java工具从数据库生成实体类 开始写之前的说明 ​ 这只是一个简单的解析数据库建表语句之后,根据解析结果生成java文件的一个简单工具。写的原因有两个。 ​ 1:项目中没有人写实体类的注释,字段的注释,现有的工具也没法根据数据库的注释自动添加到class文件上。 ​ 2:自己写一个也似乎不是很难。 ​ 所以就自己写了一个。 这里在生成java文件的...

Bucardo使用文档-lottu

官网地址 一、Bucardo介绍 Bucardo 是基于表复制的系统 Bucardo 可以实现PostgreSQL数据库的双master/多master的方案 Bucardo的核心是一个Perl守护进程,它侦听通知请求并对其进行操作,方法是连接到远程数据库并来回复制数据。 守护进程需要的所有特定信息都存储在主bucardo数据库中,包括复制所涉及的所有数据...

sqlalchemy 数据库操作

1、简介 一种ORM 2、安装 pip3 install -i https://pypi.douban.com/simple sqlalchemy 3、连接数据库 from sqlalchemy importcreate_engine engine =create_engine( "mysql+pymysql://root:密码@1...

foreign key constraint fails错误的原因

建表:CREATE TABLE Course ( Cno Char(4) PRIMARY KEY, Cname Char(40), Cpno Char(4), Ccredit Int, FOREIGN KEY (Cpno) REFERENCES Course(Cno) );插入数据:INSERT INTO Course VALUES('1'...

zabbix监控MySQL主从状态

首先需要拥有zabbix环境及MySQL主从环境   搭建zabbix环境可参考:https://www.cnblogs.com/l999999999/p/12051165.html 需要用到三台虚拟机 一:192.168.238.141 zabbix-server 二:192.168.238.142 zabbix-agent mysql主 三:192.1...