You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为MassTransit监控指标添加Prometheus静态标签

解决方案

MassTransit.Prometheus 包原生支持在保留默认 UsePrometheusMetrics 扩展方法的前提下,为所有默认指标追加全局静态标签,无需自定义指标,实现方式如下:

配置方式

在 MassTransit 总线配置的 UsePrometheusMetrics 方法中传入配置委托,通过 DefaultTags 属性添加静态标签即可,示例代码(Program.cs):

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddMassTransit(config =>
{
    // 这里替换为你实际使用的传输层实现,如RabbitMQ、Kafka等
    config.UsingRabbitMq((ctx, cfg) =>
    {
        // 其他总线配置、消费者配置等

        // 启用默认Prometheus指标并添加静态标签
        cfg.UsePrometheusMetrics(metricOpts =>
        {
            // 按需添加任意键值对作为全局静态标签
            metricOpts.DefaultTags.Add("service", "order-service");
            metricOpts.DefaultTags.Add("env", "production");
            metricOpts.DefaultTags.Add("cluster_id", "cluster-01");
        });
    });
});

// 其余服务注册、中间件配置逻辑
var app = builder.Build();
app.Run();

验证效果

项目启动后访问Prometheus指标端点(默认路径为/metrics),查看MassTransit默认生成的指标(如masstransit_receive_total、masstransit_consume_duration_seconds等),所有指标都会自动携带你配置的静态标签,同时不会覆盖MassTransit默认添加的message_type、consumer_type等业务标签。

注意:如果配置时找不到DefaultTags属性,请将MassTransit.Prometheus NuGet包升级到v8.0及以上版本,该版本开始原生支持全局静态标签配置。

内容的提问来源于stack exchange,提问作者Ramin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:06:03