Zabbix 系统性能优化

一、简介

Zabbix系统与其它被监控系统一样,也是一种应用系统。所以它的状态、性能数据也需要被采集与监控。以便对它的运行状况、性能等情况进行掌握,进而在必要的时候对它进行性能调优或进行必要的系统硬件升级,甚至对它的架构进行更换。比如随着组织业务的不断拓展和实际发展的需要,被监控设备和被监控项目的数量会不断的增长。而这种增长达到一定的程度以后,采用单点模式的Zabbix系统就很难满足监控需求,这时我们就需要将单点模式更换为分布式模式进行运行。从实际出发,当我们决定是否要对现有的Zabbix系统进行硬件升级、系统性能优化甚至更换单点模式为分布式模式时,就需要根据实际的问题作为变更依据。当然在我们决定上述升级时,就需要有强有力的数据作为支撑。

Zabbix系统内部数据采集方法就是采集和监控Zabbix系统自身状态和性能数据。Zabbix系统内部数据采集方法是由Zabbix服务器端通过内部计算获取,无需安装任何客户端。

二、Zabbix系统优化大致分为以下几点:

  • 自定义监控模板;

  • 监控项采集时间优化;

  • 数据库性能优化;

  • Zabbix系统性能优化;

  • 硬件规格性能优化;

  • 使用最新的LTS并较稳定版本;

  • Zabbix数据库表分区;

  • Zabbix架构优化;

三、优化说明

Zabbix进程:

  • Self-Monitoring:用于收集Zabbix系统内部的监控信息;

  • Configuration syncer:用于将配置文件中的配置信息同步到内存中缓存;

  • Timer:用于处理触发器中与时间相关的函数和维护模式的进程;

  • History syncer:用于写历史数据表的进程;

  • Escalator:用于处理Action中的步骤的进程;

  • Housekeeper:用于清理过期的历史数据的进程;

Zabbix Poller:

  • alert manager - 警报队列管理器;

  • alert syncer - 警报数据库编写器;

  • alerter - - 发送通知的进程;

  • availability manager - 主机可用性更新进程;

  • configuration syncer -管理配置数据的内存缓存进程;

  • discoverer - 发现设备进程;

  • escalator - 升级操作进程;

  • history poller - 处理需要数据库连接的计算和内部检查进程;

  • history syncer - 历史数据库编写器;

  • housekeeper - 删除旧历史数据进程;

  • http poller - web监控轮询器;

  • icmp pinger - 用于 icmp ping 检查的轮询器;

  • ipmi manager - IPMI 轮询管理器;

  • ipmi poller - IPMI 检查的轮询器;

  • java poller - 用于Java检查的轮询器;

  • lld manager - 低级别发现任务的管理进程;

  • lld worker - 低级别发现任务的工作进程;

  • odbc poller - 用于 ODBC 检查的轮询器;

  • poller - 用于被动检查的普通轮询器;

  • preprocessing manager - 预处理任务管理器;

  • preprocessing worker - 数据预处理进程;

  • problem housekeeper - 消除已删除触发器问题进程;

  • proxy poller - 被动代理轮询器;

  • report manager- 定时报表任务管理器;

  • report writer - 定时报表处理进程;

  • self-monitoring - 收集内部服务器统计数据的进程;

  • snmp trapper - SNMP 陷阱trapper;

  • task manager - 远程执行其他组件请求的任务进程(例如关闭问题、确认问题、立即检查监控项值、远程命令功能);

  • timer - 处理维护的计时器;

  • trapper - 用于主动检查、陷阱、代理通信的trapper;

  • unreachable poller - 不可达设备的轮询器;

  • vmware collector - VMware 数据收集器,负责从 VMware 服务收集数据;

Zabbix Server表分区:

  • 导入存储过程partition.sql

mysql -uzabbix -pzabbix zabbix < partition.sql

mysql -uzabbix -p zabbix -e "call partition_maintenance_all('zabbix')"

  • 创建事件调度器

usezabbix;

