Skip to main content

metric

EventMesh以OpenTelemetry Metrics规范Prometheus 格式公开以下指标,你可以使用这些指标监控EvenMesh集群。

  • EventMesh Runtime Grpc指标
  • EventMesh Runtime HTTP指标
  • EventMesh Runtime TCP指标

Metrics指标详情

Metrics指标类型

EventMesh完全遵循OpenTelemetry Metrics规范,提供Metrics的类型有:

  • Counter
  • Gauge
  • Histogram

更多信息,请参考指标

通用指标

通用指标的Label说明

  • rpc.system:RPC系统类型

    grpc,tcp,http/https

  • rpc.service:服务名称

    EventMeshGrpcServer,EventMeshHTTPServer,EventMeshTCPServer

  • client.protocol.type: 客户端协议类型

    TCP,HTTP,GRPC

  • client.address: 客户端地址

Grpc指标特有的Lable说明

  • net.peer.name: grpc地址
  • net.peer.port: grpc端口

TCP指标特有的Lable说明

  • net.host.name: TCP服务的IP地址
  • net.host.port:TCP服务的端口

通用具体指标

指标类型指标名称单位指标说明
Countereventmesh.general.client.eventmesh.message.num1客户端发送到EventMesh的消息数量
Gaugeeventmesh.general.eventmesh.mq.message.num1EventMesh发送到MQ的消息数量
Gaugeeventmesh.general.mq.eventmesh.message.num1MQ发送到EventMesh的消息数量
Gaugeeventmesh.general.eventmesh.client.message.num1EventMesh发送到客户端的消息数量

Grpc指标

指标名称在代码中是以**.** 作为分隔,在Prometheus中会替换成下划线(_)

Grpc指标的Lable说明

  • net.peer.name: Grpc服务IP地址
  • net.peer.port:Grpc服务端口地址
  • rpc.system: RPC系统, grpc
  • rpc.service: 服务名称,EventMeshGrpcServer

Grpc具体指标

指标类型指标名称单位指标说明
Gaugeeventmesh.grpc.sub.topic.num1Grpc客户端订阅的主题数量
Gaugeeventmesh.grpc.client.eventmesh.tpstpsGrpc客户端发送到EventMesh消息的TPS
Gaugeeventmesh.grpc.eventmesh.client.tpstpsEventMesh发送到Grpc客户端的TPS
Gaugeeventmesh.grpc.eventmesh.mq.tpstpsEventMesh发送到MQ的消息TPS
Gaugeeventmesh.grpc.mq.eventmesh.tpstpsEventMesh消费MQ的消息的TPS
Gaugeeventmesh.grpc.retry.queue.size1重试队列的大小

HTTP指标

HTTP指标的Lable说明

  • http.scheme: HTTP的协议

    https,http

  • http.flavor:HTTP的协议版本

    默认1.1版本

  • net.host.name: HTTP服务的IP地址

  • net.host.port:HTTP服务的端口

  • rpc.system: RPC系统, HTTP

  • rpc.service: 服务名称,EventMeshHTTPServer

HTTP具体指标

