datastax opscenter posturl.conf 未向 AWS api 网关端点发布警报
datastax opscenter posturl.conf is not posting alerts to an AWS api gateway endpoint
我正在尝试 post Opscenter 向 AWS Api 网关端点发出警报(格式为 https://xxxxxxxx.execute-api.us-east-1.amazonaws.com/opscenteralerts/alerts)。我能够从 flask post 到 api 网关端点 server.I 还尝试 post 将 opscenter 警报发送到另一个 webserver.But 我无法 post 它到 API 网关端点。我已经检查了我的安全组并且 API 端点打开为 well.Am 我遗漏了什么?
下面是 opscenterd.log
中的堆栈跟踪
2017-07-04 18:58:06,651 [opscenterd] ERROR: [Errno 1] Received fatal alert: handshake_failure
File "/usr/share/opscenter/lib/py/twisted/internet/selectreactor.py", line 149, in _doReadOrWrite
why = getattr(selectable, method)()
File "/usr/share/opscenter/lib/py/twisted/internet/legacy_ssl.py", line 645, in doConnect
self._connectDone()
File "/usr/share/opscenter/lib/py/twisted/internet/legacy_ssl.py", line 1182, in _connectDone
self.startTLS(self.ctxFactory)
File "/usr/share/opscenter/lib/py/twisted/internet/legacy_ssl.py", line 542, in startTLS
if LegacyConnection.startTLS(self, ctx, client):
File "/usr/share/opscenter/lib/py/twisted/internet/tcp.py", line 50, in startTLS
self.socket = JConnection(ctx.getContext(), self.socket, False)
File "/usr/share/opscenter/lib/py/JythonSSLWrapper.py", line 88, in __init__
self._wrapped_socket = self._create_client_socket(sock)
File "/usr/share/opscenter/lib/py/JythonSSLWrapper.py", line 107, in _create_client_socket
return self._context.wrap_socket(sock)
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/ssl.py", line 991, in wrap_socket
return SSLSocket(sock=sock, server_side=server_side,
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/ssl.py", line 521, in __init__
self.do_handshake()
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/ssl.py", line 630, in do_handshake
self._sock._handle_channel_future(handshake, "SSL handshake", wait=True)
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/_socket.py", line 365, in handle_exception
raise _map_exception(jlx)
(MainThread)
大多数 API 网关的 SSL 握手错误是由客户端不支持 SNI 引起的。 API 网关需要 SNI,没有它就无法工作。 Opscenter 是否支持 SNI?
我正在尝试 post Opscenter 向 AWS Api 网关端点发出警报(格式为 https://xxxxxxxx.execute-api.us-east-1.amazonaws.com/opscenteralerts/alerts)。我能够从 flask post 到 api 网关端点 server.I 还尝试 post 将 opscenter 警报发送到另一个 webserver.But 我无法 post 它到 API 网关端点。我已经检查了我的安全组并且 API 端点打开为 well.Am 我遗漏了什么?
下面是 opscenterd.log
中的堆栈跟踪2017-07-04 18:58:06,651 [opscenterd] ERROR: [Errno 1] Received fatal alert: handshake_failure
File "/usr/share/opscenter/lib/py/twisted/internet/selectreactor.py", line 149, in _doReadOrWrite
why = getattr(selectable, method)()
File "/usr/share/opscenter/lib/py/twisted/internet/legacy_ssl.py", line 645, in doConnect
self._connectDone()
File "/usr/share/opscenter/lib/py/twisted/internet/legacy_ssl.py", line 1182, in _connectDone
self.startTLS(self.ctxFactory)
File "/usr/share/opscenter/lib/py/twisted/internet/legacy_ssl.py", line 542, in startTLS
if LegacyConnection.startTLS(self, ctx, client):
File "/usr/share/opscenter/lib/py/twisted/internet/tcp.py", line 50, in startTLS
self.socket = JConnection(ctx.getContext(), self.socket, False)
File "/usr/share/opscenter/lib/py/JythonSSLWrapper.py", line 88, in __init__
self._wrapped_socket = self._create_client_socket(sock)
File "/usr/share/opscenter/lib/py/JythonSSLWrapper.py", line 107, in _create_client_socket
return self._context.wrap_socket(sock)
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/ssl.py", line 991, in wrap_socket
return SSLSocket(sock=sock, server_side=server_side,
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/ssl.py", line 521, in __init__
self.do_handshake()
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/ssl.py", line 630, in do_handshake
self._sock._handle_channel_future(handshake, "SSL handshake", wait=True)
File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.9.jar/Lib/_socket.py", line 365, in handle_exception
raise _map_exception(jlx)
(MainThread)
大多数 API 网关的 SSL 握手错误是由客户端不支持 SNI 引起的。 API 网关需要 SNI,没有它就无法工作。 Opscenter 是否支持 SNI?