首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将度量标准推送到pushgateway以取代旧的标准。

将度量标准推送到pushgateway以取代旧的标准。
EN

Stack Overflow用户
提问于 2021-08-12 07:12:30
回答 1查看 1K关注 0票数 3

我们有一个名为MonitorApp的java应用程序,它运行在一个docker容器中。这个应用程序的目的是执行某些任务,将度量标准推送到Pushgateway和死掉。

这个MonitorApp作为一个MonitorApp运行--这意味着在发布矩阵之后,它将被杀死,一个新的实例将在一段时间后出现。

我正在使用Pushgateway API来发布矩阵。下面是相同的示例代码:

代码语言:javascript
复制
class MonitorApp {

   public void static main(String args[]) {
       
        List<String> labelKeys = Arrays.asList("key01", "key02");
        List<String> labelValues = Arrays.asList("value01", "value01");

        PushGateway client = new PushGateway("localhost:9091");
        CollectorRegistry registry = CollectorRegistry.defaultRegistry;

        String jobName = "midm_monitor_app";
        String metric = "metrin_name";
        String help = "metric_help";


        Counter counter = Counter.build()
                .name(metric)
                .help(help)
                .labelNames(labelKeys.toArray(new String[0]))
                .register(registry);
        counter.labels(labelValues.toArray(new String[0])).inc();

        client.push(registry,jobName);
     }
}

问题是,我无法增加计数器的值。我无法找到获取前一个计数器值的方法,以便可以增加它。

我读过Pushgateway的目的是处理这种用例。

请建议我该如何处理这件事?

EN

回答 1

Stack Overflow用户

发布于 2021-08-12 12:39:47

据我所知,您希望在多个实例运行之间增加一个度量。这是不是推送网关的目标:它只存储您推送的值--不以任何方式聚合它们,除非添加/替换度量组。

尽管我从未使用过它们,但有一些解决方案可以使用其他监视堆栈(如statd)或特定项目(如推式舞会 )进行聚合。您还可以将运行推送为事件(例如,在elasticsearch中)以进行进一步的聚合。

如果它确实是应用程序监视的敏感部分,我建议您远离SPOF解决方案。您可以利用可供您使用的任何(分布式)密钥/值存储来滚动您自己的度量缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68753082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档