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

如何配置Fluentd通过TLS转发数据至MongoDB Atlas?

Fluentd配置TLS连接MongoDB Atlas的正确方式

我希望将Fluentd的数据转发至采用TLS连接的MongoDB Atlas,请问该如何配置Fluentd?我已完成如下配置,但仍未通过TLS连接:

<source>
  @type forward
  port 24224
  bind 0.0.0.0
</source>

<match *.*>
  @type mongo_replset
  replica_set atlas-xxxx

  nodes cluster0-shard-00-00.xxx.mongodb.net:27017

  ...

  <transport tls>
    # 我留空这里想用自签名证书,可行吗?
  </transport>
</match>

另外,我将<transport tls>块留空以使用自签名证书是否可行?


正确配置步骤

  1. 确认依赖插件
    确保已安装fluent-plugin-mongo插件,建议使用最新稳定版,旧版本可能存在TLS兼容问题。

  2. 完善Atlas连接核心参数
    MongoDB Atlas分片集群需要填写全量shard节点,同时补充数据库、认证信息:

<match *.*>
  @type mongo_replset
  replica_set atlas-xxxx
  # 填写所有shard节点,用逗号分隔
  nodes cluster0-shard-00-00.xxx.mongodb.net:27017,cluster0-shard-00-01.xxx.mongodb.net:27017,cluster0-shard-00-02.xxx.mongodb.net:27017
  database 你的数据库名
  collection 你的集合名
  user Atlas控制台创建的数据库用户名
  password 对应数据库用户密码
  ssl true  # 必须显式开启SSL
  1. 正确配置TLS传输验证
    MongoDB Atlas使用公共受信CA签发的证书,无需自签证书,按以下配置TLS块:
<transport tls>
    verify_mode peer  # 强制验证服务器证书合法性,Atlas要求必须开启
    ca_path /etc/ssl/certs/  # Linux系统默认CA证书目录,macOS可改为/etc/ssl/cert.pem
  </transport>
</match>

如果系统默认CA证书无法验证Atlas证书,可手动下载MongoDB官方CA证书(server.pem),然后指定ca_file路径:

<transport tls>
  verify_mode peer
  ca_file /你存放证书的路径/mongodb-server.pem
</transport>
  1. 前置检查项
  • 确认Atlas控制台的Network Access已添加Fluentd所在服务器的IP白名单。
  • 确认数据库用户拥有目标数据库和集合的写入权限。

关于自签名证书的问题

MongoDB Atlas不支持自签名证书,它的服务器证书由公共可信CA签发。留空<transport tls>块的做法不可行,因为Fluentd无法验证服务器证书的合法性,会直接被Atlas的TLS校验拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:45:34