Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 版本号的度量_Java_Kubernetes_Grafana_Prometheus - Fatal编程技术网

Java 版本号的度量

Java 版本号的度量,java,kubernetes,grafana,prometheus,Java,Kubernetes,Grafana,Prometheus,是否可以向Java系统添加一些指标,以将版本号作为所监视应用程序的字符串返回 我的目标是实现一个仪表板,其中监控Kubernetes集群中Docker容器中运行Java应用程序的每个pod,并查看每个Java应用程序的当前版本 如果不可能,您是否知道如何从Java应用程序中获取该信息并使其在Grafana仪表板中可用?在您的应用程序中,您可以提供使用标签导出(例如版本号或提交/生成哈希)的量表度量,然后将量表的值设置为1 例如,redis\u exporter就是这样导出有关redis实例的信息

是否可以向Java系统添加一些指标,以将版本号作为所监视应用程序的字符串返回

我的目标是实现一个仪表板,其中监控Kubernetes集群中Docker容器中运行Java应用程序的每个pod,并查看每个Java应用程序的当前版本


如果不可能,您是否知道如何从Java应用程序中获取该信息并使其在Grafana仪表板中可用?

在您的应用程序中,您可以提供使用标签导出(例如版本号或提交/生成哈希)的量表度量,然后将量表的值设置为
1

例如,
redis\u exporter
就是这样导出有关redis实例的信息的:

# HELP redis_instance_info Information about the Redis instance
# TYPE redis_instance_info gauge
redis_instance_info{addr="redis://localhost:6379",os="Linux 4.4.0-62-generic x86_64",redis_build_id="687a2a319020fa42",redis_mode="standalone",redis_version="3.0.6",role="master"} 1

您可以看到版本和一些其他属性被导出为度量的标签
redis\u instance\u info

对于Docker容器中的java版本,您的意思是类似于
System.getProperty(“java.version”)
?还是说应用程序本身的版本?如果是第二个,则取决于它是如何构建的。我们个人使用Maven(和Jenkins构建)来实现这一点。如何处理其他我没有实际经验的可构建应用程序。来自的实现版本是否适合您?查看这个问题,了解如何在运行时获取它:您使用的是什么度量收集器?如果您使用的是prometheus java_client(),我认为它会将java版本作为度量公开。(依赖于您的工具来获取度量)()我指的是应用程序版本中的版本号。假设已部署版本1.7.4711。然后我希望能够在仪表板中看到1.7.4711。我将给@Olivier的答案一个旋转。普罗米修斯喜欢返回数字和数字系列,这听起来像是一种解决这个问题的方法。