使用 https 将 Logstash 输出到 Iothub

Logstash output to Iothub using https

任何使用 IoT 中心作为 logstash 输出的人。我知道有一个插件 logstash-output-iothub 插件可以利用 logstash 发送到 IoT 中心。

output {
  iothub {
    connection_string => "{set your iot hub connection string}"
  }
}

这默认连接到 8883 端口。

8883 在我们的防火墙中被阻止,我想使用端口 443。

如何使用 https 利用此通信?

我可以用这样的东西吗?

output {
  iothub {
    connection_string => "{https://set your iot hub connection string}"
  }
}

查看源代码。根据第 https://github.com/tac0x2a/logstash-output-iothub/blob/efbbd07eb3ddb822acb8f24c92088efc27ebc4e2/lib/logstash/outputs/iothub.rb#L35 行,它似乎已固定为 MQTT。您可以尝试将其更改为通过 Web 套接字 (IotHubClientProtocol.MQTT_WS) 使用 MQTT,并且由于它在幕后使用 Azure IoT SDK,因此 应该 可以工作。基于 Web 套接字的 MQTT 使用端口 443。