环境
CentOS 6.6,Zabbix 2.4
DB MySQL Galera 集群,带有 3 个节点
mysql-wsrep-server-5.6-5.6.23-25.10.el6.x86_64
galera-3-25.3.10-2.el6.x86_64
错误
[Z3005] query failed: [2006] MySQL server has gone away [select hostid,status from hosts where host='Zabbix server' and status in (0,1) and flags<>2 and proxy_hostid is null]
[Z3005] query failed: [2006] MySQL server has gone away [begin;]
[Z3005] query failed: [2006] MySQL server has gone away [begin;]
我以前经常遇到这种错误,但下面的调整减少了发生频率。我感觉这是由于 haproxy 造成的。
设置
zabbix 通过位于 zabbix 本地的 haproxy 连接到 mysql 服务器,
haproxy 位于 zabbix 服务器上,
一切都在 vmware 下的同一虚拟网络上。同一子网等。
现在,在这种情况下,主机“Zabbix 服务器”不存在。或者我重命名了主机并更改了 IP 等,因此它被称为“DC1 zabbix 服务器”。
haproxy.cfg(宽松的超时设置)
retries 3
timeout queue 45s
timeout connect 60s
timeout client 5m
timeout server 5m
timeout check 30s
maxconn 1020
在 mysql 服务器上
/etc/my.cnf
wait_timeout = 28000
max_allowed_packet = 64M
max_connections = 512
join_buffer_size=300
table_open_cache=2500
innodb_buffer_pool_instances=1
innodb_buffer_pool_size=2G
query_cache_type=1
query_cache_size=128M
zabbix服务器配置文件
CacheSize = 128M
Timeout=30
Timeout=29 (on agent node)
ValueCacheSize=128M
StartPollers=100
StartDBSyncers = 8
相关问题:如果发生此问题并且 zabbix d/c 与 mysql 关联。它会立即重新建立连接而不会丢失监控数据吗?
我已经在 Google 上搜索了很多次,并尝试了几种与此错误相关的解决方案,但问题依然没有解决。我该尝试什么?
谢谢!
答案1
您可能遇到了 Zabbix DB 持久连接问题。还请调整您的 TCP 堆栈 - 请参阅持久连接的提示http://www.slideshare.net/Severalnines/haproxy-mysql-slides
答案2
虽然 max_allowed_packet 在大多数情况下通常都能正常工作。该问题实际上是 Zabbix 数据库连接中的一个错误。
因此要回答这个问题,您必须修补或使用 Zabbix 2.5.0 或更高版本。
答案3
让我们坚持文档并记笔记:
MySQL 服务器已消失错误的最常见原因是服务器超时并关闭了连接。
- 如果 mysqld 收到较大或无序的数据包,则连接将关闭。您可能需要 twick
max_allowed_packet
变量。将其设置为比当前值大一些。 - 运行查询之前您的连接是否关闭了?
- 您能否使用简单的 mysql 客户端连接到指定主机上的 mysql?连接不是问题!查看以下操作是否有效:
mysql -uUSER -pPASS
此外,根据默认设置,客户端会在断开连接时自动重新连接。