解决loki日志http请求过大的报错ResourceExhausted desc = trying to send message larger than max

日志使用的是Loki + Promtail的组合,我们知道loki的请求日志条数默认是100条,但是加上&limit=后,最多可以请求5000条日志,如:

/loki/api/v1/query_range?query={app=%22loki%22}&limit=5000&start=1697857240959000000&end=1697943640959000000

但是,当limit过大时,有可能返回如下报错: 

2 errors: rpc error: code = ResourceExhausted desc = trying to send message larger than max (4953579 vs. 4194304); rpc error: code = ResourceExhausted desc = trying to send message larger than max (4953585 vs. 4194304)

这是由于 gRPC 或类似的 RPC 框架设置了消息大小的上限,以确保系统的稳定性和性能。

因此,可以在Loki的server配置中添加grpc的参数来解决:

    grpc_server_max_recv_msg_size: 104857600
    grpc_server_max_send_msg_size: 104857600

这里限制的大小是100MB,在我的实际测试中,满打满算loki请求最大5000条日志,大约在50MB左右,所以我做了2倍的处理

因为我用的helmchart,在values.yaml里面的server完整如下:

  server:
    http_listen_port: 3100
    grpc_listen_port: 9095
    grpc_server_max_recv_msg_size: 104857600
    grpc_server_max_send_msg_size: 104857600

BTW,记得重启loki服务!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值