You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zabbix Agent2配置MySQL TLS连接无效,会话名取值求助

Zabbix Agent2 MySQL TLS连接配置问题解决

问题回顾

使用「MySQL by zabbix agent 2」模板配置TLS连接时遇到两个问题:

  • 在{$MYSQL.DSN}中设置tcp://mariadb.fqdn.de:3306/?tls=skip-verify无效果
  • 不清楚/etc/zabbix/zabbix_agent2.d/plugins.d/mysql.conf中Plugins.Mysql.Sessions.*.TLSConnect的会话名格式,修改主机名后配置对应会话名仍无法触发TLS连接,查询performance_schema.threads显示仅为TCP/IP连接

核心问题点

会话名不是主机名,而是对应Zabbix主机宏{$MYSQL.CONN}的值;若未手动设置该宏,插件默认使用Default作为会话名。这是导致配置无效的关键原因。

解决步骤

1. 确认会话名

  • 若已设置主机宏{$MYSQL.CONN},会话名就是该宏的值
  • 若未设置,默认会话名为Default

2. 配置TLS连接(两种方法可选)

方法一:通过{$MYSQL.DSN}宏正确配置

之前的DSN参数格式不符合Zabbix Agent2使用的Go SQL驱动规范,正确格式示例:

tcp://mariadb.fqdn.de:3306?tls=required&tls_skip_verify=1

或针对MariaDB的标准SSL参数格式:

tcp://mariadb.fqdn.de:3306?ssl-mode=REQUIRED&ssl-verify-server-cert=0

说明:tls=required强制启用TLS连接,tls_skip_verify=1跳过证书验证(按需使用)

方法二:通过插件配置文件设置

  • 先在Zabbix主机宏中设置{$MYSQL.CONN}=MariadbProd(替换为你想要的会话名)
  • 编辑/etc/zabbix/zabbix_agent2.d/plugins.d/mysql.conf,添加:
Plugins.Mysql.Sessions.MariadbProd.TLSConnect=required
Plugins.Mysql.Sessions.MariadbProd.TLSSkipVerify=1  # 按需开启跳过验证
  • 重启Zabbix Agent2:
systemctl restart zabbix-agent2

3. 验证TLS连接状态

  • 使用Zabbix Agent2自带命令测试连通性:
zabbix_agent2 -t mysql.ping[{$MYSQL.DSN},{$MYSQL.USER},{$MYSQL.PASSWORD}]
  • 在MySQL/MariaDB端执行查询,确认SSL连接状态:
SELECT id, user, host, ssl_cipher, ssl_version
FROM information_schema.processlist 
WHERE user = 'zbx_monitor';

若ssl_cipher字段不为空,说明TLS连接已生效。

额外检查项

确保MySQL/MariaDB端已开启TLS支持,执行以下命令验证:

SHOW VARIABLES LIKE '%ssl%';

确认have_ssl的值为YES。

内容的提问来源于stack exchange,提问作者Markus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:12:34