作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个名为 MonitorApp
的 java 应用程序,它在 docker 容器中运行。这个应用程序的目的是执行某些任务,将指标推送到 Pushgateway
并结束。
此 MonitorApp 作为 Kubernetes Cron Job
运行。这意味着在发布矩阵后,它会被杀死,一段时间后会出现一个新实例。
我正在使用 Java Pushgateway
API 来发布矩阵。这是我的示例代码:
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
的目的是处理这种用例。
请建议我该如何处理?
最佳答案
据我了解,您希望在实例的多次运行之间增加一个指标。这是 not the goal of the push gateway :它只会存储您推送的值 - 除了添加/替换指标组外,不会以任何方式聚合它们。
虽然我从未使用过它们,但有使用其他监控堆栈(如 statd)或特定项目(如 pushprom)进行聚合的解决方案.您还可以将运行作为事件推送(例如在 elasticsearch 中)以进一步聚合。
如果它确实是您应用程序监控的敏感部分,我建议您远离 SPOF 解决方案。您可以利用任何(分布式)键/值存储来滚动您自己的指标缓存。
关于java - 将指标推送到 pushgateway 取代旧的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68753082/
我是一名优秀的程序员,十分优秀!