如何向PrometheusGauge添加更多信息

我想用 Prometheus 监视在不同命名空间的 Pod 中运行的不同子进程的统计信息,我正在寻找一种方法来正确地公开这些信息。

我想用 Prometheus 监视在不同命名空间的 Pod 中运行的不同子进程的统计信息,我正在寻找一种方法来正确地公开这些信息。

我的集群类似于下面:

cer
├── ns1
│   ├── ns1-pod1
│   │   ├── proc-p1-1
│   │   └── proc-p1-2
│   └── ns1-pod2
│       ├── proc-p2-1
│       └── proc-p2-2
└── ns2
    ├── ns2-pod1
    │   ├── proc-p1-1
    │   └── proc-p1-2
    └── ns2-pod2
        ├── proc-p2-1
        └── proc-p2-2

每个 pod 都使用特定的路由键将其进程的统计信息发布到 RabbitMQ,我可以从那里读取统计信息。

我写了一个导出器,它可以在一个命名空间中连接到 RMQ,读取统计信息并在/metrics上公开它们,以便 Prometheus 可以读取它。

// prometheus go client
var MemoryValue = prometheus.NewGauge(
    prometheus.GaugeOpts{
        Namespace: namespace,
        Name:      "MemoryValue",
        Help:      "MemoryValue",
    })
prometheus.MustRegister(MemoryValue)
MemoryValue.Set(opst.Memory.Value) // "opst.Memory.Value" is what I get from RMQ

问题是我不知道如何为 pod 中的每个进程标记指标。我的意思是,例如,目前我在 ns1 中有 4 个进程,但我将它们全部公开在MemoryValue上。我需要一种类似于Namespace的方法来按 pod 和进程名称标记每个进程 (我有此信息,但如何将它们添加到 Prometheus?)。

1

正如 @ Peter 正确提到的解决方案是使用GaugeVec

var CpuPercentValue = prometheus.NewGaugeVec(
    prometheus.GaugeOpts{
        Namespace: "MyExporter",
        Name:      "CpuPercentValue",
        Help:      "CpuPercentValue",
    },
    []string{
        "namespace",
        "proc_qID",
        "opID",
    },
)
CpuPercentValue.With(prometheus.Labels{"namespace": namespace, "proc_qID": procid, "opID": opid}).Set(opst.CpuPercent.Value)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(259)
Swift和macOS:当应用程序在后台工作时 计时器会延迟工作
上一篇
iOS中的apk是什么
下一篇

相关推荐

  • iosgm手游一款让你玩出无限乐趣的游戏

    iOSGM(iOS Game Maker)是一种用于创建iOS游戏的软件开发工具。它使用简单的图形用户界面(GUI)来帮助开发者快速创建游戏,而无需编写代码。iOSGM主要由三个部分组成:一个地图编辑器,一个角色编辑器和一个游戏引擎。地图编辑器允许开发者创建和编辑游戏地图,以及添加和编辑游戏元素,如NPC,怪物,障碍物,触发器等。…

    2023-02-17 09:07:52
    0 94 30
  • tg中文版下载ios:iOS版Telegram中文客户端下载指南

    tg中文版下载ios的代码如下:…

    2023-03-08 03:52:08
    0 28 96
  • fgo ios加速:如何使用FGO iOS加速提高游戏体验

    FGO iOS加速是一种技术,可以帮助iOS设备更快地运行FGO(Fate/Grand Order)游戏。它使用了一种特殊的代码来改变iOS设备的内部设置,从而提高游戏的性能。…

    2023-05-05 07:03:02
    0 43 39
  • ipogo ios下载:使用IPOGO iOS版本轻松捕捉宝可梦!

    IPOGO是一款iOS应用,可以帮助用户创建和管理自己的个人财务计划。它提供了一系列功能,包括支出跟踪、财务报告、财务分析和计划等。…

    2023-03-14 10:04:43
    0 40 44
  • ios玩rpg探索未知的奇妙世界

    iOS RPG(Role Playing Games)是一种游戏,它们以角色扮演的方式进行游戏。RPG游戏通常包括一个或多个角色,这些角色可以在游戏中探索,解决问题,战斗,获得经验和物品,并最终完成游戏的目标。…

    2023-05-16 10:56:12
    0 25 43
  • ios端rpg游戏拯救世界的旅程

    iOS端RPG游戏是一种角色扮演游戏,它以iOS设备为平台,使用iOS SDK开发。它具有多种游戏玩法,可以让玩家体验到不同的游戏乐趣。…

    2023-04-18 03:28:23
    0 89 96
  • gblive下载ios网址下载iOS版本,让你的直播更加精彩!

    GBLive iOS下载网址:https://itunes.apple.com/cn/app/gblive-%E5%85%A8%E7%90%83%E7%9B%B4%E6%92%AD%E7%9B%B8%E5%AF%B9/id1217502081?mt=8…

    2023-02-28 16:08:30
    0 43 88
  • gta ios免费下载账号获取免费下载账号,一键安装游戏!

    GTA iOS免费下载账号不存在,因为GTA iOS版本是付费的游戏,需要付费才能下载。但是,你可以通过一些第三方应用商店来下载GTA的免费试玩版本,例如TutuApp、TweakBox和AppValley等。你也可以使用App Store的搜索功能,搜索“GTA”,就会出现一些免费试玩版本的应用。…

    2023-01-07 07:13:32
    0 88 75

发表评论

登录 后才能评论

评论列表(55条)