您的位置:首页 > 其它

Zabbix篇五:配置参数优化

2019-01-14 14:39 846 查看

原文链接                                            http://blog.51cto.com/allmrys/2286220

概述:使用zabbix监控服务器已有一段时间,监控的服务器不到100台,发现刷新zabbix页面有卡顿的现象。而且经常报“Zabbix poller processes more than 75% busy”的错误,检查服务器性能还是有保障的,最后发现zabbix_server.conf既然使用的是默认配置(懒得没有底线),zabbix_server.conf的很多配置都没有修改,赶紧脑补了一下,把主要的参数信息优化下。

一、Zabbix服务端的常用参数如下:(参数取值根据服务器配置)

参数 必填 范围 默认值 描述
CacheSize no 128K-8G 8M

缓存大小, 单位字节.
用于存储主机、监控项、触发器数据的共享内存大小.

服务器分配有4G

设置为:CacheSize=256M

CacheUpdateFrequency no 1-3600 60

Zabbix 缓存更新频率, 单位秒.60秒感觉太快了

设置为:CacheUpdateFrequency=180

DebugLevel no 0-5 3

指定调试等级:
0 - Zabxxi进程起停的基本信息
1 - 重要信息
2 - 错误信息
3 - 警告信息
4 - 调试 (产生大量信息)
5 - 扩展调试 (产生更多信息)

HistoryCacheSize no 128K-2G 16M

历史缓存数据大小, 单位字节.
存储历史数据.

设置为:HistoryCacheSize=64M

HistoryIndexCacheSize no 128K-2G 4M 历史索引缓存大小, 单位字节.

用于索引历史缓存中历史数据的共享内存大小.

缓存一个item大概需要索引的大小为100字节.item代表一个监控项,按照100000个监控项来算:100000*100/1024/1024=9.6M

设置为:HistoryIndexCacheSize=10M

HousekeepingFrequency no 0-24 1 Zabbix 执行 housekeeping 的频率 (单位小时).
从数据库中删除过期的信息.
注意: 为了防止 housekeeper 过载 (例如, 当历史和趋势周期大大减小时), 对于每一个item,不会在一个housek周期内删除超过4倍HousekeepingFrequency 的过时信息. 因此, 如果 HousekeepingFrequency 是 1, 一个周期内不会删除超过4小时的过时信息 (starting from the oldest entry) .
StartPollersUnreachable no 0-1000 1 不可达主机 (包括IPMI 和 Java)的轮询器实例数量。
设置为:StartPollersUnreachable=20 占总数20%足够
StartPollers no 0-1000 5

轮询器实例数量。根据具体情况设置大小

设置为:StartPollers=30

StartDiscoverers no 0-250 1

自动发现子进程实例个数。

设置为:StartDiscoverers=5

StartTrappers no 0-1000 5

trappers进程实例数量。
Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入连接。
至少要运行一个trapper进程来显示前端的服务器可用性和视图队列。

设置为:StartTrappers=15

StartVMwareCollectors no 0-250 0 vmware 采集器的子进程实例个数,如果有虚拟机的话,记得开启。
Timeout no 1-30 3

agent, SNMP 设备或外部检查的超时时长(单位秒)。

设置为:Timeout=6

TrendCacheSize no 128K-2G 4M

趋势缓存的大小,单位字节。
用于存储趋势数据的共享内存大小。

设置为:128M

ValueCacheSize no 0,128K-64G 8M 历史数据缓存大小, 单位bytes.
缓存item历史数据请求的共享内存大小.
0即禁止缓存 (不建议).
当缓存大小超过共享内存时,每5分钟会向服务器日志写入一条警告信息.
设置为:ValueCacheSize=128M

 

二、zabbix监控状态情况

Zabbix自带模版监控各工作进程的状态,根据数据收集过程中的性能做分析,适合调整配置参数。

 

 

1、Zabbix cache usage, % free:

                                                                      图一为CacheSize=8M的时候,可用为70%

设置为:CacheSize=256M

设置为:HistoryCacheSize=64M

设置为:HistoryIndexCacheSize=10M

                                       图2为调整CacheSize后,三个触发器可用都在90%以上。

2、 Zabbix data gathering process busy %

                               图3为调整前的配置信息

设置为:StartPollers=30

设置为:StartPollersUnreachable=20

设置为:StartDiscoverers=5

图4为调整后的配置信息,三个触发器占用最大都没有超过50%

4、Zabbix internal process busy %

其中Zabbix busy history syncer processes:写入数据库的同步程序占缓存的百分比在重启服务时占用飙升一会,其他基本正常。

5、Preprocessing为预处理:

使用这个功能可以对item收到的数据行处理,处理之后再存入数据库或展示出来,提高监控的效率,降低了系统负荷,减少网络流量

3.4版本的新功能,如果要用到其他程序上去,需要自己创建item,配合使用。

6、Zabbix服务器性能状态:

其中左侧纵坐标代表通过zabbix服务器每秒处理的值,图形中用绿色表示;

右侧纵坐标代表需要处理写入数据库的列队值,图形中用红色表示。等待列队逐渐增多,说明性能越来越差。

三、Zabbix报错信息处理

1、Zabbix poller processes more than 75% busy:

2、 icmp pinger processes more than 75% busy

3、

zabbix unreachable poller processes more than 75 busy 

4、zabbix的WEB界面刷新卡死

5、数据库连接超出

这类报错比较多,首先检查zabbix-server配置信息

[code]StartPollers、StartDiscoverers、StartPingers、StartPollersUnreachable等等,根据上面的【Zabbix服务端的常用参数】核对下。

然后在检查:

[code]根据服务器性能状态、队列、数据库配置信息

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: