Zabbix 安装好就放在那不管了,以为不需要调优。直到最近出现了如下一堆告警。

描述下我们的环境

硬件:8核 32G

软件:Centos7.6 Zabbix4.0、Httpd2.4、PHP7.3、MySQL5.6

出现告警时,查看系统资源使用率并不高。猜测是 Zabbix-Server 的配置问题,修改如下配置,已去掉不相关

# 本机通过socket连接更快
DBSocket=/home/work/mysqldata/data/mysql.sock
# 轮询进程的初始实例数量。默认5
StartPollers=30
# 不可达主机 (包括IPMI 和 Java)的轮询进程的初始实例数量。默认1
StartPollersUnreachable=20
# trappers进程实例数量。Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入连接。默认5
StartTrappers=15
# 自动发现子进程实例个数。默认1
StartDiscoverers=5
# HTTP 轮询器子进程实例个数。默认1
StartHTTPPollers=5
#Zabbix 执行 housekeeping 的频率 (单位为小时)。housekeeping负责从数据库中删除过期的信息。默认1
HousekeepingFrequency=24
#Zabbix 缓存更新频率, 单位秒。默认60
CacheUpdateFrequency=180
# 历史缓存数据大小, 单位字节.存储历史数据。默认8
HistoryCacheSize=64M
# 历史索引缓存大小, 单位字节.
# 用于索引历史缓存中历史数据的共享内存大小.
#缓存一个item大概需要索引的大小为100字节.item代表一个监控项,按照100000个监控项来算:100000*100/1024/1024=9.6M
HistoryIndexCacheSize=10M
# 历史数据缓存大小, 单位bytes.
# 缓存item历史数据请求的共享内存大小.
# 0即禁止缓存 (不建议).
# 当缓存大小超过共享内存时,每5分钟会向服务器日志写入一条警告信息.
ValueCacheSize=128M

以上是Zabbix层面的优化,如果是系统资源不足,则要考虑如下几个层面。

服务器硬件

想通过几个简单的配置让服务器提高成倍的性能,想法很好,但是基本不太现实。简单的说,你需要搭配更好的CPU、更大的内存,更快的硬盘:条件允许的花,可以考虑购买SSD,它比更大的cpu和更大的内存带来的效果更好,或者考虑使用SAS 15K硬盘,组raid等等,总之一句话,配置优化不动的情况,增加硬件投入,别绞尽脑汁搜索:zabbix如何优化之类的文章,你在浪费时间。

操作系统

使用最新的操作系统,优化、定制化操作系统内核。应该会有些作用,但是肯定不大。

数据库优化

DBsock优化

如果MySQL和zabbix server在同一台服务器上,socket连接要比tcp连接要更快。

数据库分离

将数据库服务器独立,数据库和zabbix资源互相独立,例如:可以购买一台RDS

数据库引擎

使用MySQL5.6或者更高版本,自从MySQL被Oracle收购了,它的性能确实有不少的提升。请一定选择innodb,别选择myisam,因为zabbix在innodb的性能比在myisam快1.5倍,而且myisam不安全,zabbix监控数据量很大,一旦表坏了,那就是一个悲剧。

mysql分区,history等等表数据量较大,可以试着分区替身性能。

其他优化

1、减少history保存时间

2、减少item获取间隔时间

3、减少不必要的监控项

