寻找调试NIFI后端失败原因的方法。我在Google云端上创建了NIFI群集(版本1.9.0,HDF 3.1.1.4,AMBARI 2.7.3)。创建的HTTPS负载均衡器终止于https前端,后端是启用SSL的NIFI群集的实例组。当我点击负载均衡器的网址时,在浏览器中收到502后端错误。 Google Cloud是否可以记录错误?必须在某处返回错误以排除根本原因。我在nifi日志或虚拟机实例/ var / log / messages中看不到消息。 Stackdriver没有显示错误。我创建了密钥库和信任库,并遵循了NIFI SSL启用说明。它可能与SSL配置有关,或者防火墙规则不正确。但是我正在寻找一些更有用的信息来查找错误。
答案 0 :(得分:1)
如果我对问题的理解正确,那么您正在寻找一种由于后端错误而获取HTTPS负载平衡器日志的方法,并且您的目的是找出根本原因。由于后端服务不健康,负载平衡器基本上会返回502错误或不正常的后端虚拟机。如果启用了堆栈驱动程序日志记录,则可以使用高级过滤器获取此日志,或者可以通过选择负载平衡器名称进行搜索并查找/搜索502:
由于无法连接到后端而针对502个响应的高级过滤器:
resource.type="http_load_balancer"
resource.labels.url_map_name="[URL Map]"
httpRequest.status=502
jsonPayload.statusDetails="failed_to_connect_to_backend"
由于后端超时而对502个响应进行高级过滤:
resource.type="http_load_balancer"
resource.labels.url_map_name="[URL Map]"
httpRequest.status=502
jsonPayload.statusDetails="backend_timeout"
由于过早关闭的连接,可对502个响应进行高级过滤:
resource.type="http_load_balancer"
resource.labels.url_map_name="[URL Map]"
httpRequest.status=502
jsonPayload.statusDetails="backend_connection_closed_before_data_sent_to_client"
URL Map与用于云控制台的HTTP(S)的负载均衡器的名称相同。如果我们手动创建负载均衡器的各个组件,则需要使用URL Map进行高级过滤。
导致“ failed_to_connect_to_backend”最常见的根本原因是:1.防火墙阻止了流量; 2. Web服务器软件未在后端实例上运行; 3. Web服务器软件在后端实例上配置不正确; 4.服务器资源耗尽且不接受连接( CPU使用率过高,无法响应,内存使用率过高,进程被杀死,产生了最大数量的工作人员,所有人员都处于忙碌状态,已建立的TCP连接数达到最大值)。5.在负载或非标准行为下,编写得不好的服务器实现很费劲。
“ backend_timeout”的最常见根本原因是1.后端实例花费的时间比后端服务超时要长,这意味着应用程序过载或后端服务超时设置得太低; 2.后端实例没有。完全不响应(在请求期间崩溃)。
“ backend_connection_closed_before_data_sent_to_client”的最常见根源通常是由于后端实例上运行的Web服务器软件的keepalive配置参数小于GFE的固定(10分钟)keepalive(HTTP空闲)超时引起的。在某些情况下,当GFE仍在发送HTTP请求时,后端可能会过早关闭连接。
答案 1 :(得分:0)
以前的答复是当场。 nifi ssl配置配置错误,导致后端运行状况检查因证书错误而失败。我将打开一个新问题来解决nifi ssl配置。