【问题标题】:What gRPC monitoring and metrics for grpc-java should we be using?我们应该使用 grpc-java 的哪些 gRPC 监控和指标?
【发布时间】:2018-02-03 01:01:40
【问题描述】:

我们在生产环境中使用了许多 grpc 通道。一些通道打开然后关闭,许多通道一直保持打开状态。

最近在一个开发项目之后,我们意识到我们正在让一些渠道保持开放而不是关闭它们,直到它成为一个真正的修复麻烦时我们才意识到这一点。

我们希望对连接进行一些监控。

我找到了https://github.com/grpc/grpc-java/blob/master/documentation/monitoring-service-tutorial.md,但上面写着

注意:监控服务需要instrumentation-java 库实现,这些实现仍在开发中。在 Instrumentation-java 实现发布之前,本教程中的步骤将不起作用。

我正在为我们的 grpc 寻找一些简单的监控。比如通道打开、吞吐量、错误计数等基本东西。

只是想知道您的团队在生产中使用什么来监控 grpc java?

【问题讨论】:

  • 您如何定义吞吐量?
  • 每分钟有多少个请求,对于流入和流出流的数据可能会很好。

标签: java performance monitoring grpc grpc-java


【解决方案1】:

您可以使用拦截器获取指标。

java-grpc-prometheus 提供服务器和客户端指标(通道、按方法发送的消息等)

除此之外,您还可以使用 Opentracing spans 检测您的代码,以便更轻松地跟踪和衡量整个交易。

【讨论】:

  • 我听说过 Prometheus(应该提到),但从未听说过开放跟踪扫描。除了 github 有什么可以与我们分享的例子吗?
【解决方案2】:

我有一个 GitHub 项目,用于监控每个 RPC 调用的以下内容:

  1. 服务名称(在 proto 文件中)
  2. 方法名称(在 proto 文件中)
  3. 时间(延迟)
  4. 状态
  5. 网站(客户端/服务器)

它还监控服务器和客户端线程池信息。

https://github.com/asarkar/kotlin/tree/master/grpc-learning

【讨论】:

    猜你喜欢
    • 2021-11-30
    • 2017-12-15
    • 2021-08-31
    • 2021-11-11
    • 2021-04-27
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多