zabbix 性能优化的更多相关文章

  1. zabbix性能优化记

    以前用zabbix,都是简简单单的把服务端.客户端一搭,模板监控项一弄就完了.没怎么真正去弄过优化啊之类的.现在有个场景就是获取zabbix的数据贼慢,得对zabbix进行优化,开始动手分析一下.   ...

  2. (80)zabbix性能优化中的几个建议

    随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想通过几个简单的配置让服务器提高成倍的性能, ...

  3. Zabbix性能优化

    前言 如果不做表分区和删除历史数据规则设置的话,随着时间的推移zabbix的查询性能会变得很低 查看zabbix的性能 通过zabbix的NVPS(每秒处理数值数)来衡量其性能,在zabbix的das ...

  4. zabbix性能优化等

    摘自: http://blog.sina.com.cn/s/blog_4cbf97060101fcfw.html 非常好的一篇,值得有用

  5. 20 Zabbix系统性能优化建议

    点击返回:自学Zabbix之路 20 Zabbix系统性能优化建议 1. Zabbix性能变慢的可能表现: zabbix队列有太多被延迟的item,可以通过administration-queue查看 ...

  6. 21 Zabbix系统性能优化建议

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 21 Zabbix系统性能优化建议 1. Zabbix性能变慢的可能表现: zabbix队列有太多 ...

  7. 023-zabbix性能优化中的几个中肯建议

    随着zabbix的广泛应用,少数人的zabbix服务器在性能上出现瓶颈,或者在未来会出现性能方面的瓶颈,接下来讨论几个有效并且简单的优化方案. 服务器硬件 想通过几个简单的配置让服务器提高成倍的性能, ...

  8. Zabbix--06主动模式和被动模式、低级自动发现、性能优化、

    目录 一. Zabbix主动模式和被动模式 1.克隆模版 2.修改克隆后的模版为主动模式 3.修改监控主机关联的模版为主动模式 4.修改客户端配置文件并重启 5.查看最新数据 二.Zabbix低级自动 ...

  9. 常见性能优化策略的总结 good

    阅读目录 代码 数据库 缓存 异步 NoSQL JVM调优 多线程与分布式 度量系统(监控.报警.服务依赖管理) 案例一:商家与控制区关系的刷新job 案例二:POI缓存设计与实现 案例三:业务运营后 ...

随机推荐

  1. Setup Python 开发环境和IPython的基本使用

    目录 目录 前言 软件准备 Python交互式Shell 为Python Shell添加补全功能 IPython-400 IPython功能和特性基础 可直接使用部分的Bash指令 别名alias语法 ...

  2. js中||与&&的用法

    || 或 &&与常用法 func a()和func b() a() && b() 如果a执行成功返回true则执行b返回b结果的值,如果a执行返回false则不执行b ...

  3. C++类中的一些细节(重载、重写、覆盖、隐藏,构造函数、析构函数、拷贝构造函数、赋值函数在继承时的一些问题)

    1 函数的重载.重写(重定义).函数覆盖及隐藏 其实函数重载与函数重写.函数覆盖和函数隐藏不是一个层面上的概念.前者是同一个类内,或者同一个函数作用域内,同名不同参数列表的函数之间的关系.而后三者是基 ...

  4. Linux-T

    vim编辑器i输入Esc切换:wqw保存q退出保存 查看openssl版本号openssl version 查看所有php扩展php -m 查看指定端口占用netstat -anp |grep xxx ...

  5. Unreal Engine 4 优化教程

    本教程旨在帮助开发人员提升基于虚幻引擎(Unreal Engine*4 (UE4))开发的游戏性能.在教程中,我们对引擎内部及外部使用的一系列工具,以及面向编辑器的最佳实践加以概述,还提供了有助于提高 ...

  6. HR,OA,CRM,DRP,ERP什么意思?电商行业的特点?电商行业模式?专业术语?

    HR,OA,CRM,DRP,ERP HR----Human Resource人力资源管理 OA----Office Automation办公自动化 CRM---Customer Relationshi ...

  7. PJzhang:U盘容量变小后的恢复以及U盘加密

    猫宁!!! 参考链接:https://jingyan.baidu.com/article/8ebacdf0544ae049f65cd5da.html 我的一个U盘,16G,制作了deepin linu ...

  8. 【Python开发】python PIL读取图像转换为灰度图及另存为其它格式(也可批量改格式)

    例如有一幅图,文件名为"a.jpg'.  读取: from PIL import Image #或直接import Image im = Image.open('a.jpg') 将图片转换成 ...

  9. linux中su和sudo区别

    su切换用户,切换成root用户,要输入root用户的密码 su - 用户名 sudo  涉及到 /etc/sudoers文件 ,内容如下: # User privilege specificatio ...

  10. json字段为null时输出空字符串

    Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put(); jsonMa ...