官网http 499问题排障

故障说明

之前官网曾出现过一次故障,为了防止故障再次发生,需要对官网服务完善一些监控指标。7.9 号,完善监控指标的过程中,意外发现某服务的 access.log 中持续出现一些状态码为 499 的接口请求。与业务方沟通后确认疑似问题接口为"用户预约接口",通过获取请求关联的手机号,我们抽查了 20 条数据, 2 条在数据库中找不到相关记录,其余 18 条数据最终落库成功。基于此我们推断该故障不止会影响用户体验,而且确实会影响到实际用户注册量。在这里插入图片描述

分析 Root Cause

HTTP 499

An Nginx specific error code, which means that the client closed the connection before the server answered the request, usually caused by client side timeout.

根据 499 http code 的定义,说明是客户端在服务端请求返回前主动断开了连接,由于是客户端行为,再结合近期频繁的安全事件,初始时我们怀疑有人恶意攻击,故意消耗服务端资源。

是否属于恶意攻击?

我们首先找安全同事核查了 WAF 的配置和日志,但并没有收获。后面跟 ops 同事一起梳理了服务的架构,整理出该接口请求的完整链路: 用户 -> WAF -> LB -> Nginx -> pm2 -> nodejs,基于此我们开始分析 499 请求的可能原因。

既然 499 说明用户端主动断开请求,那我们首先要搞清楚的是,用户端断开请求是原因还是结果。

proxy_ignore_client_abort on | off;

Determines whether the connection with a proxied server should be closed when a client closes the connection without waiting for a response.

我们修改了 Nginx 配置 proxy_ignore_client_abort on ,这样即便客户端主动关闭了,Nginx 仍然会等到后端服务的返回。配置生效后,马上接口异常调用的状态码由 499 变成 504 ,而后者是我们很熟悉的服务端异常状态码,只可能出现于 Nginx->

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对排障问题,可以采取以下步骤来解决zookeeper的问题: 1. 检查Zookeeper的客户端最大连接数是否足够。通常,在一个大集群中,对于Zookeeper的访问量会比较大,因此需要增大Zookeeper的客户端最大连接数。 2. 检查Zookeeper服务器的日志,查看Hive应用产生的Znode节点数。如果Znode节点数过多,可能会导致Zookeeper的负载较高,并需要更多的内存。可以使用命令"grep hive_zookeeper_namespace_hive zookeeper-cmf-zookeeper-SERVER-DSJ-RTB-4T-205.log|wc -l"来查看Znode节点数。如果节点数过多,可以考虑优化Hive应用,减少Znode节点数。 3. 检查Zookeeper的内存配置是否足够。对于大型集群,Zookeeper需要更多的内存来处理高负载。建议将Zookeeper的内存调整到4G。 4. 进行ZooKeeper shell巡检,确保Zookeeper的基本功能正常运行。可以使用ZooKeeper shell命令来检查Zookeeper集群的状态、节点信息等。通过巡检,可以及时发现并解决Zookeeper的问题。 通过以上步骤,可以对Zookeeper进行排障解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [大数据运维存档(3)HDFS&ZooKeeper调优与排障](https://blog.csdn.net/qq_36269641/article/details/111737195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值