指标类型指标名称单位指标说明
Countereventmesh.http.request.discard.num1丢弃的消息数量
Countereventmesh.http.batch.send.message.num1HTTP客户端发送的批量消息数量
Countereventmesh.http.batch.send.message.fail.num1HTTP客户端发送批量消息失败的数量
Countereventmesh.http.batch.send.message.discard.num1HTTP客户端发送批量消息丢弃的数量
Countereventmesh.http.send.message.num1HTTP客户端发送消息数量
Countereventmesh.http.send.message.fail.num1HTTP客户端发送消息失败数量
Countereventmesh.http.reply.message.num1回复消息数量
Countereventmesh.http.reply.message.fail.num1回复消息失败的数量
Countereventmesh.http.push.message.num1HTTP push的消息数量
Countereventmesh.http.push.message.fail.num1HTTP push失败消息数量
Gaugeeventmesh.http.body.decode.cost.avgms消息Body解码平均耗时
Gaugeeventmesh.http.request.tps.maxtpsHTTP 请求最大TPS
Gaugeeventmesh.http.request.tps.avgtpsHTTP 请求的平均TPS
Gaugeeventmesh.http.request.cost.maxmsHTTP处理最大耗时
Gaugeeventmesh.http.request.cost.avgmsHTTP处理平均耗时
Gaugeeventmesh.http.batch.send.message.tps.maxtpsHTTP 发送批量消息最大TPS
Gaugeeventmesh.http.batch.send.message.tps.avgtpsHTTP 发送批量消息平均TPS
Gaugeeventmesh.http.batch.send.message.fail.rate%发送批量消息失败率
Gaugeeventmesh.http.send.message.tps.maxtps发送消息最大的tps
Gaugeeventmesh.http.send.message.tps.avgtps发送消息的平均tps
Gaugeeventmesh.http.send.message.fail.rate%发送消息的失败率
Gaugeeventmesh.http.push.message.tps.maxtpsPush消息的最大TPS
Gaugeeventmesh.http.push.message.tps.avgtpsPush消息的平均TPS
Gaugeeventmesh.http.push.message.fail.rate%Push消息的失败率
Gaugeeventmesh.http.push.latency.maxmsPush消息最大的延迟
Gaugeeventmesh.http.push.latency.avgmsPush消息平均的延迟
Gaugeeventmesh.http.batch.message.queue.size1批量消息处理线程池队列剩余大小
Gaugeeventmesh.http.send.message.queue.size1发送消息处理线程池队列剩余大小
Gaugeeventmesh.http.push.message.queue.size1Push消息处理线程池队列剩余大小
Gaugeeventmesh.http.retry.queue.size1重试队列剩余大小
Gaugeeventmesh.http.batch.send.message.cost.avgms发送批量消息平均耗时
Gaugeeventmesh.http.send.message.cost.avgms发送消息平均耗时
Gaugeeventmesh.http.reply.message.cost.avgms回复消息的平均耗时

TCP指标

TCP指标的Lable说明

  • net.host.name: TCP服务IP地址
  • net.host.port:TCP服务端口地址
  • rpc.system: RPC系统, TCP
  • rpc.service: 服务名称,EventMeshTCPServer

TCP具体指标

指标类型指标名称单位指标说明
Gaugeeventmesh.tcp.connection.num1TCP客户端连接数量
Gaugeeventmesh.tcp.sub.topic.num1TCP客户端订阅的主题数量
Gaugeeventmesh.tcp.client.eventmesh.tpstpsTCP客户端发送到EventMesh的TPS
Gaugeeventmesh.tcp.eventmesh.client.tpstpsEventMesh推送到TCP客户端的TPS
Gaugeeventmesh.tcp.eventmesh.mq.tpstpsEventMesh发送到MQ的TPS
Gaugeeventmesh.tcp.mq.eventmesh.tpstpsMQ推送到EventMesh的TPS
Gaugeeventmesh.tcp.retry.queue.size1TCP重试队列剩余的大小

指标的获取方式

前提条件 在开始之前,请确保满足以下前提条件:

  • 已经安装和配置了 Prometheus 监控系统。
  • 已经部署和运行了 EventMesh 实例。

配置 EventMesh 导出 Prometheus Metrics 为了使 EventMesh 导出 Prometheus Metrics,需要进行以下配置步骤:

  • 在 EventMesh 的启动配置文件eventmesh.properties中,添加以下配置项:

    eventMesh.metrics.plugin=prometheus

    表示使用 Prometheus 导出器。

  • 在prometheus.properties配置文件中配置:

    eventMesh.metrics.prometheus.port=19090

    表示导出器监听的端口号

可视化和分析 Prometheus Metrics 使用 Prometheus 监控系统,您可以将收集的指标数据可视化和分析。通过以下步骤可以实现:

  • 打开 Prometheus Web 界面,通常为 http://prometheus-host:9090prometheus-host 是 Prometheus 实例的主机名或 IP 地址)。
  • 在查询表达式中,输入感兴趣的指标名称或标签,例如 eventmesh_messages_received_total
  • 选择适当的时间范围和聚合函数,点击“Execute”按钮执行查询。
  • Prometheus 将显示查询结果的图表和数值数据,以及其他数据可视化和导出选项。

监控和性能优化 使用 EventMesh 导出的 Prometheus Metrics,您可以实时监控和分析以下关键指标,以进行性能优化和故障排除:

  • 消息发送和接收的数量
  • 消息处理延迟和吞吐量
  • 连接数和连接状态
  • 错误计数和异常情况