我们应该使用什么gRPC监控和grpc-java指标?

时间:2018-02-03 01:01:41

标签: java performance monitoring grpc grpc-java

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

最近在一个开发项目之后,我们意识到我们正在打开一些渠道而不是关闭它们,直到它成为一个真正的麻烦来解决之前我们没有意识到这一点。

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

我找到https://github.com/grpc/grpc-java/blob/master/documentation/monitoring-service-tutorial.md,但它说

  

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

我正在为我们的grpc寻找一些简单的监控。如渠道开放,吞吐量,错误计算基本的东西。

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

2 个答案:

答案 0 :(得分:2)

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

java-grpc-prometheus提供服务器和客户端指标(渠道,方法消息等)

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

答案 1 :(得分:1)

我有一个GitHub项目,它为每个RPC调用监视以下内容:

  1. 服务名称(如原始文件中一样)
  2. 方法名称(如原始文件中一样)
  3. 时间(延迟)
  4. 状态
  5. 站点(客户/服务器)

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

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