Zabbix Server More than 75% used in the configuration cache

1. 告警提示

Zabbix Server :More than 75% used in the configuration cache
当看到 “More than 75% used in the configuration cache” 的警告时,表示 Zabbix 服务器的配置缓存已接近或超过了其最大容量。
在这里插入图片描述

1.1 增加 CacheSize 设置

Zabbix 使用 CacheSize 配置项来控制配置缓存的大小。默认情况下,CacheSize 的值可能不足以处理较大的环境。
编辑 Zabbix 配置文件:

[root@zabbix7 ~]# vi /etc/zabbix/zabbix_server.conf

取消注释并将 CacheSize 的值增加到更大的数字

CacheSize=64M

在这里插入图片描述

1.2 增加 StartDBSyncers 和 DBSyncers 设置

这两个配置项控制数据库同步的工作线程数量。增加这些线程数可以提高数据库的性能,帮助减轻配置缓存的压力。
同样在 /etc/zabbix/zabbix_server.conf 中,修改以下参数:

StartDBSyncers=8

### Zabbix Proxy Last Seen More Than 600 Seconds Ago Solution 当遇到 `Zabbix proxy last seen more than 600 seconds ago` 的问题时,通常是因为 Zabbix ServerZabbix Proxy 之间的通信中断或延迟过高。以下是可能的原因以及解决方案: #### 可能原因分析 1. **网络连接问题**: 如果 Zabbix ServerZabbix Proxy 之间存在网络不稳定的情况,可能会导致超时错误。 2. **配置文件设置不当**: Zabbix Proxy 或 Agent 的配置文件中的参数可能导致性能下降或无法正常同步数据。 3. **资源不足**: 如果 Zabbix Proxy 所运行的主机 CPU、内存或其他硬件资源不足,则会影响其处理能力。 4. **日志记录过多**: 大量的日志记录会占用磁盘空间并降低系统性能。 #### 解决方案 ##### 调整 Timeout 参数 在 `/etc/zabbix/zabbix_proxy.conf` 文件中调整以下参数以优化时间间隔和重试机制: ```ini Timeout=300 StartPollers=20 ``` 上述命令分别设置了请求的最大等待时间和启动轮询器的数量[^1]。 ##### 检查服务状态 确认 Zabbix Proxy 是否正在运行,并尝试重新启动它来清除任何潜在的问题: ```bash systemctl status zabbix-proxy systemctl restart zabbix-proxy ``` 如果仍然存在问题,可以查看服务日志寻找更多线索: ```bash journalctl -u zabbix-proxy -f ``` ##### 修改客户端分配 对于迁移场景下的问题,可以通过更改 Zabbix Server 端 Web 配置将某些 hosts 移动到新的代理上。具体操作如下: - 登录 Zabbix 前端界面; - 导航至 Configuration -> Hosts 页面; - 编辑目标 host 并将其链接到新指定的代理实例[^2]。 ##### 提升硬件规格 评估当前部署环境是否满足官方推荐最低需求标准。如果不符,请考虑升级物理设备或者虚拟机资源配置。 ##### 数据库维护 定期执行数据库清理工作可以帮助保持良好的查询效率。例如删除过期的历史数据表项等。 --- ### 示例脚本:批量更新Host关联Proxy 下面提供一段 Python 脚本来辅助完成大规模 Host 切换任务: ```python import requests from pprint import pprint def update_host(hostid, newproxy_name): url = 'http://your_zabbix_server/api_jsonrpc.php' payload = { "jsonrpc": "2.0", "method": "host.update", "params": {"hostid": str(hostid), "proxy_hostid": get_proxy_id(newproxy_name)}, "auth": "<Your Auth Token>", "id": 1 } response = requests.post(url, json=payload).json() return response['result'] def get_proxy_id(proxyname): # Implement logic to fetch id based on name here... pass if __name__ == "__main__": result = [] for hst in ['example-host-id']: res = update_host(hst,'new-proxy-name') result.append(res) pprint(result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

友人a笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值