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

通过Telegraf将OPC UA模拟服务器数据写入CnosDB遇证书安全策略问题

解决Telegraf OPC UA插件的证书验证问题

问题原因

你的OPC UA模拟服务器启用了Aes128_Sha256_RsaOaep安全策略,该策略要求客户端提供证书和私钥完成身份验证,但当前Telegraf配置未指定相关证书文件,导致连接失败。

解决方案

方案一:使用无安全策略连接(适合测试环境)

如果模拟服务器允许关闭安全验证,直接修改Telegraf的OPC UA插件配置,指定安全模式和策略为None:

[[inputs.opcua]]
  endpoint = "opc.tcp://IvandeMacBook-Pro.local:53530/OPCUA/SimulationServer"
  name = "opcua"
  security_mode = "None"
  security_policy = "None"

修改后重启Telegraf即可尝试连接。

方案二:配置证书和私钥(适配强制安全策略的服务器)

  1. 生成证书和私钥
    用OpenSSL生成符合OPC UA标准的自签名证书和私钥,执行以下命令:
# 生成2048位RSA私钥
openssl genrsa -out private_key.pem 2048
# 创建证书签名请求
openssl req -new -key private_key.pem -out cert.csr
# 生成有效期365天的自签名证书
openssl x509 -req -days 365 -in cert.csr -signkey private_key.pem -out cert.pem
  1. 放置证书文件并设置权限
    将生成的cert.pem和private_key.pem移动到Telegraf的配置目录(如/etc/telegraf/),并确保Telegraf进程拥有读取权限:
mv cert.pem private_key.pem /etc/telegraf/
chown telegraf:telegraf /etc/telegraf/cert.pem /etc/telegraf/private_key.pem
chmod 600 /etc/telegraf/cert.pem /etc/telegraf/private_key.pem
  1. 修改Telegraf配置
    更新OPC UA插件配置,指定证书、私钥路径及对应安全策略:
[[inputs.opcua]]
  endpoint = "opc.tcp://IvandeMacBook-Pro.local:53530/OPCUA/SimulationServer"
  name = "opcua"
  security_mode = "SignAndEncrypt" # 或根据服务器要求选择"Sign"模式
  security_policy = "http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep"
  cert = "/etc/telegraf/cert.pem"
  key = "/etc/telegraf/private_key.pem"
  1. 信任客户端证书
    将生成的cert.pem导入到OPC UA模拟服务器的信任列表中,具体操作需参考你使用的模拟服务器文档(通常是将证书文件复制到服务器指定的信任目录)。

  2. 重启Telegraf服务,验证连接是否成功。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:47:28