create event zabbix_partition on schedule every1 day starts '2020-1-1 1:00:00' do CALL partition_maintenance_all('zabbix');

  • 关闭Housekeeper

在Zabbix前端取消历史数据和趋势数据的"开启内部管家"勾选框

分布式架构:

Zabbix分布式架构,常用于监控主机比较多的情况下,使用Zabbix Proxy进行分布式监控,有效的减轻了Zabbix Server端的压力。

Zabbix Server/Zabbix Proxy配置优化:

Zabbix_Server.conf参数配置调整

StartPollers=20

StartPingers=5

StartPollersUnreachable=10

StartIPMIPollers=5

StartTrappers=3

StartDBSyncers=4

ValueCacheSize=256M

HistoryIndexCacheSize = 64M

TrendCacheSize=64M

HistoryCacheSize=128M

CacheSize=128M

VMwareCacheSize=64M

当Zabbix的Pollers数量过多时(超过limit默认值1024),需要对系统的limit的参数大小进行修改

vi /etc/security/limit.conf

* hard nofile 65536

* soft nofile 65536

* hard nproc 65536

* soft nproc 65536

Zabbix数据库参数:

key_buffer_size=16M

max_allowed_packet=16M

thread_stack=256K

thread_cache_size=32M

max_connections=100

innodb_file_per_table=1

innodb_flush_log_at_trx_commit=2

innodb_log_buffer_size=64M

innodb_buffer_pool_size=1G

innodb_thread_concurrency=8

innodb_log_file_size=512M

根据实际情况调整优化相关参数,并不是将参数调整越大性能越好。

Zabbix监控项优化:

对监控项数据采集方式进行优化,由被动方式改为主动模式(Passive mode -> Active mode),主动模式的优势:

  • 可以用户NAT到设备后面;

  • 数据缓冲;

  • 减轻服务器的负载,Poller轮询零负载;

  • 更加安全,代理端不需要监测任何端口;

  • 降低监控项的轮询时间;

  • 删除无用的监控项;

博客可能不能及时回复问题,技术问题欢迎加入交流;

具有丰富的模板开发和模板资源及项目管理经验分享欢迎加入交流;

微信号:king_songax

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于 Zabbix 6.4 版本的性能优化,以下是一些建议: 1. 硬件优化: - 确保服务器硬件配置满足 Zabbix 的最低要求,并根据实际需求进行适当的升级。 - 考虑使用 SSD 硬盘来提高磁盘读写性能。 - 增加内存以提高系统的响应能力和处理速度。 2. 数据库优化: - 使用性能良好的数据库,如 MySQL 或 PostgreSQL。 - 针对数据库进行优化,如调整数据库缓冲区大小、调整查询缓存等参数。 - 定期清理不必要的历史数据,以减少数据库负载。 3. Zabbix 配置优化: - 避免过度监控,只监控必要的主机和服务。 - 合理配置监控项和触发器,避免冗余和无用的配置。 - 使用合适的数据收集间隔,避免频繁的数据收集造成负载过高。 - 配置合理的事件和告警处理机制,避免过多的事件和告警导致系统负载过高。 4. 网络优化: - 确保网络连接稳定和高速,减少网络延迟和丢包现象。 - 使用合适的网络设备,如交换机和路由器,以满足高负载的需求。 - 合理划分网络子网和 VLAN,以减少无效的网络流量。 5. 高可用性和负载均衡: - 考虑使用 Zabbix 的分布式架构,将监控任务分散到多个节点上,以提高系统的可扩展性和性能。 - 使用负载均衡器来分发请求,避免单点故障和系统瓶颈。 6. 定期维护和监控: - 定期检查 Zabbix 服务器和数据库的运行状态,监控系统资源使用情况,及时发现和解决问题。 - 及时更新 Zabbix 的补丁和升级版本,以获取最新的性能改进和 bug 修复。 这些是一些常见的 Zabbix 性能优化建议,具体优化策略需要根据实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichaelCoCoQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值