ElasticHQ / elasticsearch-HQ

Monitoring and Management Web Application for ElasticSearch instances and clusters.
http://www.elastichq.org
Other
4.96k stars 531 forks source link

error while connecting elastic cluster behind the Proxy #375

Closed chitenderkumar closed 6 years ago

chitenderkumar commented 6 years ago

General information

Issue Description

we are trying to connect to the ElasticSearch cluster which is behind the Nginx Proxy. but while connecting to it from ElasticHq we are getting below error:

`--- Logging error --- Traceback (most recent call last): File "/opt/packages/elasticsearch-HQ/elastichq/service/ConnectionService.py", line 59, in create_connection timeout=REQUEST_TIMEOUT) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/api.py", line 72, in get return request('get', url, params=params, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/api.py", line 58, in request return session.request(method=method, url=url, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/sessions.py", line 508, in request resp = self.send(prep, send_kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/sessions.py", line 618, in send r = adapter.send(request, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/adapters.py", line 440, in send timeout=timeout File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen chunked=chunked) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 346, in _make_request self._validate_conn(conn) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 850, in _validate_conn conn.connect() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connection.py", line 314, in connect cert_reqs=resolve_cert_reqs(self.certreqs), File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/util/ssl.py", line 269, in create_urllib3_context context.options |= options File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) [Previous line repeated 306 more times] RecursionError: maximum recursion depth exceeded

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib64/python3.6/logging/init.py", line 992, in emit msg = self.format(record) File "/usr/lib64/python3.6/logging/init.py", line 838, in format return fmt.format(record) File "/usr/lib64/python3.6/logging/init.py", line 575, in format record.message = record.getMessage() File "/usr/lib64/python3.6/logging/init.py", line 338, in getMessage msg = msg % self.args TypeError: not all arguments converted during string formatting Call stack: File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/greenthread.py", line 218, in main result = function(args, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 781, in process_request proto.init(conn_state, self) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 335, in init self.handle() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 368, in handle self.handle_one_request() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 442, in handle_one_request self.handle_one_response() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 539, in handle_one_response result = self.application(self.environ, start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1997, in call return self.wsgi_app(environ, start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask_socketio/init.py", line 43, in call start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/engineio/middleware.py", line 49, in call return self.wsgi_app(environ, start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request rv = self.dispatch_request() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request return self.view_functions[rule.endpoint](req.view_args) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask_restful/init.py", line 480, in wrapper resp = resource(args, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/views.py", line 84, in view return self.dispatch_request(*args, *kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask_restful/init.py", line 595, in dispatch_request resp = meth(args, kwargs) File "/opt/packages/elasticsearch-HQ/elastichq/common/exceptions.py", line 29, in _request_wrapper return functor(*args, kwargs) File "/opt/packages/elasticsearch-HQ/elastichq/api/clusters.py", line 117, in post fail_on_exception=True) File "/opt/packages/elasticsearch-HQ/elastichq/service/ConnectionService.py", line 96, in create_connection LOG.error(message, ex) Message: 'Unable to create connection to: https://pediatric.innovaccer.com:' Arguments: (RecursionError('maximum recursion depth exceeded',),) --- Logging error --- Traceback (most recent call last): File "/opt/packages/elasticsearch-HQ/elastichq/service/ConnectionService.py", line 59, in create_connection timeout=REQUEST_TIMEOUT) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/api.py", line 72, in get return request('get', url, params=params, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/api.py", line 58, in request return session.request(method=method, url=url, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/sessions.py", line 508, in request resp = self.send(prep, send_kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/sessions.py", line 618, in send r = adapter.send(request, **kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/adapters.py", line 440, in send timeout=timeout File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen chunked=chunked) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 346, in _make_request self._validate_conn(conn) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 850, in _validate_conn conn.connect() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connection.py", line 314, in connect cert_reqs=resolve_cert_reqs(self.certreqs), File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/util/ssl.py", line 269, in create_urllib3_context context.options |= options File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) [Previous line repeated 306 more times] RecursionError: maximum recursion depth exceeded

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib64/python3.6/logging/handlers.py", line 71, in emit if self.shouldRollover(record): File "/usr/lib64/python3.6/logging/handlers.py", line 187, in shouldRollover msg = "%s\n" % self.format(record) File "/usr/lib64/python3.6/logging/init.py", line 838, in format return fmt.format(record) File "/usr/lib64/python3.6/logging/init.py", line 575, in format record.message = record.getMessage() File "/usr/lib64/python3.6/logging/init.py", line 338, in getMessage msg = msg % self.args TypeError: not all arguments converted during string formatting Call stack: File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/greenthread.py", line 218, in main result = function(args, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 781, in process_request proto.init(conn_state, self) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 335, in init self.handle() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 368, in handle self.handle_one_request() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 442, in handle_one_request self.handle_one_response() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/eventlet/wsgi.py", line 539, in handle_one_response result = self.application(self.environ, start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1997, in call return self.wsgi_app(environ, start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask_socketio/init.py", line 43, in call start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/engineio/middleware.py", line 49, in call return self.wsgi_app(environ, start_response) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request rv = self.dispatch_request() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request return self.view_functions[rule.endpoint](req.view_args) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask_restful/init.py", line 480, in wrapper resp = resource(args, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask/views.py", line 84, in view return self.dispatch_request(*args, *kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/flask_restful/init.py", line 595, in dispatch_request resp = meth(args, kwargs) File "/opt/packages/elasticsearch-HQ/elastichq/common/exceptions.py", line 29, in _request_wrapper return functor(*args, *kwargs) File "/opt/packages/elasticsearch-HQ/elastichq/api/clusters.py", line 117, in post fail_on_exception=True) File "/opt/packages/elasticsearch-HQ/elastichq/service/ConnectionService.py", line 96, in create_connection LOG.error(message, ex) Message: 'Unable to create connection to: https://pediatric.innovaccer.com:' Arguments: (RecursionError('maximum recursion depth exceeded',),) 2018-04-17 13:37:14,451 ERROR elastichq exceptions._request_wrapper:37 Oops! Something bad happened. Traceback (most recent call last): File "/opt/packages/elasticsearch-HQ/elastichq/common/exceptions.py", line 29, in _request_wrapper return functor(args, kwargs) File "/opt/packages/elasticsearch-HQ/elastichq/api/clusters.py", line 117, in post fail_on_exception=True) File "/opt/packages/elasticsearch-HQ/elastichq/service/ConnectionService.py", line 97, in create_connection raise ex File "/opt/packages/elasticsearch-HQ/elastichq/service/ConnectionService.py", line 59, in create_connection timeout=REQUEST_TIMEOUT) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/api.py", line 72, in get return request('get', url, params=params, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/api.py", line 58, in request return session.request(method=method, url=url, kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/sessions.py", line 508, in request resp = self.send(prep, send_kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/sessions.py", line 618, in send r = adapter.send(request, **kwargs) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/requests/adapters.py", line 440, in send timeout=timeout File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen chunked=chunked) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 346, in _make_request self._validate_conn(conn) File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connectionpool.py", line 850, in _validate_conn conn.connect() File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/connection.py", line 314, in connect cert_reqs=resolve_cert_reqs(self.certreqs), File "/opt/packages/elasticsearch-HQ/ELASTIC-HQ/lib64/python3.6/site-packages/urllib3/util/ssl.py", line 269, in create_urllib3_context context.options |= options File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) File "/usr/lib64/python3.6/ssl.py", line 465, in options super(SSLContext, SSLContext).options.set(self, value) [Previous line repeated 306 more times] RecursionError: maximum recursion depth exceeded`

Below is the Nginx proxy directive: location /es { auth_basic "ELASTIC AUTH"; auth_basic_user_file /etc/httpd/.htpasswd; rewrite /es/(.*) /$1 break; proxy_pass http://10.0.1.111:9200; }

could you please let us know on this, how we can resolve it.

royrusso commented 6 years ago

ElasticHQ currently does not support SSL. If you need that, create an issue please.