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

如何为Metricbeat配置AWS RDS MySQL连接的SSL证书参数

问题描述

AWS RDS参数组已开启require_secure_transport=ON,使用Metricbeat MySQL模块采集指标时,即使添加SSL配置仍报错:

ERROR: {"log.level":"error","@timestamp":"2023-12-28T10:58:23.514Z",
"log.origin":{"file.name":"module/wrapper.go","file.line":256},"message":"Error fetching data for metricset mysql.status:Error 3159: Connections using insecure transport are prohibited while --require_secure_transport=ON.","service.name":"metricbeat","ecs.version":"1.6.0"}

初始配置(路径:/etc/metricbeat/modules.d/mysql.yml):

- module: mysql
  metricsets:
    - status
  period: 10s
  hosts: ["tcp(my_rds_endpoint:3306)/"]
  username: my_username
  password: my_password

修改后的配置(仍报错):

- module: mysql
  metricsets:
    - status
  period: 10s
  hosts: ["tcp(my_rds_endpoint:3306)/"]
  username: my_username
  password: my_password
  ssl.enabled: true
  ssl.verification_mode: full
  ssl.certificate_authorities: ["/opt/ssl/global-bundle.pem"]
  logging.level: debug

注:关闭require_secure_transport后模块可正常工作,仅SSL配置存在问题。

解决方案

按以下步骤排查修正:

  1. 确保CA证书权限正确
    检查/opt/ssl/global-bundle.pem的权限,Metricbeat进程需要具备读取该文件的权限:

    chmod 644 /opt/ssl/global-bundle.pem
    chown metricbeat:metricbeat /opt/ssl/global-bundle.pem
    
  2. 显式指定连接字符串的SSL参数
    在hosts连接字符串中添加?tls=true,强制启用SSL连接,避免Metricbeat忽略配置的SSL参数:

    hosts: ["tcp(my_rds_endpoint:3306)/?tls=true"]
    
  3. 添加TLS版本限制(可选但推荐)
    AWS RDS要求使用TLS 1.2及以上版本,在配置中添加ssl.min_version确保兼容性:

    ssl.min_version: TLS1.2
    
  4. 验证证书有效性
    先用MySQL客户端测试SSL连接是否正常,排除证书或网络层面的问题:

    mysql -h my_rds_endpoint -P 3306 -u my_username -p --ssl-ca=/opt/ssl/global-bundle.pem
    

    如果能成功连接,说明证书和RDS侧配置无问题,问题出在Metricbeat配置。

  5. 检查Metricbeat版本
    旧版本Metricbeat对MySQL SSL配置的支持可能存在bug,建议升级到7.17.x或8.x系列的稳定版本。

最终修正后的完整配置示例:

- module: mysql
  metricsets:
    - status
  period: 10s
  hosts: ["tcp(my_rds_endpoint:3306)/?tls=true"]
  username: my_username
  password: my_password
  ssl.enabled: true
  ssl.verification_mode: full
  ssl.certificate_authorities: ["/opt/ssl/global-bundle.pem"]
  ssl.min_version: TLS1.2
  logging.level: debug

配置修改后,重启Metricbeat服务:

systemctl restart metricbeat

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:07:36